LVS кластер — блок-схема

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

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

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

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

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

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

Ниже приведен список и описание всех программных компонент LVS маршрутизатора.

pulse

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

lvs

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

ipvsadm

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

nanny

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

/etc/sysconfig/ha/lvs.cf

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

Инструмент конфигурации Piranha

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

send_arp

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

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