启动Heartbeat

来源:互联网 发布:centOS free -m 编辑:程序博客网 时间:2024/04/29 03:04

18.7  启动Heartbeat

1.启动主节点的Heartbeat

Heartbeat安装完成后,自动在/etc/init.d目录下生成了启动脚步文件Heartbeat,直接输入/etc/init.d/heartbeat可以看到Heartbeat脚本的用法,如下所示:

  1. [root@node1 ~]# /etc/init.d/heartbeat    
  2. Usage: /etc/init.d/heartbeat {start|stop|status|restart|reload|force-reload} 

因而启动Heartbeat可以通过如下命令进行:

  1. [root@node1 ~]#service heartbeat start 

或者通过:

  1. [root@node1 ~]#/etc/init.d/heartbeat start 

这样就启动了主节点的Heartbeat服务,为了让Heartbeat能在开机自动运行以及关机自动关闭,可以手动创建以下软连接:

  1. [root@node1 ~]#ln -s  /etc/init.d/heartbeat  /etc/rc.d/rc0.d/K05heartbeat  
  2. [root@node1 ~]#ln -s  /etc/init.d/heartbeat  /etc/rc.d/rc3.d/S75heartbeat  
  3. [root@node1 ~]#ln -s  /etc/init.d/heartbeat  /etc/rc.d/rc5.d/S75heartbeat  
  4. [root@node1 ~]#ln -s  /etc/init.d/heartbeat  /etc/rc.d/rc6.d/K05heartbeat 

Heartbeat启动时,通过"tail -f /var/log/ messages"查看主节点系统日志信息,输出如下:

  1. [root@node1 ~]# tail -f /var/log/messages  
  2. Nov 26 07:52:21 node1 heartbeat: [3688]: info:
    Configuration validated. Starting heartbeat 2.0.8  
  3. Nov 26 07:52:21 node1 heartbeat: [3689]: info: 
    heartbeat: version 2.0.8  
  4. Nov 26 07:52:21 node1 heartbeat: [3689]: info: 
    Heartbeat generation: 3  
  5. Nov 26 07:52:21 node1 heartbeat: [3689]: info: 
    G_main_add_TriggerHandler: Added signal manual handler  
  6. Nov 26 07:52:21 node1 heartbeat: [3689]: info: 
    G_main_add_TriggerHandler: Added signal manual handler  
  7. Nov 26 07:52:21 node1 heartbeat: [3689]: info: 
    glib: UDP Broadcast heartbeat started on port 694 (694) interface eth1  
  8. Nov 26 07:52:21 node1 heartbeat: [3689]: info:
    glib: UDP Broadcast heartbeat closed on port 694 interface eth1 - Status: 1  
  9. Nov 26 07:52:21 node1 heartbeat: [3689]: info: 
    glib: ping heartbeat started.  
  10. Nov 26 07:52:21 node1 heartbeat: [3689]: info: 
    G_main_add_SignalHandler: Added signal handler for signal 17  
  11. Nov 26 07:52:21 node1 heartbeat: [3689]: info: 
    Local status now set to: 'up'  
  12. Nov 26 07:52:22 node1 heartbeat: [3689]: info: 
    Link node1:eth1 up.  
  13. Nov 26 07:52:23 node1 heartbeat: [3689]: info: 
    Link 192.168.60.1:192.168.60.1 up.  
  14. Nov 26 07:52:23 node1 heartbeat: [3689]: info: 
    Status update for node 192.168.60.1: status ping 

此段日志是Heartbeat在进行初始化配置,例如,Heartbeat的心跳时间间隔、UDP广播端口和ping节点的运行状态等,日志信息到这里会暂停,等待120秒之后,Heartbeat会继续输出日志,而这个120秒刚好是ha.cf中"initdead"选项的设定时间。此时Heartbeat的输出信息如下:

  1. Nov 26 07:54:22 node1 heartbeat: [3689]: WARN: node node2: is dead  
  2. Nov 26 07:54:22 node1 heartbeat: [3689]: info: 
    Comm_now_up(): updating status to active  
  3. Nov 26 07:54:22 node1 heartbeat: [3689]: info: 
    Local status now set to: 'active'  
  4. Nov 26 07:54:22 node1 heartbeat: [3689]: info:
    Starting child client "/usr/lib/heartbeat/ipfail" (694,694)  
  5. Nov 26 07:54:22 node1 heartbeat: [3689]: WARN: 
    No STONITH device configured.  
  6. Nov 26 07:54:22 node1 heartbeat: [3689]: WARN:
    Shared disks are not protected.  
  7. Nov 26 07:54:22 node1 heartbeat: [3689]: info: 
    Resources being acquired from node2.  
  8. Nov 26 07:54:22 node1 heartbeat: [3712]: info: 
    Starting "/usr/lib/heartbeat/ipfail" as uid 694  gid 694 (pid 3712) 

在上面这段日志中,由于node2还没有启动,因此会给出"node2: is dead"的警告信息,接下来启动了Heartbeat插件ipfail。由于我们在ha.cf文件中没有配置STONITH,因此日志里也给出了"No STONITH device configured"的警告提示。

继续看下面的日志:

  1. Nov 26 07:54:23 node1 harc[3713]: info: Running /etc/ha.d/rc.d/status status  
  2. Nov 26 07:54:23 node1 mach_down[3735]: info: /usr/lib/
    heartbeat/mach_down: nice_failback: foreign resources acquired  
  3. Nov 26 07:54:23 node1 mach_down[3735]: info: mach_down 
    takeover complete for node node2.  
  4. Nov 26 07:54:23 node1 heartbeat: [3689]: info: mach_down takeover complete.  
  5. Nov 26 07:54:23 node1 heartbeat: [3689]: info: Initial 
    resource acquisition complete (mach_down)  
  6. Nov 26 07:54:24 node1 IPaddr[3768]: INFO:  Resource is stopped  
  7. Nov 26 07:54:24 node1 heartbeat: [3714]: info: Local Resource 
    acquisition completed.  
  8. Nov 26 07:54:24 node1 harc[3815]: info: Running /etc/ha.
    d/rc.d/ip-request-resp ip-request-resp  
  9. Nov 26 07:54:24 node1 ip-request-resp[3815]: received ip-
    request-resp 192.168.60.200/24/eth0 OK yes  
  10. Nov 26 07:54:24 node1 ResourceManager[3830]: info: Acquiring 
    resource group: node1 192.168.60.200/24/eth0 Filesystem:
    :/dev/sdb5::/webdata::ext3  
  11. Nov 26 07:54:24 node1 IPaddr[3854]: INFO:  Resource is stopped  
  12. Nov 26 07:54:25 node1 ResourceManager[3830]: info: Running 
    /etc/ha.d/resource.d/IPaddr 192.168.60.200/24/eth0 start  
  13. Nov 26 07:54:25 node1 IPaddr[3932]: INFO: Using calculated
    netmask for 192.168.60.200: 255.255.255.0  
  14. Nov 26 07:54:25 node1 IPaddr[3932]: DEBUG: Using calculated 
    broadcast for 192.168.60.200: 192.168.60.255  
  15. Nov 26 07:54:25 node1 IPaddr[3932]: INFO: eval /sbin/ifconfig
    eth0:0 192.168.60.200 netmask 255.255.255.0 broadcast 192.168.60.255  
  16. Nov 26 07:54:25 node1 avahi-daemon[1854]: Registering new 
    address record for 192.168.60.200 on eth0.  
  17. Nov 26 07:54:25 node1 IPaddr[3932]: DEBUG: Sending Gratuitous
    Arp for 192.168.60.200 on eth0:0 [eth0]  
  18. Nov 26 07:54:26 node1 IPaddr[3911]: INFO:  Success  
  19. Nov 26 07:54:26 node1 Filesystem[4021]: INFO:  Resource is stopped  
  20. Nov 26 07:54:26 node1 ResourceManager[3830]: info: Running 
    /etc/ha.d/resource.d/ Filesystem/dev/sdb5 /webdata ext3 start  
  21. Nov 26 07:54:26 node1 Filesystem[4062]: INFO: Running start
    for /dev/sdb5 on /webdata  
  22. Nov 26 07:54:26 node1 kernel: kjournald starting.  Commit interval 5 seconds  
  23. Nov 26 07:54:26 node1 kernel: EXT3 FS on sdb5, internal journal  
  24. Nov 26 07:54:26 node1 kernel: EXT3-fs: mounted 
    filesystem with ordered data mode.  
  25. Nov 26 07:54:26 node1 Filesystem[4059]: INFO: 
    Success  
  26. Nov 26 07:54:33 node1 heartbeat: [3689]: info:
    Local Resource acquisition completed. (none)  
  27. Nov 26 07:54:33 node1 heartbeat: [3689]: info:
    local resource transition completed 

上面这段日志是进行资源的监控和接管,主要完成haresources文件中的设置,在这里是启用集群虚拟IP和挂载磁盘分区。

此时,通过ifconfig命令查看主节点的网络配置,可以看到,主节点已经自动绑定集群IP地址,在HA集群之外的主机上通过ping命令检测集群IP地址192.168.60.200,已经处于可通状态,也就是该地址变得可用。

同时查看磁盘分区的挂载情况,共享磁盘分区/dev/sdb5已经被自动挂载。

2.启动备份节点的Heartbeat

启动备份节点的Heartbeat,与主节点方法一样,使用如下命令:

  1. [root@node2 ~]#/etc/init.d/heartbeat start  

或者执行:

  1. [root@node2 ~]#service heartbeat start  

这样就启动了备用节点的Heartbeat服务。为了让Heartbeat能在开机自动运行以及关机自动关闭,创建以下软连接:

  1. [root@node2 ~]#ln -s  /etc/init.d/heartbeat  /etc/rc.d/rc0.d/K05heartbeat  
  2. [root@node2 ~]#ln -s  /etc/init.d/heartbeat  /etc/rc.d/rc3.d/S75heartbeat  
  3. [root@node2 ~]#ln -s  /etc/init.d/heartbeat  /etc/rc.d/rc5.d/S75heartbeat  
  4. [root@node2 ~]#ln -s  /etc/init.d/heartbeat  /etc/rc.d/rc6.d/K05heartbeat 

备用节点的Heartbeat日志输出信息与主节点相对应,通过"tail -f /var/log/messages"可以看到如下输出:

  1. Nov 26 07:57:15 node2 heartbeat: [2110]: info: Link node1:eth1 up.  
  2. Nov 26 07:57:15 node2 heartbeat: [2110]: info: Status update
    for node node1: status active  
  3. Nov 26 07:57:15 node2 heartbeat: [2110]: info: Link node1:eth0 up.  
  4. Nov 26 07:57:15 node2 harc[2123]: info: Running /etc/ha.d/rc.d/status status  
  5. Nov 26 07:57:15 node2 heartbeat: [2110]: info: Comm_now_up(): 
    updating status to active  
  6. Nov 26 07:57:15 node2 heartbeat: [2110]: info: Local 
    status now set to: 'active'  
  7. Nov 26 07:57:15 node2 heartbeat: [2110]: info: Starting 
    child client "/usr/lib/heartbeat/ipfail" (694,694)  
  8. Nov 26 07:57:15 node2 heartbeat: [2110]: WARN: G
    _CH_dispatch_int: Dispatch function for read child 
    took too long to execute: 70 ms (
    > 50 ms) (GSource: 0x8f62080)  
  9. Nov 26 07:57:15 node2 heartbeat: [2134]: info: 
    Starting "/usr/lib/heartbeat/ipfail" as uid 694  gid 694 (pid 2134) 

备份节点检测到node1处于活动状态,没有可以接管的资源,因此仅仅启动了网络监听插件ipfail,监控主节点的心跳。

文章出处:http://book.51cto.com/art/200912/168037.htm

原创粉丝点击