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