HAproxy на CentOS & Red Hat


http://teamhelps.pp.ua

Keepalived используется для отказоустойчивости между двумя серверами.

Это средства для балансировки нагрузки и обеспечения доступности к основанным на Linux инфраструктурам.

Сервис работает по протоколу VRRP (Протокол резервирования виртуального маршрутизатора).

У нас имеется два сервера LA ( load balance ), использемые HAProxy, и теперь мы должны реализовать VRRP между обоими серверами.

Это учебное руководство поможет вам конфигурировать KeepAlived и чтобы сконфигурировать HAProxy на обоих серверах.

Исходные данные в студию :

  1. LB1 Server: 192.168.10.111 ( eth1 )   2. LB2 Server: 192.168.10.112 ( eth1 )   3. Virtual IP: 192.168.10.121

Теперь мы проведем установку отказоустойчивости между LB1 и серверами LB2.
Схема по установке:


http://teamhelps.pp.ua

Шаг 1: установим пакеты

# yum install gcc kernel-headers kernel-devel
# yum install keepalived 

Шаг2: сконфигурируем Keepalived на LB1. Правим файл /etc/keepalived/keepalived.conf следующим видом:

! Configuration File for keepalived global_defs { notification_email { sysadmin@mydomain.com support@mydomain.com } notification_email_from lb1@mydomain.com smtp_server localhost smtp_connect_timeout 30 } vrrp_instance VI_1 { state MASTER interface eth1 virtual_router_id 51 priority 101 advert_int 1 authentication { auth_type PASS auth_pass 1111 } virtual_ipaddress { 192.168.10.121 } }

Шаг 3: сконфигурируем KeepAlived на LB2.

Отредактируем конфигурационный файл Keepalived на LB2 и добавьте следующую конфигурацию.

При внесении изменений в конфигурационном файле LB2 удостоверьтесь, что установили приоритетные значения таким образом, чтобы понизить значение priority по отношению к тому же значению LB1.

Например, ниже в  конфигурации указано значение  100 , в отличии от LB1, где оно равно 101.

! Configuration File for keepalived global_defs { notification_email { sysadmin@mydomain.com support@mydomain.com } notification_email_from lb2@mydomain.com smtp_server localhost smtp_connect_timeout 30 } vrrp_instance VI_1 { state MASTER interface eth1 virtual_router_id 51 priority 100 advert_int 1 authentication { auth_type PASS auth_pass 1111 } virtual_ipaddress { 192.168.10.121 } }

Шаг 4: запускаем  KeepAlived

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

# service keepalived start # chkconfig keepalived on

Шаг 5: проверяем виртуальный ip адресс

Виртуальным IP по умолчанию будет  IP присвоенный главному серверу.

В случае если Master падает, он будет автоматически присвоен slave серверу. Используем следующую команду, чтобы показать присвоенный виртуальный IP в интерфейсе.

# ip addr show eth1

Пример вывода:

2: eth1:mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 1000 link/ether 00:0c:29:6f:ed:60 brd ff:ff:ff:ff:ff:ff inet 192.168.10.111/24 brd 192.168.1.255 scope global eth1 inet 192.168.10.121/32 scope global eth1 inet6 fe80::20c:29ff:fe6f:ed60/64 scope link valid_lft forever preferred_lft forever 

Выполняем проверку:

  1. Останавливаем LB1:
# ip addr show eth1 
  1. Теперь стартуем LB2 и проверяем аналогично:
# ip addr show eth1 
  1. Смотрим логи и проверяем работу:
# tailf /var/log/messages 
 

Пример вывода:

Mar 19 17:30:24 localhost Keepalived_vrrp[6958]: VRRP_Instance(VI_1) Transition to MASTER STATE Mar 19 17:30:25 localhost Keepalived_vrrp[6958]: VRRP_Instance(VI_1) Entering MASTER STATE Mar 19 17:30:25 localhost Keepalived_vrrp[6958]: VRRP_Instance(VI_1) setting protocol VIPs. Mar 19 17:30:25 localhost Keepalived_healthcheckers[6957]: Netlink reflector reports IP 192.168.10.121 added Mar 19 17:30:25 localhost avahi-daemon[1407]: Registering new address record for 192.168.10.121 on eth1.IPv4. Mar 19 17:30:25 localhost Keepalived_vrrp[6958]: VRRP_Instance(VI_1) Sending gratuitous ARPs on eth1 for

Отправка комментария

0 Комментарии