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都會默認爲運行,腦裂現象。