HA即high available高可用,又叫双机热备,用于关键性业务,提高可用性
测试环境:
Hostname |
Eth0 |
Eth1 |
DR1 |
192.168.137.100 |
192.168.137.11 |
DR2 |
192.168.137.101 |
192.168.137.22 |
准备工作:
1、该eth0网卡是表示外网卡,eth1表示内网网卡。
2、配置DR1 和DR2 的hosts 增加内容:
192.168.137.11 DR1
192.168.137.22 DR2
3、DR1和DR2 上运行
yum install -y openssh-c* ##方便后面拷贝配置文件到DR2上
yum install -y heartbeat* libnet
另外需要安装nginx作为双机热备测试,安装前先安装epel源
4、关闭selinux防火墙以及iptables的规则
5、DR1和DR2
配置过程:
DR1主机上配置:
cd /usr/share/doc/heartbeat-3.0.4/
cp authkeys ha.cf haresources /etc/ha.d/
cd /etc/ha.d/
vi authkeys
#开启auth 1改为auth3
#开启 3 md5 Hello!
chmod 600 authkeys
vi haresources
#增加内容:DR1 192.168.1.110/24/eth1:0 nginx
##DR1为主的主机名,IP地址为虚拟的IP地址,用于绑定服务,子网掩码24位,绑定到内网的物理网卡,监控的服务为nginx
> ha.cf #清空配置文件
vi ha.cf
#加入内容:
debugfile /var/log/ha-debug ##调试信息
logfile /var/log/ha-log ##日志文件
logfacility local0
keepalive 2 ##心跳时间,单位秒
deadtime 30 ##超出多小秒没有响应,默认宕机
warntime 10 ##把警告记录到日志上
initdead 60 ##至少是deadtime的2倍
udpport 694 ##设置广播通讯端口,默认694
ucast eth1 192.168.137.22 ##DR2内网网卡IP地址
auto_failback on
node DR1
node DR2
ping192.168.137.1 ##检测网络连接
respawn hacluster /usr/lib/heartbeat/ipfail
scp authkeys ha.cf haresources DR2:/etc/ha.d/ ##把配置文件从DR1拷贝到DR2
DR2主机上配置:
vi ha.cf
#把ucast eth1 192.168.137.22 改成ucast eth1 192.168.137.11 即DR1的内网IP地址
测试是否成功:
DR1主机上:/etc/init.d/heartbeat start
DR2主机上:/etc/init.d/heartbeat start
测试一:断掉DR1的heartbeat服务
DR2会自动运行nginx服务
测试二:DR1 和DR2 的eth1网卡停掉,即内网网卡(心跳线)停掉,
DR1以及DR2都会默认为运行,脑裂现象。