хорошие решения для аварийного переключения / высокой доступности для Linux? [закрыто]

9

У меня есть несколько случаев, когда мне нужно перенести приложения с одного сервера на другой в случае сбоя (зависание или сбой сервера).

На Солярисе мы делаем это с VCS (Veritas Cluster Server). Какие варианты доступны для Linux?

Пожалуйста, укажите уровень усилий для установки / обслуживания или стоимость (если таковые имеются) для каждого.

- Более подробная информация добавлена ​​-

Чтобы дать представление об уровне сложности:

  • отказавший сервер может зависнуть или аварийно завершить работу без предварительного уведомления, но все еще может быть «ping-способен»
  • сервер восстановления должен запускать свои приложения при сбое
  • после сбоя сервера при загрузке / выключении питания он становится пассивным, чтобы не мешать серверу восстановления.

Это узел сбора или вычисления данных, а не база данных, поэтому могут работать более простые решения.

- еще больше деталей (извините) -

общее хранилище не вариант, но не требуется много состояния (если таковое имеется) для миграции с одного сервера на другой. Мы синхронизируем два сервера через rsync.

Большое спасибо за все сообщения до сих пор.

ericslaw
источник

Ответы:

10

http://linux-ha.org/ для всех ваших потребностей высокой доступности. Как говорится в песне, лучшие вещи в жизни бесплатны.

ombble
источник
Вы можете порекомендовать хорошую книгу?
SLF
4

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

Кластерный сервер Veritas (VCS). Это было некоторое время, но мы развернули несколько кластеров Linux VCS на RHEL 3.0. Я надеюсь, что он доступен на RHEL 5.0. Вы должны быть знакомы с трудностями в настройке этого, как его знакомой территории. Как вы, наверное, знаете, VCS стоит дорого. Кстати, VCS не очень подходит для настройки управления конфигурацией.

Говоря о RHEL, Red Hat Cluster Suite сильно повзрослел с момента его первоначального выпуска с RHEL 2.1. Этап настройки / настройки довольно прост, документация очень полная и полезная, и, как и VCS, вы можете приобрести поддержку у поставщика. Для коммерческих продуктов HA, RHCS по разумной цене. Я бы использовал управление конфигурацией только для установки пакетов и обслуживания их «вручную» через веб-интерфейс. Кроме того, я слышал о некоторых людях, использующих его на платформах, отличных от Red Hat, хотя у меня нет опыта в этом напрямую.

Linux-HA (drbd / heartbeat) также великолепен, хотя, исходя из VCS, конфигурация может показаться упрощенной, но громоздкой. Это довольно легко автоматизировать с помощью инструмента управления конфигурацией.

В качестве подтверждения концепции я установил кластер Linux с HACMP от IBM - их программным обеспечением для кластеризации AIX. Я не рекомендовал бы это, поскольку я помню, это дороже, чем даже VCS. У IBM есть определенные процедуры для установки и поддержки HACMP, я бы не стал здесь использовать управление конфигурацией.

jtimberman
источник
4

Майкл прав, что сообщество сейчас немного расколото, и документации немного.

На самом деле, все это есть, просто невозможно понять. Что вам действительно нужно, так это электронная книга "Объяснение конфигурации кардиостимулятора" ... ( ссылка на PDF ). Вам захочется прочитать его около дюжины раз, а затем попытаться реализовать его, а затем прочитать еще дюжину раз, чтобы вы могли на самом деле его обмануть.

На данный момент наилучшей поддерживаемой реализацией кластерных служб для Linux, вероятно, будет SLES11 от Novell и расширение высокой доступности (HAE). Это просто вышло месяц или два назад, и оно поставляется с хорошим толстым 200-страничным руководством, которое описывает, как его настроить и запустить. Novell также превосходно поддерживает конфигурации Pacemaker в различных формах.

Помимо этого, есть реализация RHEL5, которая имеет тот же пакет и достойную документацию, но я думаю, что это дороже, чем SLES. По крайней мере, это для нас.

Я бы избегал Heartbeat прямо сейчас и пошел бы с Pacekmaker / OpenAIS, потому что они будут гораздо лучше поддерживаться в будущем. ОДНАКО, текущее состояние сообщества таково, что есть несколько экспертов, есть несколько человек, которые управляют им в производстве, и есть целая тонна людей, которые абсолютно не имеют понятия. Присоединяйтесь к списку рассылки Pacemaker и обратите внимание на человека по имени Andrew Beekhof.

Изменить, чтобы предоставить запрошенные данные:

Pacemaker / OpenAIS использует операцию 'monitor' над 'примитивным ресурсом' (например, nfs-server), чтобы отслеживать, что делает ресурс. Если пример NFS-сервера не отвечает на остальную часть кластера в течение X секунд, тогда кластер выполнит операцию STONITH (Shoot The Other Node In The Head), чтобы завершить работу основного узла, переводя вторичный узел в активный. В конфигурации вы решаете, какие из них будут вызывать впоследствии, и какие действия следует предпринять. Детали реализации зависят от того, какую службу вы пытаетесь переключить при сбое, окна выполнения для определенных операций (например, перевод основного узла обратно в master) и все это в значительной степени настраиваемо, насколько это возможно.

Карл Кацке
источник
1

Сообщество Linux HA немного разделено на данный момент.

Инструменты, которые раньше были известны Поскольку Linux HA в настоящее время является Pacemaker и OpenAIS , они чаще всего работают в сочетании с DRBD, когда требуется архитектура без совместного использования ресурсов.

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

Некоторые поставщики кластерного программного обеспечения также предлагают решения для Linux, но я не могу рассказать вам о них, поскольку сам никогда не использовал их.

Майкл Реннер
источник
1
Не могли бы вы предложить хорошую книгу или две на эту тему?
Мэтт Симмонс
1

В Linux мы реализовали кластеризацию с помощью heartbeat и drbd. Heartbeat проверяет состояние сервера. DRBD используется для синхронизации данных между серверами. У нас есть служба оракула, работающая на одном сервере, и apache на другом. Когда сервер, на котором работает oracle, дает сбой, heartbeat обнаруживает то же самое и восстанавливает службу oracle на сервере, на котором работает apache. и наоборот. Использовали эту настройку для многих других целей и были надежны до настоящего времени.

Viky
источник
1

Red Hat Cluster Suite сделает то, что вы хотите, практически для всех возможных приложений. В сочетании с GFS и Cluster LVM вы можете иметь надежное общее хранилище.

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

RHCS поставляется с веб-интерфейсом (Luci) и GTK-интерфейсом (system-config-cluster), чтобы сделать настройку и миграцию кликабельной. Это позволит вам настраивать отказоустойчивые домены для каждого приложения, политики восстановления, ограждения - все из одной центральной веб-консоли управления.

Учитывая тот факт, что RHCS на самом деле имеет довольно солидный вариант поддержки, я бы выбрал RHCS.

Не уверен, сколько это будет стоить вам, но я полагаю, это в пределах нескольких тысяч долларов.

wzzrd
источник
1

UltraMonkey , его частично основанная на платформе Linux-HA. Я всегда думал, что это скорее решение для балансировки нагрузки, чем настоящий кластер, но оно хорошо справляется с переключением при сбое.

gbjbaanb
источник
Это все еще обновлено? на сайте написано:Copyright © 2000-2005, Horms Last Updated: Sat Mar 4 16:33:57 2006 +0900
NickW
0

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

Дэвид Пашли
источник
0

Я написал программный балансировщик нагрузки для TCP, который не требует отдельной машины. Он разделяет один IP-адрес, объявляя его по адресу многоадресной рассылки и согласовывая между машинами, чтобы избежать двух машин, обслуживающих одно и то же соединение TCP.

Недостатком является то, что он не готов к работе, но если вы хотите протестировать его в своей тестовой сети, я буду рад.

Пушистый кластер здесь

Я не обязательно обнаруживаю «живую, но больную» ситуацию, но я делаю балансировку нагрузки между рядовыми серверами (если процесс пользовательского пространства умирает, другие узлы заметят и удалят неисправный узел)

MarkR
источник
0

Это не бесплатно, но те, у кого нет времени или опыта, чтобы установить свое собственное решение HA на Linux, ответ на www.rapidscaleclusters.com. В течение нескольких минут вы готовы к работе, просты в установке и запуске, это также поддерживается.

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

Я работаю над менеджером отказоустойчивого кластера с открытым исходным кодом, написанным в сценарии оболочки. Он в хорошей форме, даже если может пропустить какую-то интеграцию, которая вам понадобится. Проверьте это и дайте мне знать, если есть какая-то недостающая функция, которую вы хотели бы увидеть и использовать: https://github.com/nackstein/back-to-work/

если вы хорошо разбираетесь в программировании оболочки (POSIX), можете присоединиться к разработке проекта: D

Луиджи
источник