高可用性のためにハートビートを利用します。ハートビートクラスターにIPアドレスを追加したいのですが、その過程でクラスターを完全に再起動したくありません。 「haresources」ファイルとそのファイルに対するアクションを再解析するように促す信号をハートビートに送信できますか? heartbeat-rはトリックを実行していないようです。
問題は、「heartbeat -r」(「serviceheartbeatreload」を実行したときにinit.dスクリプトで実行されるコマンド)を実行した後、十分に待たなかったことです。数分後、IPが表示されました。期待どおりのインターフェイス。
Heartbeatをリロードする必要はまったくありません。新しいIPaddrリソースをharesourcesファイルに追加するだけです。
IPaddr::xx.xx.xx.xx
そしてそれを開始します
/etc/ha.d/resource.d/IPaddr xx.xx.xx.xx start
もちろん、アクティブノードでIPaddrstartを発行する必要があります。これで、追加したIPアドレスでトラフィックを送受信できるようになります。
Hearbeatはセカンダリマシンでのみ再起動する必要があるため、リソース管理に関連するダウンタイムを回避できます。
この場合、プライマリノードはスレーブマシンが「デッド」であることを検出し、リソースファイルをリロードして不足しているリソースを開始する「フェイルオーバー」を強制します。
これを行うと、ログは非常に明確になります。
May 9 12:10:40 gw2 heartbeat: [3684]: info: Received shutdown notice from 'gw1'.
May 9 12:10:40 gw2 heartbeat: [3684]: info: Resources being acquired from gw1.
May 9 12:10:40 gw2 heartbeat: [26469]: debug: notify_world: setting SIGCHLD Handler to SIG_DFL
May 9 12:10:40 gw2 harc[26469]: info: Running /etc/ha.d//rc.d/status status
May 9 12:10:40 gw2 mach_down[26521]: info: /usr/share/heartbeat/mach_down: Nice_failback: foreign resources acquired
May 9 12:10:40 gw2 mach_down[26521]: info: mach_down takeover complete for node gw1.
May 9 12:10:40 gw2 heartbeat: [3684]: info: mach_down takeover complete.
May 9 12:10:40 gw2 heartbeat: [3684]: debug: StartNextRemoteRscReq(): child count 1
May 9 12:10:40 gw2 IPaddr2[26520]: INFO: Running OK
May 9 12:10:40 gw2 IPaddr2[26640]: INFO: Running OK
May 9 12:10:40 gw2 IPaddr2[26725]: INFO: Running OK
May 9 12:10:40 gw2 IPaddr2[26805]: INFO: Running OK
May 9 12:10:40 gw2 IPaddr2[26890]: INFO: Resource is stopped
May 9 12:10:40 gw2 heartbeat: [26470]: info: Local Resource acquisition completed.
May 9 12:10:40 gw2 heartbeat: [3684]: debug: StartNextRemoteRscReq(): child count 1
May 9 12:10:40 gw2 heartbeat: [26953]: debug: notify_world: setting SIGCHLD Handler to SIG_DFL
May 9 12:10:40 gw2 harc[26953]: info: Running /etc/ha.d//rc.d/ip-request-resp ip-request-resp
May 9 12:10:40 gw2 ip-request-resp[26953]: received ip-request-resp IPaddr2::1.2.3.4 OK yes
May 9 12:10:40 gw2 ResourceManager[26976]: info: Acquiring resource group: gw2 IPaddr2::1.2.3.4
May 9 12:10:40 gw2 IPaddr2[27006]: INFO: Resource is stopped
May 9 12:10:40 gw2 ResourceManager[26976]: info: Running /etc/ha.d/resource.d/IPaddr2 1.2.3.4 start
May 9 12:10:40 gw2 IPaddr2[27115]: INFO: ip -f inet addr add 1.2.3.4/24 brd 1.2.3.255 dev brwan
May 9 12:10:40 gw2 IPaddr2[27115]: INFO: ip link set brwan up
May 9 12:10:40 gw2 IPaddr2[27115]: INFO: /usr/lib/heartbeat/send_arp -i 200 -r 5 -p /var/run/resource-agents/send_arp-1.2.3.4 brwan 1.2.3.4 auto not_used not_used
May 9 12:10:40 gw2 IPaddr2[27091]: INFO: Success
May 9 12:10:47 gw2 heartbeat: [3684]: WARN: node gw1: is dead
May 9 12:10:47 gw2 heartbeat: [3684]: info: Dead node gw1 gave up resources.
May 9 12:10:47 gw2 heartbeat: [3684]: info: Link gw1:eth0 dead.
May 9 12:10:59 gw2 heartbeat: [3684]: info: Heartbeat restart on node gw1
May 9 12:10:59 gw2 heartbeat: [3684]: info: Link gw1:eth0 up.
May 9 12:10:59 gw2 heartbeat: [3684]: info: Status update for node gw1: status init
May 9 12:10:59 gw2 heartbeat: [3684]: info: Status update for node gw1: status up
May 9 12:10:59 gw2 heartbeat: [3684]: debug: StartNextRemoteRscReq(): child count 1
May 9 12:10:59 gw2 heartbeat: [28604]: debug: notify_world: setting SIGCHLD Handler to SIG_DFL
May 9 12:10:59 gw2 heartbeat: [3684]: debug: get_delnodelist: delnodelist=
May 9 12:10:59 gw2 harc[28604]: info: Running /etc/ha.d//rc.d/status status
May 9 12:10:59 gw2 heartbeat: [3684]: info: Status update for node gw1: status active
May 9 12:10:59 gw2 heartbeat: [3684]: debug: StartNextRemoteRscReq(): child count 1
May 9 12:10:59 gw2 heartbeat: [28619]: debug: notify_world: setting SIGCHLD Handler to SIG_DFL
May 9 12:10:59 gw2 harc[28619]: info: Running /etc/ha.d//rc.d/status status
May 9 12:10:59 gw2 heartbeat: [28634]: debug: notify_world: setting SIGCHLD Handler to SIG_DFL
May 9 12:10:59 gw2 harc[28634]: info: Running /etc/ha.d//rc.d/status status
May 9 12:11:00 gw2 heartbeat: [3684]: info: remote resource transition completed.