Събота, Юни 28, 2008

Mini-howto: HA с heartbeat

Едно мини ръководство как да се пусне елементарен HA (high-availability) с помощта на heartbeat.

1. Инсталирайте heartbeat. Пакети за различни дистрибуции има тук

2. След като сте инсталирали софтуера е време за конфигурацията. В този документ ще се
концентрирам главно върху най-простата конфигурация - при отпадане на един възел от HA клъстера, то друг веднага ще му вземе мрежовият (IP адрес).
2.1 Създайте следните файлове в /etc/ha.d/
2.1.1 ha.cf
2.1.2 authkeys
2.1.3 haresources
2.2 Изпълнете следната команда chmod 644 ha.cf && chmod 644 haresources && chmod 600 authkeys

Във файлът authkeys трябва да уакжете ключ, който ще се използва от node-овете в една мрежа, за да се разпознаят. Ето примерно съдържание на файла:
auth 1
1 sha1 4e1243bd22c66e76c2ba9eddc1f91394e57f9f83

(sha1 хеша може да бъде генериран по следния начин echo some-long-and-random-string | openssl dgst -sha1)


За haresources следният ред би бил достатъчен:
node1 1.1.1.250

Където node1 е името на първичния възел в клъстера, а 1.1.1.250 е мрежовият адрес, който ще бъде "клъстеризиран".

За ha.cf:
debugfile /var/log/ha-debug
logfile /var/log/ha-log
logfacility local0
keepalive 2
deadtime 30
warntime 10
udpport 649
ucast eth0 ip-address-of-the-remote-node
auto_failback on
node node1
node node2

Тук е интересен само редът, започващ с "ucast eth0", на който трябва да се укаже IP адресът на другия/другите възли. А на последните 2 реда са имената на хостовете (както са описани в /etc/hosts), които ще иргаят роля на възли. В случая трябва да имате нещо подобно във вашият /etc/hosts файл, намиращ се на първичният node:
node1 127.0.0.1
node2 ip-address-of-node2

Респективната конфигурация на /etc/hosts на 2рия node:
node2 127.0.0.1
node1 ip-address-of-node1


Можете съвсем спокойно да копирате файловете на N на брой машини, които ще изпълняват ролята на node-ове в HA инсталацията ви. Разбира се, трябва да промените съответните "ucast ethX" записи, както и "node nodename" директвитите. А authkeys и haresources трябва да са едни и същи на всички машини.


Това ръководство в никакъв случай не изчерпва всички възможни настройки, които могат да бъдат направени на heartbeat и не трябва да се счита за изчерпателно.

Автор: LordDoskias
Creative Commons License
This work is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 2.5 Bulgaria License.