Быстрая настройка Keepalived на CentOS

Быстрая настройка Keepalived на CentOS

Быстрая настройка Keepalived на CentOS может понадобиться в случае, когда у вас есть два сервера, а также свободный ip адрес, который можно привязывать в качестве алиаса.

Как это работает

На обоих серверах устанавливаются keepalived сервисы, которые «общаются» между собой. В их настройках прописаны приоритеты, информация об ip и другие параметры, исходя из которых принимается решение о том, куда будет привязан ip адрес. В случае, если один из серверов будет выведен из строя, другой возьмет на себя ip и тем самым продолжит обслуживание запросов.

Исходные данные

Для тестов я буду использовать:

  • Green server, CentOS 6, ip: 192.168.1.13, сетевой интерфейс ehh0, приоритет 101;
  • Red server, CentOS 6, ip: 192.168.1.14, сетевой интерфейс ehh0, приоритет 100;
  • D-Link Dir-300, на котором зарезервирован ip: 192.168.1.30, и настроен DHCP;

О приоритетах будет написано ниже, когда будем рассматривать конфиг.

Оба сервера — виртуалки на VirtualBox, у которых сетевые интерфейсы работают в режиме сетевого моста. О настройке CentOS 7 на VirtualBox писалось ранее. Для CentOS 6 можно сделать всё по этой же статье, но отличие будет в имени firewall. В CentOS 6  это «iptables», а в CentOS 7 это «firewalld».

Схема, по которой будет работать keepalived, будет выглядеть примерно так:

В обычном режиме Green берет ip адрес себе, так как он имеет высший приоритет.

Быстрая настройка Keepalived на CentOS. Green в штаном режиме

Быстрая настройка Keepalived на CentOS. Green в штатном режиме

Во время failover, Red сервер «забирает» ip адрес.

Быстрая настройка Keepalived на CentOS. failover, с переключением

Быстрая настройка Keepalived на CentOS. failover, с переключением

когда произойдет восстановление Green сервера, он (Green) возьмет на себя ip обратно так как приоритет у него выше.

Установка и настройка

Итак, устанавливаем keepalived на обоих машинах и добавляем в автозагрузку:

Пристуаем к настройке конфигов, и начинаем с Green, которой у нас будет меньший приоритет, и соответственно будет как backup. Рассмотрим конфиг /etc/keepalived/keepalived.conf:

естественно настроек тут может быть гораздо больше, но цель статьи показать пример простейшей настройки. Мы видим, что настройки достаточно простые, и в особых комментариях не нуждаются, о virtual_router_id — это индификатор, в разных vrrp_instance он должен быть разным. Также пароль на обоих машинах должен быть одинаков.

Далее настраиваем Red сервер. Вот его конфиг:

Как мы видим, оба конфигов похоже, но есть и отличие — приоритет. Сервер с наивысшем приоритетом забирает ip адрес, и ставит его в качестве алиса. Если сервер выходит из строя, то адрес забирает сервер, у которого следующий по высоте приоритет.

Итак, настройки сделаны, стартуем демоны:

ну а потом, смотрим на обоих серверах информацию о сети:

Далее сэмулируем аварию на Green сервере, остановив keepalived сервис, и проверим статус сети:

как и следовало ожидать, сервер Red забрал адрес.

Теперь представим, что мы починили Green сервер и запустили keepalived:

что и следовало доказать: так как сервер Green вновь работоспособен, и имеет высший приоритет, то он с полным правом забирает ip.

Ну а дальнейший функционал расширяется соответствующими настройками, о которых можно узнать в мануалах:

На этом статья «Быстрая настройка Keepalived на CentOS» закончена, и пусть теперь всё будет стабильно 🙂

Summary
Article Name
Быстрая настройка Keepalived на CentOS
Description
Быстрая настройка Keepalived на CentOS может понадобиться в случае, когда у вас есть два сервера, а также свободный ip адрес, который можно привязывать в качестве алиаса.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *