此篇部落格的基礎是配置DR的具體的虛拟環境已經配置完畢,詳情點選下面的網址檢視如何配置
https://blog.csdn.net/weixin_40543283/article/details/87794845
1.為什麼要進行健康檢查
在DR模式中我們設定的是輪詢模式,如果輪詢模式中的其中一台主機server2或者是server3或者兩台全部都挂了,那麼使用者通路的時候,這一次頁面是沒有問題的,但是很有可能下一次重新整理就出現了故障,是以我們需要進行一個健康檢查,當其中一台servre出現問題的時候,做到暫時在叢集中删除改server,當出現故障的server恢複其功能時,再将其加入到輪詢中,以保證整個群組的穩定可靠
2.怎麼實作LVS後端服務健康狀态檢查
實時檢查各Real Server的健康狀态,實作的方式很多,如四層TCP健康檢測、七層HTTP健康檢測,如通路某個端口、請求一個專用的服務接口等,也可用ldirectord、keepalived等高可用元件來實作,我們這裡使用ldirectord來實作
3.部署ldirectord健康檢查
1)server1
首先安裝ldirectord軟體,這裡我依舊使用ftp下載下傳到虛拟機,大家也可以使用scp等方法,點選下載下傳
yum install httpd -y
yum install ldirectord-3.9.5-3.1.x86_64.rpm -y
然後檢視配置檔案
rpm -qpl ldirectord-3.9.5-3.1.x86_64.rpm
這個軟體需要将配置檔案的主機闆拷到/etc/ha.d/,然後修改其中的配置為
cp /usr/share/doc/ldirectord-3.9.5/ldirectord.cf /etc/ha.d ##拷貝檔案
vim /etc/ha.d/ldirectord.cf ##修改配置檔案
vim ldirectord.cf
# Global Directives #“ 全局 ” 設定
checktimeout=3 #指定定real server出錯的時間間隔
checkinterval=1 #指定ldirectord在兩次檢查之間的時間間隔
autoreload=yes #自動重載配置檔案,選yes時,當配置檔案發生變化,自動載入配置資訊
quiescent=no
#當一個節點在 checktimeout 設定的時間周期内沒有響應是它是 “ 靜止的 ” (它的權重為0),當你設定了這個選項後,ldirectord 将 會從 IPVS 表中移除真實伺服器而不是 “ 停止 ” 它,從 IPVS 表移除節點将中斷現有的用戶端連接配接,并使 LVS 丢掉所有的連接配接跟蹤記錄和持續連接配接模闆,如果 你不将這個選項設定為 no,當某個節點崩潰時,對某些用戶端計算機而言可能會顯示為叢集關閉了,因為在這個節點崩潰前這些用戶端計算機被配置設定給它了,而連接配接跟蹤記錄和程式連接配接模闆仍然保留在Director上。
logfile="/var/log/ldirectord.log" #設定ldirectord日志輸出檔案路徑
# Sample for an http virtual service
virtual=172.25.1.100:80 #VIP 位址和端口号
real=172.25.1.2:80 gate #指定RealServer位址和端口,同時設定LVS工作模式,gate表示DR模式,ipip表示TUNL模式,masq表示NAT模式。
real=172.25.1.3:80 gate #當所有的real server節點不能工作時,web服務重定向的位址
fallback=127.0.0.1:80 gate #當所有的real server節點不能工作時,web服務重定向的位址
service=http #指定服務類型,對http服務做負載均衡
scheduler=rr #指定排程算法,這裡是rr(輪叫)算法
#persistent=600
#netmask=255.255.255.255
protocol=tcp #指出該服務使用的協定:tcp、udp 或 fwm
checktype=negotiate #指定Ldirectord的檢測類型,預設為negotiate
checkport=80 #健康檢查使用的端口是 80
request="index.html"
#receive="Test Page" #指定請求和應答字串
#virtualhost=www.x.y.z #虛拟伺服器的名稱
然後開啟服務
/etc/init.d/ldirectord start ##開啟服務
4.測試:
1)當所有的伺服器正常的時候,是正常的輪詢的
2)當其中一台主機server2壞掉的時候,會隻通路其中一台主機
當server2恢複正常的時候,會恢複到輪詢模式
3)當兩台主機都壞掉的時候,就會通路不到
然而我們這裡為了看着友善,進行一個提示
/etc/init.d/httpd start
vim /var/www/html/index.html
網站正在維護中,清等待.....
如圖,通路的人就知道是網站正在維護中了~
ok~