lvs模型中的RS健康監(jiān)測實(shí)現(xiàn)

一、RS健康監(jiān)測

1、 Director不可用,整個(gè)系統(tǒng)將不可用;SPoF

解決方案:高可用軟件
keepalived
heartbeat/corosync

2、某RS不可用時(shí),Director依然會調(diào)度請求至此RS;

解決方案:對各RS的健康狀態(tài)做檢查,失敗時(shí)禁用,成功時(shí)啟用;
Keepalived軟件:既能高可用又能對后端服務(wù)器健康監(jiān)測
Ldirectord軟件:只能對后端服務(wù)器健康監(jiān)測,并實(shí)施處理
檢測方式:
(a) 網(wǎng)絡(luò)層檢測;
(b) 傳輸層檢測,端口探測;
(c) 應(yīng)用層檢測,請求某關(guān)鍵資源;

二、Ldirectord軟件實(shí)現(xiàn)健康監(jiān)測

[root@vs-110 ~]# wget ftp://ftp.pbone.net/mirror/ftp5.gwdg.de/pub/opensuse/repositories/network:/ha-clustering:/Stable/CentOS_CentOS-6/x86_64/ldirectord-3.9.5-3.1.x86_64.rpm#下載idirectord安裝包
[root@vs-110 ~]# yum install ldirectord-3.9.5-3.1.x86_64.rpm -y#安裝
[root@vs-110 ~]# rpm -ql ldirectord
/etc/ha.d  #主配置文件目錄
/etc/init.d/ldirectord #啟動腳本
[root@vs-110 ~]# cp /usr/share/doc/ldirectord-3.9.5/ldirectord.cf  /etc/ha.d/#拷貝到配置文件目錄下
[root@vs-110 ~]# cd /etc/ha.d
[root@vs-110 ha.d]# vim ldirectord.cf 
# Global Directives #全局配置
checktimeout=3   #超時(shí)時(shí)長
checkinterval=1    #檢測時(shí)長
#fallback=127.0.0.1:80   #全部離線后,由那個(gè)主機(jī)響應(yīng)
#fallback6=[::1]:80  #全部離線后,由那個(gè)主機(jī)響應(yīng)ipv6地址
autoreload=yes
#logfile="/var/log/ldirectord.log" #日志文件目錄
#logfile="local0" #由rsyslog記錄
#emailalert="admin@x.y.z" #修復(fù)郵件地址
#emailalertfreq=3600 #通知修復(fù)郵件時(shí)間周期
#emailalertstatus=all#什么狀態(tài)郵件通知
quiescent=no#不要工作靜默模式

# Sample for an http virtual service
virtual=172.16.15.99:80         #一個(gè)集群
       real=172.16.15.111:80 gate #后端rs地址端口
       real=172.16.15.112:80 gate
       fallback=127.0.0.1:80 gate #后端全部離線后,備用服務(wù)器
       service=http   #對應(yīng)協(xié)議
       scheduler=rr  
       #persistent=600      #持久時(shí)間
       #netmask=255.255.255.255  #指明那個(gè)掩碼
       protocol=tcp
       checktype=negotiate
       checkport=80    #檢測端口
       request="test.html"     #請求那個(gè)主頁,這里我們指向測試頁
      # receive="Test Page"
       #virtualhost=www.x.y.z   #指明那個(gè)虛擬主機(jī)
[root@vs-110 ha.d]# service ldirectord start   #啟動ldirectord
Starting ldirectord (via systemctl):                       [  OK  ]
[root@vs-110 ha.d]# ipvsadm -ln              #查詢狀態(tài)
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
 -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
TCP  172.16.15.99:80 rr
 -> 172.16.15.111:80             Route   1      0          0         #已檢測成功rs1
 -> 172.16.15.112:80             Route   1      0          0         #已檢測成功rs2

將rs1和rs2的httpd服務(wù)關(guān)閉,則vs顯示:

[root@vs-110 ha.d]# ipvsadm -ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
TCP  172.16.15.99:80 rr
  -> 127.0.0.1:80                 Route   1      0          0       #rs1和rs2全部離線后,由此臺主機(jī)響應(yīng)

三、基于防火墻標(biāo)記的健康監(jiān)測

[root@vs-110 ~]# cd /etc/ha.d
[root@vs-110 ha.d]# vim ldirectord.cf 
virtual=3                #防火墻標(biāo)記為3
        real=172.16.15.111 gate
        real=172.16.15.112 gate
#       real=192.168.6.6 gate
        fallback=127.0.0.1:80 gate
        service=http
        scheduler=rr
#       #persistent=600
#       #netmask=255.255.255.255
        protocol=fwm
        checktype=negotiate
        checkport=80
        request="test.html"
#       receive="Test Page"
#       virtualhost=x.y.z
[root@vs-110 ha.d]# iptables -t mangle -A PREROUTING -d 172.16.15.99 -p tcp -m multiport --dports 80,443 -j MARK --set-mark 3  #防火墻標(biāo)記
[root@vs-110 ha.d]# service ldirectord start   #啟動
Starting ldirectord (via systemctl):                       [  OK  ]
[root@vs-110 ha.d]# ipvsadm -ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
FWM  3 rr                                              #防火墻標(biāo)記
  -> 172.16.15.111:0              Route   1      0          0           #已檢測成功rs1
  -> 172.16.15.112:0              Route   1      0          0           #已檢測成功rs2
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 當(dāng)前大多數(shù)的互聯(lián)網(wǎng)系統(tǒng)都使用了服務(wù)器集群技術(shù),集群是將相同服務(wù)部署在多臺服務(wù)器上構(gòu)成一個(gè)集群整體對外提供服務(wù),這些...
    jiangmo閱讀 13,249評論 3 36
  • 集群的概念LVS介紹ipvsadm的使用實(shí)現(xiàn)LVS-NAT實(shí)現(xiàn)LVS-DRLVS高可用 一、集群的概念 (一)系統(tǒng)...
    哈嘍別樣閱讀 845評論 0 2
  • 一、高可用集群 (一)提升系統(tǒng)高可用性的解決方案:冗余(redundant) 工作模式active/passive...
    哈嘍別樣閱讀 1,805評論 2 5
  • 1.Cluster(集群)概念 (1)系統(tǒng)擴(kuò)展方式: Scale UP:向上擴(kuò)展,增強(qiáng)Scale Out:向外擴(kuò)展...
    尛尛大尹閱讀 1,211評論 0 4
  • 本文部分觀點(diǎn)圖片采用于:http://chenx1242.blog.51cto.com 隨著智能機(jī)的逐漸普及,大量...
    BossHuang閱讀 3,395評論 0 16

友情鏈接更多精彩內(nèi)容