Шановна громадо, вирішив спитати у вас.
Підняв на CentOS 5.1 кластер підвищеної надійності на базі
Linux-HA. Наразі у кластері дві ноди, та NFS-шара з моєї робочої станції (на заміну SAN storage). Наразі завданням кластеру є підтримувати у робочому стані Apache HTTPD, MySQL та ISC BIND. Кластер піднімається у режимі: node01 - основна (на ній зазвичай усе те добро й обертається), node02 - резервна та має перехоплювати ресурси при падінні першої. Коли я висмикую живлення, або ще якусь гидоту роблю з першою, друга без проблем підхоплює сервіси та працює, доки перша не повернеться, після чого повертає ресурси першій. Але коли я, при працюючий першій, щось роблю з другою (як приклад - перезавантажую) то перша нода намагається перехопити сервіси що й так працюють на ній, ловить помилку від init-скриптів (вони скаржаться, що сервіс вже працює) та вкладає кластер. Так як друга нода у той час непрацездатна, то сервіси вже не піднімаються.
Маю ось такі налаштування:
/etc/ha.d/ha.cf
debugfile /var/log/ha-debug
logfile /var/log/ha-log
logfacility local0
keepalive 1
deadtime 5
auto_failback on
node node01
node node02
/etc/ha.d/haresources
node01 <CLUSTER-IP> Filesystem::<NFS-SERVER>:/home/cluster::/cluster::nfs::rw,hard mysqld httpd named IPaddr::<CLUSTER-IP-WITH-MASK>/eth0
При перезавантаженні резервної ноди у логах з'являється таке:
heartbeat[1543]: 2008/02/06_16:56:51 info: Received shutdown notice from 'node02'.
heartbeat[1543]: 2008/02/06_16:56:51 info: Resources being acquired from node02.
heartbeat[2523]: 2008/02/06_16:56:51 info: acquire local HA resources (standby).
ResourceManager[2544]: 2008/02/06_16:56:51 info: Acquiring resource group: node01 <CLUSTER-IP> Filesystem::<NFS-SERVER>:/home/cluster::/cluster::nfs::rw,hard mysqld httpd named IPaddr::<CLUSTER-IP-WITH-MASK>/eth0
IPaddr[2581]: 2008/02/06_16:56:51 INFO: Running OK
IPaddr[2620]: 2008/02/06_16:56:51 INFO: Running OK
heartbeat[2524]: 2008/02/06_16:56:51 info: Local Resource acquisition completed.
Filesystem[2690]: 2008/02/06_16:56:51 INFO: Running OK
ResourceManager[2544]: 2008/02/06_16:56:51 info: Running /etc/init.d/mysqld start
ResourceManager[2544]: 2008/02/06_16:56:52 info: Running /etc/init.d/httpd start
ResourceManager[2544]: 2008/02/06_16:56:52 ERROR: Return code 1 from /etc/init.d/httpd
ResourceManager[2544]: 2008/02/06_16:56:52 CRIT: Giving up resources due to failure of httpd
ResourceManager[2544]: 2008/02/06_16:56:52 info: Releasing resource group: node01 <CLUSTER-IP>
Filesystem::<NFS-SERVER>:/home/cluster::/cluster::nfs::rw,hard mysqld httpd named IPaddr:<CLUSTER-IP-WITH-MASK>:/eth0
ResourceManager[2544]: 2008/02/06_16:56:52 info: Running /etc/ha.d/resource.d/IPaddr <CLUSTER-IP-WITH-MASK>/eth0 stop
IPaddr[3039]: 2008/02/06_16:56:52 INFO: ifconfig eth0:0 down
IPaddr[3010]: 2008/02/06_16:56:52 INFO: Success
ResourceManager[2544]: 2008/02/06_16:56:52 info: Running /etc/init.d/named stop
ResourceManager[2544]: 2008/02/06_16:56:52 info: Running /etc/init.d/httpd stop
ResourceManager[2544]: 2008/02/06_16:56:53 info: Running /etc/init.d/mysqld stop
ResourceManager[2544]: 2008/02/06_16:56:55 info: Running /etc/ha.d/resource.d/Filesystem <NFS-SERVER>:/home/cluster /cluster nfs rw,hard stop
Filesystem[3259]: 2008/02/06_16:56:55 INFO: Running stop for <NFS-SERVER>:/home/cluster on /cluster
Filesystem[3259]: 2008/02/06_16:56:55 INFO: Trying to unmount /cluster
Filesystem[3259]: 2008/02/06_16:56:55 INFO: unmounted /cluster successfully
Filesystem[3248]: 2008/02/06_16:56:55 INFO: Success
ResourceManager[2544]: 2008/02/06_16:56:55 info: Running /etc/ha.d/resource.d/IPaddr <CLUSTER-IP> stop
IPaddr[3349]: 2008/02/06_16:56:55 INFO: Success
heartbeat[2523]: 2008/02/06_16:56:55 info: local HA resource acquisition completed (standby).
heartbeat[1543]: 2008/02/06_16:56:55 info: Standby resource acquisition done [foreign].
harc[3390]: 2008/02/06_16:56:55 info: Running /etc/ha.d/rc.d/status status
mach_down[3406]: 2008/02/06_16:56:55 info: /usr/share/heartbeat/mach_down: nice_failback: foreign resources acquired
mach_down[3406]: 2008/02/06_16:56:55 info: mach_down takeover complete for node node02.
heartbeat[1543]: 2008/02/06_16:56:55 info: mach_down takeover complete.
heartbeat[1543]: 2008/02/06_16:56:57 WARN: node node02: is dead
heartbeat[1543]: 2008/02/06_16:56:57 info: Dead node node02 gave up resources.
heartbeat[1543]: 2008/02/06_16:56:57 info: Link node02:eth0 dead.
hb_standby[3450]: 2008/02/06_16:57:25 Going standby [foreign].
heartbeat[1543]: 2008/02/06_16:57:25 info: node01 wants to go standby [foreign]
heartbeat[1543]: 2008/02/06_16:57:36 WARN: No reply to standby request. Standby request cancelled.
heartbeat[1543]: 2008/02/06_16:58:08 info: Heartbeat restart on node node02
heartbeat[1543]: 2008/02/06_16:58:08 info: Link node02:eth0 up.
heartbeat[1543]: 2008/02/06_16:58:08 info: Status update for node node02: status init
heartbeat[1543]: 2008/02/06_16:58:08 info: Status update for node node02: status up
harc[3465]: 2008/02/06_16:58:08 info: Running /etc/ha.d/rc.d/status status
harc[3481]: 2008/02/06_16:58:08 info: Running /etc/ha.d/rc.d/status status
heartbeat[1543]: 2008/02/06_16:58:08 info: Status update for node node02: status active
harc[3497]: 2008/02/06_16:58:08 info: Running /etc/ha.d/rc.d/status status
heartbeat[1543]: 2008/02/06_16:58:09 info: remote resource transition completed.
heartbeat[1543]: 2008/02/06_16:58:09 info: node01 wants to go standby [foreign]
heartbeat[1543]: 2008/02/06_16:58:09 info: standby: node02 can take our foreign resources
heartbeat[3513]: 2008/02/06_16:58:09 info: give up foreign HA resources (standby).
heartbeat[3513]: 2008/02/06_16:58:09 info: foreign HA resource release completed (standby).
heartbeat[1543]: 2008/02/06_16:58:09 info: Local standby process completed [foreign].
heartbeat[1543]: 2008/02/06_16:58:11 WARN: 1 lost packet(s) for [node02] [12:14]
heartbeat[1543]: 2008/02/06_16:58:11 info: remote resource transition completed.
heartbeat[1543]: 2008/02/06_16:58:11 info: No pkts missing from node02!
heartbeat[1543]: 2008/02/06_16:58:11 info: Other node completed standby takeover of foreign resources.
Виникло питання, чи стикався хтось з такою проблемою? Поки що перебирання документації, розсилок та багтрекеру проекту результату не дали...