Heartbeatでクラスターを組む

クラスターの動作確認


プライマリノードが停止すると、192.168.10.50の仮想IPがプライマリノード→セカンダリノードに移動します。
セカンダリノードにログインし、ログファイルを監視します。
$ tail -f /var/log/ha-log

ログファイルの監視を始めたら、プライマリノードを落とします。
セカンダリ側のログにずらずらとログが表示され、仮想IPアドレス(192.168.10.50)がセカンダリ側に移動します。
Feb 07 11:32:10 orange-node2 heartbeat: [1193]: info: Received shutdown notice from 'orange-node1'.
Feb 07 11:32:10 orange-node2 heartbeat: [1193]: info: Resources being acquired from orange-node1.
Feb 07 11:32:10 orange-node2 heartbeat: [2022]: info: acquire local HA resources (standby).
2025/02/07_11:32:10  ResourceManager(default)[2051]:    info: Acquiring resource group: orange-node2 192.168.10.50/24
2025/02/07_11:32:10  /usr/lib/ocf/resource.d//heartbeat/IPaddr(IPaddr_192.168.10.41)[2097]:    INFO:  Running OK
Feb 07 11:32:10 orange-node2 heartbeat: [2024]: info: Local Resource acquisition completed.
2025/02/07_11:32:10  /usr/lib/ocf/resource.d//heartbeat/IPaddr(IPaddr_192.168.10.41)[2101]:    INFO:  Running OK
Feb 07 11:32:10 orange-node2 heartbeat: [2022]: info: local HA resource acquisition completed (standby).
Feb 07 11:32:10 orange-node2 heartbeat: [1193]: info: Standby resource acquisition done [foreign].
2025/02/07_11:32:10  harc(default)[2187]:    info: Running /etc/ha.d//rc.d/status status
2025/02/07_11:32:10  mach_down(default)[2201]:    info: /usr/share/heartbeat/mach_down: nice_failback: foreign resources acquired
2025/02/07_11:32:10  mach_down(default)[2201]:    info: mach_down takeover complete for node orange-node1.
Feb 07 11:32:10 orange-node2 heartbeat: [1193]: info: mach_down takeover complete.
Feb 07 11:32:41 orange-node2 heartbeat: [1193]: WARN: node orange-node1: is dead
Feb 07 11:32:41 orange-node2 heartbeat: [1193]: info: Dead node orange-node1 gave up resources.
Feb 07 11:32:41 orange-node2 heartbeat: [1193]: info: Link orange-node1:eth0 dead.

以下のコマンドで仮想IPアドレス(192.168.10.50)がセカンダリ側に移動したことを確認する事ができます。


別のマシンから192.168.10.50の仮想IPでログインすると、orange-node2にログインすることができます。



プライマリノードを起動します。
セカンダリ側のログにずらずらとログが表示され、仮想IPアドレス(192.168.10.50)がプライマリ側に復帰します。
Feb 07 11:29:42 orange-node2 heartbeat: [1193]: info: Heartbeat restart on node orange-node1
Feb 07 11:29:42 orange-node2 heartbeat: [1193]: info: Link orange-node1:eth0 up.
Feb 07 11:29:42 orange-node2 heartbeat: [1193]: info: Status update for node orange-node1: status init
Feb 07 11:29:42 orange-node2 heartbeat: [1193]: info: Status update for node orange-node1: status up
2025/02/07_11:29:42  harc(default)[1955]:    info: Running /etc/ha.d//rc.d/status status
2025/02/07_11:29:42  harc(default)[1969]:    info: Running /etc/ha.d//rc.d/status status
Feb 07 11:29:44 orange-node2 heartbeat: [1193]: info: Status update for node orange-node1: status active
2025/02/07_11:29:44  harc(default)[1983]:    info: Running /etc/ha.d//rc.d/status status
Feb 07 11:29:45 orange-node2 heartbeat: [1193]: info: remote resource transition completed.
Feb 07 11:29:45 orange-node2 heartbeat: [1193]: info: orange-node2 wants to go standby [foreign]
Feb 07 11:29:45 orange-node2 heartbeat: [1193]: info: standby: orange-node1 can take our foreign resources
Feb 07 11:29:45 orange-node2 heartbeat: [1997]: info: give up foreign HA resources (standby).
Feb 07 11:29:45 orange-node2 heartbeat: [1997]: info: foreign HA resource release completed (standby).
Feb 07 11:29:45 orange-node2 heartbeat: [1193]: info: Local standby process completed [foreign].
Feb 07 11:30:15 orange-node2 heartbeat: [1193]: WARN: 2 lost packet(s) for [orange-node1] [22:25]
Feb 07 11:30:15 orange-node2 heartbeat: [1193]: info: No pkts missing from orange-node1!
Feb 07 11:30:20 orange-node2 heartbeat: [1193]: WARN: 1 lost packet(s) for [orange-node1] [27:29]
Feb 07 11:30:20 orange-node2 heartbeat: [1193]: info: remote resource transition completed.
Feb 07 11:30:20 orange-node2 heartbeat: [1193]: info: No pkts missing from orange-node1!
Feb 07 11:30:20 orange-node2 heartbeat: [1193]: info: Other node completed standby takeover of foreign resources.

別のマシンから192.168.10.50にログインすると、orange-node1にログインすることができます。



プライマリノードを起動したときに、そのままセカンダリノードでの運用を続けたいときは、
/etc/ha.d/ha.cfのauto_failbackをoffに設定します。

このパラメータで、フェイルオーバーからの復帰時、リソースを自動的にフェイルバックさせるかどうかを指定します。
onのときは、稼動系ダウン→待機系アップ→稼動系アップ時に、リソースが稼動系に戻ります。
offのときは、稼動系ダウン→待機系アップ→稼動系アップ時に、リソースが稼動系に戻りません。

続く....