На сервере lb создайте файл конфигурации балансировщика нагрузки /еtc/ha.d/ ldirectord.cf:
checktimeout=10 checkinterval2 autoreload=no
logfile="localO" quiescentno vi rtual=70.253.158.42:80 real70.253.158.41:80 gate real=70.253.158.45:80 gate servicehttp request"di rector.html" rece1ve="I'm alive!" scheduler=rr protocol=tcp checktypenegotiate
Если на запрос quiescent получен ответ yes, то дефективный реальный сервер получает вес 0, но остается в таблице маршрутизации LVS: мы установили ее на по, то есть неработающие серверы будут удаляться из пула. Вес сервера означает его мощность относительно других серверов. В такой простой схеме БН, как наша, все работающие серверы имеют вес 1, а неработающие — 0.
Если значение параметра checktype равно negotiate, директор сделает HTTPзапрос на каждый из реальных серверов за ссылкой request и определит, входит ли в ее состав строчное значение для recei ve. Если значение равно check, то будет выполнена лишь быстрая проверка TCP, а параметры request и recei ve будут проигнорированы.
Файлы запуска системы в каталоге /etc для утилиты ldirectord уже должны быть созданы в ходе инсталляции. Ultra Monkey также установила Heartbeat, ко^ торый мы сейчас не используем, поэтому пока отключим его:
updaterc.d: /etc/init.d/heartbeat exists during rc.d purge (use f to force)
Балансировщик нагрузки наблюдает за процессом работы вебсерверов. Делает он это путем регулярных запросов файла, который указан нами в ldirectord.cf (request="di rector.html").
Пока сервер отвечает на вебзапросы по VIPадресу (70.253.158.42), мы лучше «расскажем» серверу о нем самом. Исправьте файл /etc/network/interfaces и добавьте эти строки для создания устройства с псевдонимом на ethO: 0:
auto ethO:О
iface ethO:0 inet static address 70.253.158.42 netmask 255.255.255.248 # Здесь должны быть некоторые значения для ethO: network ... broadcast ... gateway ...
Теперь запустите этот новый IPадрес:
Наконец, запустите свои механизмы сервера 1Ь:
# /etc/init.d/ldirectord startStarting ldirectord... success