Назад | Перейти на главную страницу

В чем разница между keepalived и corosync и другими?

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

При поиске в Google было создано несколько разных проектов, но нет четкой информации о предоставляемых ими функциях. CARP предоставил виртуальные интерфейсы для переключения при отказе, я не совсем понимаю, что делает corosync или это то, что делает кардиостимулятор?

С другой стороны, мне удалось заставить работать keepalived. Однако я заметил, что corosync обеспечивает встроенную поддержку infiniband. Это было бы полезно для меня.

Возможно, кто-то сможет пролить свет на различия между:

  1. коросинхронизация
  2. поддерживать активность
  3. кардиостимулятор
  4. сердцебиение

Какой продукт лучше всего подходит для аварийного переключения маршрутизатора?

РЕДАКТИРОВАТЬ: Итак, я немного поработал ...

Pacemaker - это более крупный проект, который может использовать Corosync & Pacemaker. Кажется, что Corosync и Heartbeat в основном делают то же самое. Итак, вы выбираете одно или другое.

Heartbeat кажется более старым проектом, но над ним все еще работают.

С другой стороны, Keepalive - это совершенно другой проект, реализующий протокол VRRP. У него меньше возможностей, чем у других. Похоже, что он все еще широко используется, но в нем отсутствует недавняя документация.

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

Вот общее практическое правило, которое я использовал при выборе между сохранением активности и сердцебиением.

Heartbeat обычно используется, когда вы хотите установить действительно активный / резервный кластер (когда фактически "включен" только один узел). Подумайте о NFS. Обычно при использовании Heartbeat для запуска и остановки служб используются действия до и после сценария.

Keepalived намного проще и обычно используется для использования в режиме горячего резервирования (т. Е. Для поддержания работы службы в избыточном режиме).

Хороший пример использования keepalived, с которым я добился успеха, - это резервные балансировщики нагрузки Nginx. В этой ситуации, если узел выходит из строя, «плавающий IP-адрес» переходит на резервный узел.

Keepalived прост, но он позволяет вам создавать свои собственные сценарии проверки (которые могут вызвать аварийное переключение и т. Д.) Некоторая информация: https://tobrunet.ch/2013/07/keepalived-check-and-notify-scripts/

Что лучше всего для вас, зависит от вашей ситуации: keepalived хорошо подходит для аварийного переключения маршрутизатора.

Вы смотрели на Ucarp? Мы используем его для тех же целей, что и в наших брандмауэрах Linux.