Heatbeat簡介
對於無狀態的服務,為了避免單點問題,我們可以使用heartbeat做HA,將服務運行在多個機器上,做自動故障切換。
下面我們以host1和host2提供httpd高可用服務(VIP 192.168.1.1)為例,說明heartbeat的安裝和使用過程。場景如下:
安裝heatbeat
heartbeat的包在CentOS的默認RPM倉庫裡就帶有,通過yum安裝即可
yum install -y heartbeat
認證文件 /etc/ha.d/authkeys
同一組heartbeat服務的authkeys都需要一致,auth方法有crc、sha1、md5 3種,通過auth指定加密方式,之後指定密鑰。
這裡我們使用md5,/etc/ha.d/authkeys的內容如下:
auth 3 3 md5 heartbeat_pass
將/etc/ha.d/authkeys 設置為root:root 權限 700,確保機密性
HA參數配置文件 /etc/ha.d/ha.cf
指定內容如下:
logfile /var/log/ha-log logfacility local0 keepalive 2 deadtime 5 initdead 10 bcast bond0 udpport 695 auto_failback off node host1 node host1
說明:logfile指定heartbeat的日志位置,udpport指定ha心跳udp端口,後面node指定2個做ha的機器(注意這裡的主機名要和機器上uname -r
出來的一致)
HA資源配置文件 /etc/ha.d/haresources
Heartbeat最重要的就是維護高可用資源,而/etc/ha.d/haresources定義的即資源。指定內容如下:
host1 192.168.1.1 httpd
說明:第一列表示ha的機器名(2個機器名中可以隨意指定一個),第二列是VIP(虛擬ip),第三列是服務(/etc/init.d/服務名 start|stop)
啟動heartbeat
先在host1上啟動heartbeat
/etc/init.d/heartbeat start
觀察 /var/log/ha-log 確定heartbeat將httpd服務和vip配置成功後,啟動host2上的heartbeat
/etc/init.d/heartbeat start