Страница 1 из 1
Создание отказоустойчивого кластера
Добавлено: 2008-01-15 16:56:24
KaMa-CyTpA
Есть сервер с двумя гигабитными сетевыми картами.
Водрузил на него FreeNAS - раздал по iSCSI.
Поставил ещё два сервера - FreeBSD x64.
Хочу эти два сервера подключить по iSCSI к "хранилке" и создать отказоустойчивый кластер, водрузив на кластер PostgreSQL.
Сетевые карты на серверах тоже гигабитные.
Как в сети сделать кластер я нашёл -
http://www.opennet.ru/base/sys/bsd_cluster.txt.html
Ну это вычислительный кластер.
А вот как сделать отказоустойчивый, да ещё на него PostgreSQL поставить - не могу найти.
Если кто-то знает - плиз помогите кто чем может.
Заранее благодарен.
Re: Создание отказоустойчивого кластера
Добавлено: 2008-01-17 0:32:35
paix
Не плохо бы услышать исходную задачу...а то у меня закрадуется впечатление что вы идете не совсем по оптимальному пути...
Re: Создание отказоустойчивого кластера
Добавлено: 2008-01-17 1:23:18
KaMa-CyTpA
Вообще я хочу перевсти контору на OpenSource - файл-серверы ,мыльник, веб и прокси я уже перевёл на FreeBSD.
Рабочие станции тоже можно перевести на OpenSUSE 10.3 - мне она понравилась.
Контроллер домена пока ещё на 2003, но благодаря статьям на сайте Лисяры, собираюсь и его тоже переводить на FreeBSD.
Останавливает от полного перехода один только сервер БД - небезызвестный всем M$SQL на котором крутится БД 1С 7.7
Будем переходить на 8.1 - она поддерживает постгрей, так вот я уже сейчас хочу просчитать систему высокой доступности и отказоустойчивости.
Сервера с БД под FreeBSD поставить не получится потому что серверная часть 1С только под Linux сделана
Вот и сижу ломаю голову как сделать кластер и производительным (два сервера чтобы обрабатывали запросы) и отказоустойчивым - чтобы если один сервер и умер - то пользователи увидели бы только понижение произвоительности а не отсутствие БД.
Вот такая задача...
Re: Создание отказоустойчивого кластера
Добавлено: 2008-01-17 1:45:27
Alex Keda
какое допустимое время простоя 1с?
Re: Создание отказоустойчивого кластера
Добавлено: 2008-01-17 9:24:47
KaMa-CyTpA
Я думал что можно вообще чтобы никто ничего не заметил так сказать...
Нашёл сайт -
http://www.linuxvirtualserver.org/HighAvailability.html
Тут написано как сделать. Тоьлко не полностью разобрался.
А ещё нашёл сайт про постгрей -
http://pgfoundry.org/projects/pgcluster/
Только надо выработать нормальную концепцию.
Имеется свич гигабитный на 10 портов - вот и думаю воткнуть туда всю эту кашу и аплинками гигабитными с пользовательских свичей - у меня их 4, и в каждом имеется гигабитный разъём.
Или снова не то что-то несу? Вы простите меня за неправильное объяснение.
Re: Создание отказоустойчивого кластера
Добавлено: 2008-01-17 12:40:53
paix
KaMa-CyTpA писал(а):
Останавливает от полного перехода один только сервер БД - небезызвестный всем M$SQL на котором крутится БД 1С 7.7
Будем переходить на 8.1 - она поддерживает постгрей, так вот я уже сейчас хочу просчитать систему высокой доступности и отказоустойчивости.
Сервера с БД под FreeBSD поставить не получится потому что серверная часть 1С только под Linux сделана
Вообщем как я понял, вам нужно 1С+БД перевести на фрее\линукс.
1) используйте то что лучше знаеете(фрее vs линукс). Все оно похожее. На фрее афаик также подымается 1С хоть и с костылями.
2) сначала просто перейдите, вопросы отказоустойчивости в данном случае дело второстепенное. От простого к сложному. Делая сразу сложную систему рискуете потерять много времени и нервов.
3) немного про отказоустойчивость. Та схема что вы написали в первом посте (фреенас сервер + 2 фреебсд х64) как по мне вообще чтопопало. В Базах данных - основная нагрузка - винты. Поэтому вам нужно 1 сервер под БД но хороший. На этом сервере апаратный(!) рейд с SAS\SCSI винтами! Сделать хранилище на френасе с его софтовым рейдом еще и по сети...время отклика представляете???
Значит дальше, на этот сервер с рейдом и хорошими винтами ставим БД.
Тут два варианта.
а) если с железом напряг, то 1С + БД можно сделать на одном сервере.
б) если есть еще машины, то 1С можно вынести на отдельный сервер, а на другом сделать БД.
насколько я помню первый ваш пост, то дополнительное железо у вас есть, поэтому буду расказывать про второй вариант.
БД постгрес живет на выделенном сервере c хорошими винтами и рейдом. Под фрее постгрес работает немного быстрее даже чем на линухе, тут, помойму, выбор однозначен - фрее. Если памяти до 4Г - ставим i386 фрю, если больше и планируется прирост - ставим x64 (ее ценность именно в возможности работать с большими обьемами памяти).
Вторым шагом поднимаем 1С - (это вообще отдельная тема) и указываем ей использовать на БД сервер.
Собственно все, уже все будет работать весьма цивильно! но, если пойти дальше, то смотрим в сторону БД кластеризации. (Вы правильно думаете в сторону пжкластер или подобных вещей.) Но, как минимум, вам нужно настроить репликацию. Т.е. у вас будет еще один воторй БД сервер, на который будет вся информации дублироваться.
В случае отказа первого сервера - переключаемся на второй. (как это сделать вопрос отдельный, всякие pgclusters для этого и предназначены).
Вообщем думаю для начала достаточно

А дальше по ходу дела.... Также плз отпишитесь о результатах, весьма интересно

Re: Создание отказоустойчивого кластера
Добавлено: 2008-01-17 13:18:07
KaMa-CyTpA
Спасибо огромное за систематизацию!
Хоть понял с чего начинать.
А по поводу железки на FreeNAS - у меня очень мощное хранилище данных с аппаратным RAID на SAS дисках.
Я его для этого и взял.
Или может тогда на него и поставить FreeBSD с PostgreSQL?
Но там удар сделан не на высокоскоростные процессоры а на отказоустойчивость.
Там даже память в зеркале стоит.
А сервера как раз квады стоят на 1333 шине и по 4 гига на каждом.
Всё равно - огромное спасибо!
Буду начинать делать.
Re: Создание отказоустойчивого кластера
Добавлено: 2008-01-17 16:05:15
paix
KaMa-CyTpA писал(а):
А по поводу железки на FreeNAS - у меня очень мощное хранилище данных с аппаратным RAID на SAS дисках.
Или может тогда на него и поставить FreeBSD с PostgreSQL?
Но там удар сделан не на высокоскоростные процессоры а на отказоустойчивость.
Там даже память в зеркале стоит.
А сервера как раз квады стоят на 1333 шине и по 4 гига на каждом.
Я бы попробовал поставить туда Фрее, и на ней уже сделать постгрес БД.
Во всяком случае
1) Ваша база данных будет
много шустрее чем в случае использования сетевого хранилища
2) Экономится рабочая машина Т.е. вместо архитектуры (Постгрес машина --- стевое хранилище с постгрес базой) у вас будет задействована только одна машина. На вторую машину можно будет поставить аналогично постгрес ДБ и сделать мастер-слейв репликацию! Это имхо намного более отказоустойчиво! Т.к. используются две базы данных на разных серверах. А в вашем случае использования одного НАС хранилища, что прикажете делать если данные на нем повредятся?(ну например операцию неправильную выполнили или 1С глюкнул?)
Опять же если у вас одно хранилище, но два сервера постгрес работающие с единым хранилищем, как прикажите постгресам делить это хранилище?

В этом варианте вы сами рубити сук, на котором сидите, хотя я не уверен что постгресы даже нормально заведутся таким макаром.
Вообщем: железка мощная, клевая (на которой фреенас) - ее отдать под Мастер БД., в последствии поднять слейв на другой машине и делать туда репликацию,+ вести бинглоги, чтобы вы всеглда могли откатиться на нужный момент. На мастере бинлоги не вести чтобы не тормозить дисковую подсистему. + Руководство думаю оценит возможность отката базы в любой момент на нужную дату
Когда будут две машины, то покурить в сторону постгрес-кластеризации и потестировать варианты выпадания одного из серверов. Хотя признаться честно, я далеко не уверен, что сам 1С является стабильней постгреса

Постгрес очень вылизанная штука, по экспертным оценками количество ошибок на единицу кода в нем гораздо меньше чем даже в ядрах фреебсд и линукса темболее.
PS. скажите пожалуйста, это у вас такая организация здоровая, что вы с кластеризацией и отказоуйсточивостью заморачиваетесь? или просто гос контора и почему бы не получить опыт?
Кстати, i386 шустрее х64. Если на тех тазиках наращивание памяти не предвидется, то можно подумать об инстале и386 (правда возможно прийдется поплясать чтобы все 4г рама завести)
Re: Создание отказоустойчивого кластера
Добавлено: 2008-01-17 16:22:52
Alex Keda
paix писал(а):Кстати, i386 шустрее х64.
тесты в студию?
Re: Создание отказоустойчивого кластера
Добавлено: 2008-01-17 16:39:03
paix
lissyara писал(а):paix писал(а):Кстати, i386 шустрее х64.
тесты в студию?
извиняюсь, забыл добавить "имхо" или "афаик"

тестов нет, мнение основывается на общении с людьми.(подробнее можно поискать в архивах uafug на предмет amd64 vs i386)
Также, все зависит от конкретного применения. Из тех же источников мускиль, например, на амд64 медленней, но выигрывает если большие базы данных(более 4Г), в компетентности людей у меня нет причин сомневаться, давно общаюсь.
Кстати гугл много чего интересного говорит по этому запросу, навскидку
http://www.posix.ru/system/test_bsd62-vs-32/
ИМХО, лучшее решение - поставить конкретное приложение на амд64 и и386 и протестировать производительность приложения под этими платформами. Тогда можно судить более конкретно.
PS. спасибо что заставили задуматься о неоднозначности

Сам нарыл кой чего интересного. Также если имееются ваши тесты - будем, так сказать, рады заценить.
Re: Создание отказоустойчивого кластера
Добавлено: 2008-01-17 16:50:59
Alex Keda
задумываться - это всегда хорошо

Re: Создание отказоустойчивого кластера
Добавлено: 2008-01-18 21:13:55
KaMa-CyTpA
Контора частная. Торгуем компами. Простой весьма накладен. Поэтому вопрос "одной железкой меньше" отпадает - босс прекрасно понимает что если надо - то надо.
Я ещё не до конца понял новую 1С 8.1 - там трёхсекционная вроде вещь сделана - то етсь отдельно база (она одна) отдельно серверная часть (вот их как раз много можно) и отдельно клиентская часть.
Так вот я думаю что всё-таки сервера должны быть мощными.
Надо курить.
И кстати, я чего-то не понял - i386 чтоли шустрее для постгрея?
Я специально FreeBSD заказал под AMD64 - разве прироста вообще никакого???
Re: Создание отказоустойчивого кластера
Добавлено: 2008-01-18 22:13:58
Alex Keda
как сказал один товарисч, зависит от задачи.
на днях в рассылке фряшной видел тесты форвардинга пакетов файрволлом.
так вот амд порвал интелов как тузик - с отрывом в 1.7-4(!) раза...
первый помоему от ксенона, второй от пенька Д. Корки посерёдке...
так что - надо изучать тему.
а вот что не медленней - полюбому должно быть

Re: Создание отказоустойчивого кластера
Добавлено: 2008-01-19 11:21:56
KaMa-CyTpA
Снова непонятно как объясняю. Простите меня пожалуйста.
Сервера то у меня на зеонах квад интел.
Но они ведь х64.
И я заказал не сервера (простите ещё раз) а операционную систему FreeBSD х64.
Короче, воду просто лью. У меня сейчас ремонт идёт в офисе - только вот из дома могу выходить в интернет.
Думаю через неделю закончат - и я сразу начну этот опыт ставить.
Обязательно отпишусь что и как устанавливал и в какой последовательности.
Хотя все мои познания во FreeBSD - всё равно благодаря господину Лисяре и созданному им сайту.
Re: Создание отказоустойчивого кластера
Добавлено: 2008-01-20 12:05:33
Stranger2904
>Обязательно отпишусь что и как устанавливал и в какой последовательности.
Угу, будет оччччень интересно почитать про установку,настройку, тюнинг и т.д.(хотябы вкратце) 1с-postgreSQL на freebsd, кстати какая версия 6.3 ?
Просто мне тоже где-то через неделю две предстоит что-то подобное и я пока прочитав все пришел к неутешительным выводам.
-Нормально работать эта спец 1с версия постгреса будет работать только на федоре или РХЕЛ.
-т.к. freebsd использует ufs в качестве файловой системы и за счет заторможенности дисковой подсистемы 6.х, то результаты будут много хуже чем на linux(в это правдо слабо верится).
И кстати как правильно расчитать требуемую память, кол-во и производительность камушков ?
Re: Создание отказоустойчивого кластера
Добавлено: 2008-01-21 2:58:17
paix
Stranger2904 писал(а):
-т.к. freebsd использует ufs в качестве файловой системы и за счет заторможенности дисковой подсистемы 6.х, то результаты будут много хуже чем на linux(в это правдо слабо верится).
тесты в студию
2
KaMa-CyTpA извините что налил воды поповду amd64 vs i386

Проясняю - производительность зависит от конекретных задач и приложений.
+ если на тазик имеет больше чем 4 разьема под память, или в нем используется больше чем 4Г памяти(или есть такая возможность) - используйте амд64 и не задымывайтесь )
если до 4Г рама (и больше не влезет), то имхо и386.
Re: Создание отказоустойчивого кластера
Добавлено: 2008-01-21 8:41:10
Гость
Re: Создание отказоустойчивого кластера
Добавлено: 2008-01-21 9:57:23
Alex Keda
и?
Это оторванные от реальности тесты...
Которые дают общее предстваление - но не более того.
Из того что реально - юзал файлопомойку на 100 юзеров - причём у них там было всё - с профиля перенесены локалсеттинги, данные приложение - почти всё - в профиле не было ничего
вначале оно было на райзере, потом на UFS2
Нет разницы... Никакой...
А в отрыве отреальности - мона натестить чё угодно...
Re: Создание отказоустойчивого кластера
Добавлено: 2008-01-29 0:58:05
Stranger2904
KaMa-CyTpA писал(а):Есть сервер с двумя гигабитными сетевыми картами.
Водрузил на него FreeNAS - раздал по iSCSI.
Поставил ещё два сервера - FreeBSD x64.
Хочу эти два сервера подключить по iSCSI к "хранилке" и создать отказоустойчивый кластер, водрузив на кластер PostgreSQL.
Сетевые карты на серверах тоже гигабитные.
Как в сети сделать кластер я нашёл -
http://www.opennet.ru/base/sys/bsd_cluster.txt.html
Ну это вычислительный кластер.
А вот как сделать отказоустойчивый, да ещё на него PostgreSQL поставить - не могу найти.
Если кто-то знает - плиз помогите кто чем может.
Заранее благодарен.
Хотел узнать как успехи ? Особенно интересует этап установки постгрея
Re: Создание отказоустойчивого кластера
Добавлено: 2008-01-29 10:33:10
princeps
Да, господа, напишите про результаты. Общественность интересуется.
Полгода назад надо было 1С ставить, долго думали, рядили, в итоге поставили его на Windows Server 2003+MS SQL Server 2005. Весь проект вышел в три раза дороже, чем с юниксовым вариантом, но дилеры 1С категорически отказались гарантировать надежность юниксовой версии. Типа, мы знаем 1С надо пару лет подождать пока их продукт по-человечески заработает. Я заставил их запустить пробный вариант, по их словам сервер 1С завис через 10 минут работы. Такие вот дела.
Re: Создание отказоустойчивого кластера
Добавлено: 2008-01-29 12:44:56
paix
princeps писал(а):Да, господа, напишите про результаты. Общественность интересуется.
Полгода назад надо было 1С ставить, долго думали, рядили, в итоге поставили его на Windows Server 2003+MS SQL Server 2005. Весь проект вышел в три раза дороже, чем с юниксовым вариантом, но дилеры 1С категорически отказались гарантировать надежность юниксовой версии. Типа, мы знаем 1С надо пару лет подождать пока их продукт по-человечески заработает. Я заставил их запустить пробный вариант, по их словам сервер 1С завис через 10 минут работы. Такие вот дела.
каждый добивается чего хочет.
К советам дилеров, не знакомых с юникс, не сильно стоит прислушиваться.
да, вариант с вин гораздо более опробованный, но тем не менее юзают успешно 1С и под юнихом.