Heartbeat 專案是 Linux-HA 工程的一個組成部分,它實作了一個高可用集群系統,心跳服務和集群通信是高可用集群的兩個關鍵組件,在 Heartbeat 專案里,由 heartbeat 模塊實作了這兩個功能,
本實驗實作web服務器的主備雙熱備份系統
Linux系統:Linux6.8
規劃:2臺主機做集群
目錄:
1、修改主機名,并設定主機名決議
2、建立SSH互信,ssh-keygen
3、NTP時間同步
4、安裝heartbeat軟體
5、heartbeat服務配置
6、啟動服務,進行測驗-撰寫網站頁面
1、修改主機名,并設定主機名決議
配置資訊
NA1
vim /etc/sysconfig/network NETWORKING=yes HOSTNAME=na1.server.com vim /etc/hosts 添加 192.168.94.129 na1 na1.server.com 192.168.94.130 na2 na2.server.comNA2
vim /etc/sysconfig/network NETWORKING=yes HOSTNAME=na2.server.com vim /etc/hosts 添加 192.168.94.129 na1 na1.server.com 192.168.94.130 na2 na2.server.com
測驗效果
在NA1和NA2上進行測驗,ping na1 | ping na2
2、建立SSH互信,ssh-keygen
配置資訊
NA1
ssh-keygen -t rsa -f ./.ssh/id_rsa -P '' ssh-copy-id -i .ssh/id_rsa.pub [email protected]NA2
ssh-keygen -t rsa -f ./.ssh/id_rsa -P '' ssh-copy-id -i .ssh/id_rsa.pub [email protected]
測驗效果
分別ssh對方,不需要輸入密碼
3、NTP時間同步
配置資訊
我們沒有時間服務器,為了2臺設備能夠穩定,我們采用NA1作為ntp服務器,
NA1
vim /etc/ntp.conf修改內容如下
啟動服務
service ntpd start chkconfig ntpd onNA2
NA2的時間需要和NA1進行同步,因此關閉NA2的ntp服務,同步NA1的時間,
關閉服務
service ntpd stop chkconfig ntpd off同步時間
由于沒法每次手動同步時間,我們需要寫一個計劃任務,定期同步時間
時間同步計劃
crontb -e 添加 */5 * * * * /sbin/ntpdate na1 &> /dev/null每5分鐘同步一次
4、安裝heartbeat軟體
安裝軟體之前建議對系統備份一次,避免安裝失敗,又得從頭再來,
下載安裝包,這里我使用epel的yum進行安裝,
NA1和NA2都進行安裝
yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm -y安裝heartbeat
yum install heartbeat*
5、heartbeat服務配置
heartbeat有3個主要組態檔
1、秘鑰檔案 authkeys,該檔案權限要為600,不然服務啟動會失敗,
2、服務組態檔 ha.cf
3、資源管理組態檔 haresources
組態檔路徑為/etc/ha.d
默認這個路徑下沒有組態檔,有個配置樣例,在/usr/share/doc/heartbeat-*.*.*/路徑下,*是你安裝的版本號,
cd /etc/ha.d/ cp /usr/share/doc/heartbeat-3.0.4/{authkeys,ha.cf,haresources} ./
設定網站主備
NA1
1、秘鑰檔案設定
vim /etc/ha.d/authkeys使用md5,隨便計算一個md5值,
2、服務配置
vim /etc/ha.d/ha.cf在eth1介面上進行廣播
添加集群節點(這里的名字必須和主機uname -n一致)
3、資源管理配置
vim /etc/ha.d/sharesources
NA2將NA1的組態檔復制過來即可,
配置完成之后,我們將三個組態檔復制到NA2上
scp authkeys haresources ha.cf na2:/etc/ha.d/
7、啟動服務,進行測驗
首先停止并且關閉開機自啟httpd服務,
NA1&NA2
service httpd stop chkconfig httpd off
撰寫網站頁面
NA1
echo "<h1>na1.server.com</h1>" >> /var/www/html/index.htmlNA2
echo "<h1>na2.server.com</h1>" >> /var/www/html/index.html
啟動heartbeat服務
NA1&NA2
service heartbeat start
結果查看
NA1上查看日志訊息
查看埠服務
現在NA1是主服務節點
訪問VIP192.168.94.222
模擬NA1故障,使用內置腳本hb_standby,將NA1修改為從節點,
將NA1改為從節點
訪問VIP192.168.94.222
現在NA2為主,NA2提供web服務,
查看埠狀態
NA1
NA2
現在我們NA2是主節點,我們在換回來,讓NA1當主,
NA2
[root@na2 ~]# /usr/share/heartbeat/hb_standby Going standby [all]. [root@na2 ~]#
模擬真實故障,我們把NA1關機測驗,
NA1關機后,NA2變為了主節點,為客戶端提供服務,能夠實作備雙熱備份系統,

讀書和健身總有一個在路上
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/73293.html
標籤:Linux
上一篇:容器技術之Docker資料卷
下一篇:公有云技術




















