Автор Гілка: Heartbeat намагається перехопити власні ресурси.  (Прочитано 1122 раз)

Praporshic

  • Гість
Шановна громадо, вирішив спитати у вас.
Підняв на 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.

Виникло питання, чи стикався хтось з такою проблемою? Поки що перебирання документації, розсилок та багтрекеру проекту результату не дали...
« Змінено: 2008-02-06 17:55:00 від Praporshic »

Praporshic

  • Гість
Після кількох досліджень та одного оновлення ситуація трохи змінилась: тепер кластер розпадається лише коли друга нода встигає надіслати на першу повідомлення про своє відключення, тобто при аварійному відключенні другої ноди, перша лише повідомляє про це та не намагається перехопити власні сервіси. Якщо ж її спробувати вимкнути нормально - проблема знову з'являється.