HeartBeat基礎配置(實現Web服務雙機熱備)


Heartbeat 項目是 Linux-HA 工程的一個組成部分,它實現了一個高可用集群系統。心跳服務和集群通信是高可用集群的兩個關鍵組件,在 Heartbeat 項目里,由 heartbeat 模塊實現了這兩個功能。

本實驗實現web服務器的主備雙熱備份系統

Linux系統:Linux6.8

規划:2台主機做集群

image

目錄:

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.com

NA2

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

image

image

2、建立SSH互信,ssh-keygen

配置信息

NA1

ssh-keygen -t rsa -f ./.ssh/id_rsa -P ''
ssh-copy-id -i .ssh/id_rsa.pub root@192.168.94.130

NA2

ssh-keygen -t rsa -f ./.ssh/id_rsa -P ''
ssh-copy-id -i .ssh/id_rsa.pub root@192.168.94.129

測試效果

分別ssh對方,不需要輸入密碼

image

image

3、NTP時間同步

配置信息

我們沒有時間服務器,為了2台設備能夠穩定,我們采用NA1作為ntp服務器。

NA1

vim /etc/ntp.conf

修改內容如下

image

啟動服務

service ntpd start
chkconfig ntpd on

NA2

NA2的時間需要和NA1進行同步,因此關閉NA2的ntp服務,同步NA1的時間。

關閉服務

service ntpd stop
chkconfig ntpd off

同步時間

image

由於沒法每次手動同步時間,我們需要寫一個計划任務,定期同步時間

時間同步計划

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值。

image

2、服務配置

vim /etc/ha.d/ha.cf

在eth1接口上進行廣播

image

添加集群節點(這里的名字必須和主機uname -n一致)

image

3、資源管理配置

vim /etc/ha.d/sharesources
image

NA2將NA1的配置文件復制過來即可。

配置完成之后,我們將三個配置文件復制到NA2上

scp authkeys haresources ha.cf  na2:/etc/ha.d/

image

7、啟動服務,進行測試

首先停止並且關閉開機自啟httpd服務。

NA1&NA2

service httpd stop
chkconfig httpd off

編寫網站頁面

NA1

echo "<h1>na1.server.com</h1>" >> /var/www/html/index.html

NA2

echo "<h1>na2.server.com</h1>" >> /var/www/html/index.html

啟動heartbeat服務

NA1&NA2

service heartbeat start

結果查看

NA1上查看日志消息

image

查看端口服務

image

現在NA1是主服務節點

訪問VIP192.168.94.222

image

模擬NA1故障,使用內置腳本hb_standby,將NA1修改為從節點。

將NA1改為從節點

image

訪問VIP192.168.94.222

image

現在NA2為主,NA2提供web服務。

查看端口狀態

NA1

image

NA2

image

現在我們NA2是主節點,我們在換回來,讓NA1當主。

NA2

[root@na2 ~]# /usr/share/heartbeat/hb_standby
Going standby [all].
[root@na2 ~]#

image

模擬真實故障,我們把NA1關機測試。

NA1關機后,NA2變為了主節點,為客戶端提供服務,能夠實現備雙熱備份系統。

image


讀書和健身總有一個在路上


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM