四、主背测试
在node1和node2上启动heartbeart
[root@node1 ~]# /etc/init.d/heartbeat start
[root@node2 ~]# /etc/init.d/heartbeat start
[root@node1 ~]# echo "node1" > /var/www/html/index.html
[root@node2 ~]# echo "node2" > /var/www/html/index.html
在主节点(node1)上查看绑定VIP 网站是否可以正常访问。
主背切换说明:默认情况下主节点对外提供服务,备节点只启动heartheart不会启动httpd,只有当主节点出现问题,备节点才会自动启动本机的web添加VIP接替主节点对外提供服务。当主节点恢复正常后,会取代备节点的服务。
1、node1 和 node2同时启动时(node1为主,提供服务)
[root@node1 ~]# service heartbeat status
heartbeat OK [pid 2326 et al] is running on node1 [node1]...
[root@node2 ha.d]# service heartbeat status
heartbeat OK [pid 2265 et al] is running on node2 [node2]...
2、关闭node1(node2会自动抢占为主的来提供服务)
当heartbeat服务或是机器无法关机无法ping通会自动切换,但是web服务出现问题不会自动切换。
[root@node1 ~]# service heartbeat status
heartbeat is stopped. No process
[root@node2 ha.d]# service heartbeat status
heartbeat OK [pid 2265 et al] is running on node2 [node2]...
3、node1重新启动抢占为主
[root@node1 ~]# service heartbeat status
heartbeat OK [pid 3076 et al] is running on node1 [node1]...
[root@node2 ha.d]# service heartbeat status
heartbeat OK [pid 2265 et al] is running on node2 [node2]...
3.5、配置文件详解
3.5.1、heartbeat主配置文件ha.cf
debugfile /var/log/ha-debug用户记录heartbeat的调试信息
logfile /var/log/ha-logheartheat的日志文件
logfacility local0设置日志级别
keepalive 2心跳(检测)间隔时间,默认为秒
deadtime 30超出30秒未收到节点的心跳,则认为对方死亡
warntime 10警告时间,通常设置为daetime时间的一半
initdead 120网络启动时间,至少为deadtime的两倍
baud 19200波特率,串口通信的速度。
udpport 694使用端口694进行bcast和ucast通信。这是默认的,并且在IANA官方注册的端口号。
bcast eth1 发送heartbeat心跳的网卡
auto_failback on用来定义当主节点恢复后,是否将服务自动切回,heartbeat的两台主机分别为主节点和备份节点。主节点在正常情况下占用资源并运行所有的服务,遇到故障时把资源交给备份节点并由备份节点运行服务。在该选项设为on的情况下,一旦主节点恢复运行,则自动获取资源并取代备份节点,如果该选项设置为off,那么当主节点恢复后,将变为备份节点,而原来的备份节点成为主节点
node node1两个节点的名称 uname -a查看必须相同
node node2
ping 192.168.0.253集群以外的节点,测试网络连通性
3.5.2、资源文件haresources
Haresources文件用于指定双机系统的主节点、集群IP、子网掩码、广播地址以及启动的服务等集群资源,文件每一行可以包含一个或多个资源脚本名,资源之间使用空格隔开,参数之间使用两个冒号隔开,在两个HA节点上该文件必须完全一致,此文件的一般格式为
node1(node-name) 192.168.0.100(network) httpd mysqld(resource-group)
node-name表示主节点的主机名,必须和ha.cf文件中指定的节点名一致,network用于设定集群的IP地址、子网掩码、网络设备标识等,需要注意的是,这里指定的IP地址就是集群对外服务的IP地址,resource-group用来指定需要heartbeat托管的服务,也就是这些服务可以由heartbeat来启动和关闭,如果要托管这些服务,必须将服务写成可以通过start/stop来启动和关闭的脚步,然后放到/etc/init.d/或者/etc/ha.d/resource.d/目录下,heartbeat会根据脚本的名称自动去/etc/init.d或者/etc/ha.d/resource.d/目录下找到相应脚步进行启动或关闭操作。
3.5.3、认证文件authkeys
authkeys文件用于设定heartbeat的认证方式,共有三种可用的认证方式:crc、md5和sha1,三种认证方式的安全性依次提高,但是占用的系统资源也依次增加。如果heartbeat集群运行在安全的网络上,可以使用crc方式,如果HA每个节点的硬件配置很高,建议使用sha1,这种认证方式安全级别最高,如果是处于网络安全和系统资源之间,可以使用md5认证方式。