В статье Отказоустоичивый кластер описывается как создать файловую систему для отказоустойчивого кластера, эта статья расскажет как натроить сам механизм переключеия служб с одного сервера на другой.
Итак продолжим настроику на данный момент у нас на серверах уже есть настроенный DRBD. Установим Heartbeat.
Добавим репозиторий epel
rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm
Установим пакет heartbeat
yum install heartbeat
Скопируем шаблоны для настройки из каталога с документацией в каталог с настроиками службы
cp /usr/share/doc/heartbeat-3.0.4/{ha.cf,authkeys,haresources} /etc/ha.d/
изменяем настройки ha.cf
debugfile /var/log/ha-debug
logfile /var/log/ha-log
logfacility local0
keepalive 5
deadtime 60
warntime 10
initdead 120
udpport 694
bcast eth0 eth1
auto_failback on
node node1.local
node node2.local
Изменяем authkeys
auth 2
#1 crc
2 sha1 bombom
#3 md5 Hello!
для проверки пропишем в haresouces
node1.local IPaddr::172.16.0.240/24
копируем конфигурацию с первого сервера на второй(чтобы 2 раза не писать одно и то же)
делаем права 600 на authkys
chmod 600 /etc/ha.d/authkeys
Запускаем heartbeat
service heartbeat start
на двух серверах
и делаем первый сервер основным
/usr/share/heartbeat/hb_takeover
смотрим что происходит с ip адресами на серверах: на основном должен добавится алиас к сетевому интерфейсу с адресом 172.16.0.240
останавливает heartbeat на перврм сервере и наблюдаем как второй сервер поднимет у себя на интерфейсе алиас с нужным нам адресом.
Если алиас перескакивает с сервера на сервер, то система работоспособа.
устанавливаем apache(httpd) в звыисимости от системы и копируем стартовый скрипт апача в /etc/ha.d/resource.d
cp /etc/init.d/httpd /etc/ha.d/resource.d
Меняем содержание haresources
node1.local IPaddr::172.16.0.240/24 drbddisk::r0 Filesystem::/dev/drbd0::/mnt/drbd0::ext3 httpd
Содержимое haresouces читается примерно так
на первичной ноде node1.local установка ip адреса используется drbd ресурс r0, устроиство /dev/drbd0 монтируется в /mnt/drbd0 с файловой системой ext3 и запускается httpd(apache).
Естественно для отказоустойчивости сервера apache нужно настроить его так чтобы каталог с контентом лежал на /mnt/drbd0