9.6. Блок-схема LVS кластера

LVS маршрутизаторы используют набор программ для наблюдения за узлами и службами кластера. На рисунке 9-4 показано, как эти программы, работая на активном и резервном маршрутизаторах, управляют кластером.

Рисунок 9-4. Компоненты работающего LVS-кластера

Демон pulse запущен и на активном и на пассивном LVS-маршрутизаторах. Демон pulse на резервном маршрутизаторе посылает пульсирующие запросы на внешний интерфейс активного маршрутизатора, чтобы убедиться в том, что тот работает корректно. Демон pulse на активном маршрутизаторе запускает демона lvs и отвечает на пульсирующие запросы от резервного LVS маршрутизатора.

Сразу после запуска демон lvs вызывает утилиту ipvsadm, настраивающую и поддерживающую в ядре таблицу маршрутизации IPVS, и запускает процесс nanny для всех настроенных виртуальных серверов на каждом реальном сервере. Каждый процесс nanny проверяет состояние настроенной службы на реальном сервере, и сообщает демону lvs об ошибке, если указанная служба на реальном сервере не работает корректно. Если выявлена ошибка, демон lvs указывает демону ipvsadm удалить этот сервер из таблицы маршрутизации IPVS.

Если резервный маршрутизатор не получает ответа от активного маршрутизатора, он начинает перенос, вызывая send_arp для привязки всех виртуальных IP адресов к аппаратным адресам сетевых адаптеров (MAC адресам) резервного узла, посылает активному маршрутизатору через внешний и внутренний интерфейсы команду остановить демона lvs на активном маршрутизаторе и запустить на резервном узле демона lvs, принимающего запросы для настроенных виртуальных серверов.

9.6.1. Компоненты LVS кластера

В разделе 9.6.1.1 pulse приведён подробный список всех программных составляющих LVS-маршрутизатора.

9.6.1.1. pulse

Это управляющий процесс, запускающий все остальные демоны, связанные с LVS-маршрутизаторами. Демон запускается в процессе загрузки сценарием /etc/rc.d/init.d/pulse. Затем он загружает файл конфигурации /etc/sysconfig/ha/lvs.cf. На активном маршрутизаторе pulse запускает демона LVS. На резервном маршрутизаторе pulse определяет состояние активного маршрутизатора, проверяя пульс через настраиваемый интервал. Если активный маршрутизатор не отвечает в течении определенного интервала, он начинает перенос. Во время переноса pulse на резервном маршрутизаторе указывает демону pulse активного маршрутизатора остановить все LVS службы и запускает программу send_arp для присвоения плавающих IP адресов MAC-адресам резервного маршрутизатора, а затем запускает демона lvs.

9.6.1.2. lvs

Демон lvs работает на активном LVS маршрутизаторе, запускает его демон pulse. Он загружает файл конфигурации /etc/sysconfig/ha/lvs.cf, вызывает утилиту ipvsadm, создающую и поддерживающую таблицу маршрутизации IPVS, и запускает процесс nanny для каждой настроенной в LVS службы. Если nanny сообщает об остановке реального сервера, lvs указывает утилите ipvsadm удалить реальный сервер из таблицы маршрутизации IPVS.

9.6.1.3. ipvsadm

Эта служба обновляет в ядре таблицу маршрутизации IPVS. Демон lvs настраивает и администрирует LVS кластер, вызывая ipvsadm для добавления, изменения или удаления записей в таблице маршрутизации IPVS.

9.6.1.4. nanny

Наблюдающий демон nanny работает на активном LVS маршрутизаторе. С помощью этого демона активный маршрутизатор определяет состояние каждого сервера и может отслеживать его нагрузку. За состоянием каждой службы каждого реального сервера следит отдельный процесс.

9.6.1.5. /etc/sysconfig/ha/lvs.cf

Это файл конфигурации LVS кластера. Прямо или косвенно, все демоны получают свою конфигурацию из этого файла.

9.6.1.6. Piranha Configuration Tool

Это средство наблюдения, настройки и администрирования LVS кластера, основанное на веб. Это стандартная программа управления файлом конфигурации LVS-кластера /etc/sysconfig/ha/lvs.cf.

9.6.1.7. send_arp

Эта программа рассылает широковещательные пакеты ARP, когда во время переноса плавающий IP-адрес передаётся от одного узла к другому.

В главе 10 Первоначальная настройка LVS рассматриваются важные действия по настройке после установки системы, которые вы должны выполнить до настройки Red Hat Enterprise Linux в качестве LVS-маршрутизатора.