Linux架构之HA配置(heartbeat)

来源:互联网 发布:ug8-5数控车床编程视频 编辑:程序博客网 时间:2024/05/16 11:23

这里使用heartbeat来做HA集群,并且把nginx服务作为HA对应的服务。

  1. 编辑修改hosts文件,将两台服务器的IP添加上
vim /etc/hosts        192.168.2.89 liuke2        192.168.2.91 liuke3
  1. 清空防火墙
iptables -F 
  1. 关闭selinux:
setenforce 0
  1. 更换yum源,安装epel-release
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bakwget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repoyum clean allyum makecacheyum install -y epel-release
  1. 安装heartbeat、libnet
yum install -y libnet heartbeat

————————————————上面5点是主从一样的操作——————————
6. 拷贝配置文件

cp /usr/share/doc/heartbeat-3.0.4/authkeys /usr/share/doc/heartbeat-3.0.4/haresources /usr/share/doc/heartbeat-3.0.4/ha.cf /etc/ha.d/
  1. 修改配置文件
    7.1
vim /etc/ha.d/authkeys    auth 3 #取消注释    #1 crc    #2 sha1 HI!    3 md5 Hello!#取消注释chmod 600 /etc/ha.d/authkeys

7.2

vim /etc/ha.d/ha.cfdebugfile /var/log/ha-debuglogfile /var/log/ha-loglogfacility local0keepalive 2deadtime 30warntime 10initdead 60udpport 694ucast eth0 192.168.2.91     #从的ipauto_failback onnode liuke2             #主的地址node liuke3             #从的地址ping 192.168.2.254          #仲裁地址,一般用路由器或者交换机respawn hacluster /usr/lib64/heartbeat/ipfail

7.3

vim /etc/ha.d/haresources加上下面行:liuke2 192.168.2.100/24/eth0:0 nginx #主的主机名、虚拟IP地址、掩码和要集群的服务

————————————-6-7点是在主上操作——————————————
8. 配置从

scp /usr/share/doc/heartbeat-3.0.4/authkeys /usr/share/doc/heartbeat-3.0.4/haresources /usr/share/doc/heartbeat-3.0.4/ha.cf 192.168.2.91:/etc/ha.d/    vim /etc/ha.d/ha.cf    修改为主的ip    ucast eth0 192.168.2.89    //对方的IP地址

————————————–8是在从的操作————————————————
测试:
先后启动主和从的heartbeat
service heartbeat start
在主和从上的网页中写入不同的内容,以便区分

在主上:

echo "master" >/usr/share/nginx/html/index.html    ip add        inet 192.168.2.100/24 brd 192.168.2.255 scope global secondary eth0:0#看到漂移IP    ps aux | grep nginx

看到nginx已经启动
在从上:

echo "slave" >/usr/share/nginx/html/index.html    ip add        并没有漂移IP    ps aux | grep nginx        nginx没有启动    输入漂移ip访问nginx服务    192.168.2.100/1.html        master #显示的是主上的资源

在主上模拟障碍,让主挂掉

iptables -A INPUT -p icmp -j DROP

在次按上述方法查看nginx和漂移,发现主上的漂移IP转移到了从上,且从上的nginx服务已经启动,在此输入漂移ip访问nginx服务
192.168.2.100/1.html
slave #显示的是从上的资源

至此,主从正常切换