LINUX.ORG.RU
ФорумAdmin

Отказоустойчевый кластер, как?


3

4

Доброго времени суток. Прошу помощи или подсказки, в какую сторону копать. Задача: Из нескольких компов, возможно даже с разными конфигурациями собрать «отказоустойчивый» кластер. Главно особенностью должно быть,то что все компьютеры должны работать !параллельно. Не в плане что запустил одно приложение на главной машине и он пользуется мощностями остальных, А запустив приложение на 1 оно запускается на 2,3,... и работате как зеркала, выполняя все абсолютно оданаковы действия. И если один из компов упадет, остальные продолжат работать, как будто ничего не произошло. Тоесть не должно быть какого-то ведущего и ведомых машин. Буду благодарен любой помощи.



Последнее исправление: z3r0s (всего исправлений: 1)

Ответ на: комментарий от MikeDM

Тз никогда не писал, но попробую. Есть несколько виртуальных машин(50-100), которые должны работать непрерывно. Если вдруг одна из физических машин упадет, это никак не должно повлиять на работу виртуальных машин. Тоесть не суммарная мощность всех физ компов отдается на растерзание этим виртуалка, а все виртуалки крутятся параллельно на всех физ компах. Такое вообще реально?

z3r0s
() автор топика
Ответ на: комментарий от z3r0s

Да, необходимо СХД. Лучше несколько для отказоустойчивости из которых собрать рейды и отдать под диски виртуальных машин.

petav ★★★★★
()
Ответ на: комментарий от z3r0s

Такое вообще реально?

Ты только что изобрел VMware vSphere.

zgen ★★★★★
()

подобных решений достаточно много, и насколько я понял задачу тут может помочь это http://www.openstack.org ну или proxmox.

Komintern ★★★★★
()
Ответ на: комментарий от zgen

zgen, я про решения «из коробки» в последнюю очередь думаю.

petav ★★★★★
()
Ответ на: комментарий от z3r0s

просто крутить много ВМ может очень много разных решений. держать их всех синхронизированными может vmware FT, с ограничением на синхронизацию только двух ВМ, с ограниченным кол-вом памяти и одним виртуальным процессором. Так чтоб множество ВМ были одновременно в lock-step слишком сложно для FT.

я потому и спросил насчет конкретной аппликации - некоторые из них умеют работать в active-active кластере, что, возможно, позволит решить задачу.

dyasny ★★★★★
()
Ответ на: комментарий от dyasny

Все бы хорошо, но vmware слишком дорог. Может есть какие-нибудь бесплатные, или менее дорогие решения.

z3r0s
() автор топика
Ответ на: комментарий от z3r0s

KVM + pacemaker + разделяемое хранилище. Или коробочные решения, типа proxmox.

P.S.: Я не знаю что у Вас за задача, что за сервера, что за бюджет. Еще DRBD как разделяемое хранилище можно использовать, но это только для кластера из двух нод.

petav ★★★★★
()
Последнее исправление: petav (всего исправлений: 1)

судя по тз - ман беовульф

bk_ ★★
()
Ответ на: комментарий от petav

из того что можно использовать в production?

хотя, если честно, FT - слабоват для нормальной работы, слишком много ограничений

dyasny ★★★★★
()
Ответ на: комментарий от z3r0s

ответа я видимо не дождусь...

полная синхронизация, это когда состояние памяти (и дисков, если это не один диск на всех), постоянно синхронизируется, как бы постоянная живая миграция из одной ВМ в остальные, без переключения.

а/а кластер это проще, но не любая аппликация это умеет, a/p проще и универсальнее, но будет какой-то небольшой даунтайм.

поэтому вопрос - что _конкретно_ надо защитить?

dyasny ★★★★★
()
Ответ на: комментарий от dyasny

из того что можно использовать в production?

Я не уловил сути? Вы имеете виду что ни чего кроме vmware не годится для использования в production?

petav ★★★★★
()
Ответ на: комментарий от dyasny

полная синхронизация, это когда состояние памяти (и дисков, если это не один диск на всех), постоянно синхронизируется, как бы постоянная живая миграция из одной ВМ в остальные, без переключения.

А можно поподробнее этот момент. Как это «постоянно синхронизируется, как бы постоянная живая миграция»?

petav ★★★★★
()
Ответ на: комментарий от petav

Как это «постоянно синхронизируется, как бы постоянная живая миграция»?

Представьте, что у вас есть сервер на котором работают 100500 пользователей. И вдруг этот сервер падает.

Хочется, чтобы 100500 пользователей этого вообще не заметили. Как?

OK. Разделяемое хранилище. И что? Экземпляр VM падает, вся текущая (не сохраненная) работа теряется. Конечно, другой хост может стартануть VM с разделяемого хранилища, но это будет обычный себе downtime.

Тут же, на другом хосте одновременно с основной запускается еще одна копия VM, в которую постоянно прибывают все изменения в ОЗУ (читай master-slave), при краше основной VM резервная просто переходит в статус master, на момент X она является полной копией основной, включая текущее наполнение ОЗУ как будто ничего и не падало.

Просто чел слишком хитро выражается.

zgen ★★★★★
()
Ответ на: комментарий от zgen

Это я себе представляю, пока не представляю как второй вариант реализовывается кроме проприетарных продуктов. Не подкинете направление, на почитать. В pacemaker это все можно заскриптовать!?

petav ★★★★★
()
Последнее исправление: petav (всего исправлений: 2)
Ответ на: комментарий от zgen

Все в точности как вы и написали. Задача реализовать именно такую «отказоустойчивую» систему. Небольшой даунтайм(до несокльких секунд) между падением и подменой, возможн. Вот только как это реализовать?

z3r0s
() автор топика
Ответ на: комментарий от petav

FT - единственное что хоть отдаленно стабильно и оттестировано. Я бы это не использовал, но если ограничения и цена не смущают, то кто-то наверное все таки пользуется

dyasny ★★★★★
()
Ответ на: комментарий от z3r0s

самое простое - любая система виртуализации умеющая HA, или HA кластеры с VM как защищенный сервис. Будут нюансы, но вы все никак не расскажете что конкретно пытаетесь защитить от отказов.

dyasny ★★★★★
()
Ответ на: комментарий от z3r0s

Если в таком контексте, то выше даны ответы мной и dyasny.

petav ★★★★★
()
Ответ на: комментарий от z3r0s

бесплатно? xen вам в зубы и напильник.

zgen ★★★★★
()
Ответ на: комментарий от dyasny

Защитить необходимо поток данных, идущих с/на вирт машины, от обрыва (причем задержка на востановление после обрыва в 5-15 сек не критична). со стабильностью электропитания и интернетом все проще. остается только вопрос софта.

z3r0s
() автор топика
Ответ на: комментарий от petav

Это вопрос? я прекрасно понимаю, что хочу. обрыв данных может быть из за внешних факторов, таких как электричество, интернет, наводнение,... и внутренних, программных. Вот по поводу способа, как на 100% избавиться от последних и ведется данная беседа.

z3r0s
() автор топика
Ответ на: комментарий от z3r0s

У Вас тема обширнее чем Вы ее представили. Естественно существуют способы реализации, что Вам нужно (по моим догадкам), но это будет стык технологий и серьезная системная интеграция.

Допускаю вариант, что я не верно Вас понял и все намного проще.

petav ★★★★★
()
Ответ на: комментарий от z3r0s

Защитить необходимо поток данных, идущих с/на вирт машины, от обрыва

что это за данные, какие объемы, какой формат, какие скорости и задержки - «поток данных» может быть и сервер толкающий интернет радио, и нода MRG, разница огромная

причем задержка на востановление после обрыва в 5-15 сек не критична

фейловер это запуск упавшей ВМ на другой ноде, что обычно займет немного дольше. плюс время на отработку SBA, я бы взял 3-5 минут на фейловер как минимум. фейловер кластер на уровне аппликации будет быстрее, но для того чтоб советовать надо знать о какой аппликации идет речь. далеко не все можно эффективно кластеризовать

dyasny ★★★★★
()
Ответ на: комментарий от tazhate

добавлю еще в список xen и kemari. это такой vmware FT только opensource. Правда год назад, когда я его тыкал он не очень то работал, может чего и поменялось с тех пор. народ там активно смотрел в сторону infiniband

koshk0der
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.