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.