1.6. Блок-схема распределения нагрузки

1.6. Блок-схема распределения нагрузки

Маршрутизаторы LVS используют набор программ для наблюдения за узлами и службами кластера (см. Рисунок 1.5, «Компоненты комплекта распределения нагрузки»).
Компоненты комплекта распределения нагрузки
Компоненты комплекта распределения нагрузки
Рисунок 1.5. Компоненты комплекта распределения нагрузки

Процесс pulse выполняется на обоих маршрутизаторах. На резервном маршрутизаторе pulse отправляет периодические запросы внешнему интерфейсу активного маршрутизатора для подтверждения его нормального функционирования. На активном маршрутизаторе pulse запускает lvs и отвечает на периодические запросы резервного маршрутизатора LVS.
lvs вызывает ipvsadm для настройки и поддержки таблицы маршрутизации IPVS и запускает nanny на каждом реальном сервере для каждого виртуального сервера. Процесс nanny проверяет состояние настроенной службы на реальном сервере и сообщает lvs о нарушениях ее работы, вследствие чего lvs заставит ipvsadm удалить сервер из таблицы IPVS.
Если резервный маршрутизатор не получил ответ от активного маршрутизатора, будет инициирована процедура его замены посредством вызова send_arp для переназначения всех виртуальных IP-адресов аппаратным адресам (MAC-адресам) сетевых карт резервного узла. Активному маршрутизатору будет отправлена команда остановки lvs через внешний и внутренний интерфейсы, а на резервном узле будет запущен процесс lvs для обработки запросов, предназначенных виртуальным серверам.

1.6.1. Компоненты комплекта распределения нагрузки

Далее следует подробный список программ.

1.6.1.1. pulse

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

1.6.1.2. lvs

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

1.6.1.3. ipvsadm

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

1.6.1.4. nanny

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

1.6.1.5. /etc/sysconfig/ha/lvs.cf

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

1.6.1.6. Piranha

Веб-интерфейс для отслеживания, настройки и администрирования комплекта распределения нагрузки. Используется по умолчанию для изменения файла конфигурации /etc/sysconfig/ha/lvs.cf.

1.6.1.7. send_arp

Рассылает широковещательные пакеты ARP при переходе плавающего IP-адреса от одного узла другому.
Глава 2, Первоначальная конфигурация рассматривает действия по настройке после установки системы, которые следует выполнить, прежде чем приступить к настройке Red Hat Enterprise Linux в качестве маршрутизатора LVS.