我们利用心跳进行高可用性。 我想添加一个额外的IP地址到心跳群集,但是我不想在这个过程中完全重启群集。 是否有一个信号可以发送给心跳,会提示它重新parsing“haresources”文件并对其执行操作? 心跳-r似乎没有办法。
问题在于执行“heartbeat -r”(运行“service heartbeat reload”时在init.d脚本中执行的命令)后,我没有足够长的时间。)几分钟后,IP显示界面如预期。
根本不需要重新加载Heartbeat。 只需将新的IPaddr资源添加到您的haresources文件,如下所示
IPaddr::xx.xx.xx.xx
然后启动它
/etc/ha.d/resource.d/IPaddr xx.xx.xx.xx start
当然,你应该确保在主动节点上发出IPaddr start。 您现在应该能够在刚添加的IP地址上发送和接收stream量。
只需在辅助机器上重新启动抢耳,从而避免与资源pipe理相关的任何停机。
在这种情况下,主节点检测到从机处于“死亡”状态,并强制执行“故障转移”,重新加载资源文件并启动缺less的资源。
这样做的日志是非常明确的:
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.