集群 --- LVS + Keepalived

1、LVS Keepalived 集群的組成

LVS(linux virtual server,linux 虛擬服務(wù)器),由以下三部分組成:

  • 負(fù)載均衡層(load balance): 位于整個(gè)集群的最前端,由一臺(tái)或多臺(tái)負(fù)載調(diào)度器(Director Server)組成。其上安裝了 LVS 的核心模塊 IPVS趟佃,負(fù)責(zé)把用戶請求分發(fā)給服務(wù)器群組層的應(yīng)用服務(wù)器(Real Server)。同時(shí)還有監(jiān)控模塊(Ldirectord)昧捷,用于監(jiān)測各個(gè) Real Server 服務(wù)的健康情況闲昭,當(dāng) real server 不可用時(shí),將其從路由表中剔除料身,待主機(jī)恢復(fù)后重新加入汤纸。
  • 服務(wù)器群組(Server Array): 由一組實(shí)際運(yùn)行應(yīng)用服務(wù)的主機(jī)組成。每個(gè) Real Server 之間通過高速 LAN 相連芹血。
  • 數(shù)據(jù)共享存儲(chǔ)(Shared Storage): 為所有 Real Server 提供共享存儲(chǔ)空間和內(nèi)容一致性的存儲(chǔ)區(qū)域贮泞,一般由磁盤陣列設(shè)備組成。
LVS_Keepalived_組成.png

2幔烛、IPVS 的簡單介紹

IPVS: 安裝于 Director Server 上啃擦,并在 Director Server 上虛擬出一個(gè) VIP(Virtual IP)。用戶的訪問請求通過 VIP 到達(dá)負(fù)載調(diào)度器饿悬,然后由負(fù)載調(diào)度器從 Real Server 列表中選取一個(gè)服務(wù)節(jié)點(diǎn)響應(yīng)用戶的請求令蛉。

2.1、IPVS 轉(zhuǎn)發(fā)請求的 3 種方式:
  • VS/NAT(Virtual Server via Network Address Translation): 當(dāng)用戶請求到達(dá)調(diào)度器時(shí)狡恬,調(diào)度器將請求報(bào)文的目標(biāo)地址和端口地址改寫成選定的 Real Server 的相應(yīng)地址和端口珠叔,并將請求報(bào)文發(fā)送給選定的 Real Server。當(dāng) Real Server 返回?cái)?shù)據(jù)時(shí)弟劲,還需要再次將報(bào)文的源地址和端口更改為 VIP 和相應(yīng)的端口后祷安,再發(fā)送給用戶。
    因?yàn)檎埱蠛晚憫?yīng)報(bào)文都需要經(jīng)過 Director Server 重寫兔乞,所以當(dāng)高并發(fā)時(shí)汇鞭,調(diào)度器的處理能力將會(huì)成為瓶頸。
  • VS/TUN (Virtual Server via IP Tunneling):
    也就是 IP 隧道技術(shù)實(shí)現(xiàn)虛擬服務(wù)器庸追。調(diào)度器采用 IP 隧道技術(shù)將用戶請求轉(zhuǎn)發(fā)到某個(gè) Real Server霍骄,而這個(gè) Real Server 將直接響應(yīng)用戶的請求,不再經(jīng)過前端調(diào)度器淡溯,此外读整,對 Real Server 的地域位置沒有要求,可以和 Director Server 位于同一個(gè)網(wǎng)段咱娶,也可以是獨(dú)立的一個(gè)網(wǎng)絡(luò)绘沉。由于在 TUN 方式中煎楣,調(diào)度器將只處理用戶的報(bào)文請求,集群系統(tǒng)的吞吐量大大提高车伞。

  • VS/DR(Virtual Server via Direct Routing):
    也就是用直接路由技術(shù)實(shí)現(xiàn)虛擬服務(wù)器。VS/DR 通過改寫請求報(bào)文的 MAC 地址喻喳,將請求發(fā)送到 Real Server另玖,而 Real Server 將響應(yīng)直接返回給客戶,免去了 VS/TUN 中的 IP 隧道開銷表伦。這種方式是三種負(fù)載調(diào)度機(jī)制中性能最高谦去、最好的信夫,但是必須要求 Director Server 與 Real Server 都有一塊網(wǎng)卡連在同一物理網(wǎng)段上吠卷。

2.2、IPVS 的負(fù)載調(diào)度算法:

上面我們談到萎胰,負(fù)載調(diào)度器是根據(jù)各個(gè)服務(wù)器的負(fù)載情況妆丘,動(dòng)態(tài)地選擇一臺(tái) Real Server 響應(yīng)用戶請求,那么動(dòng)態(tài)選擇是如何實(shí)現(xiàn)呢局劲,其實(shí)也就是我們這里要說的負(fù)載調(diào)度算法,根據(jù)不同的網(wǎng)絡(luò)服務(wù)需求和服務(wù)器配置,IPVS 實(shí)現(xiàn)了如下八種負(fù)載調(diào)度算法,這里我們詳細(xì)講述最常用的四種調(diào)度算法蜡励,剩余的四種調(diào)度算法請參考其它資料。

  • 輪詢調(diào)度(Round Robin)
    “輪詢”調(diào)度也叫1:1調(diào)度慎王,調(diào)度器通過“輪詢”調(diào)度算法將外部用戶請求按順序1:1的分配到集群中的每個(gè) Real Server 上赖淤,這種算法平等地對待每一臺(tái) Real Server咱旱,而不管服務(wù)器上實(shí)際的負(fù)載狀況和連接狀態(tài)崎苗。

  • 加權(quán)輪詢調(diào)度(Weighted Round Robin)
    “加權(quán)輪詢”調(diào)度算法是根據(jù) Real Server 的不同處理能力來調(diào)度訪問請求幅慌。可以對每臺(tái) Real Server 設(shè)置不同的調(diào)度權(quán)值渗饮,對于性能相對較好的 Real Server 可以設(shè)置較高的權(quán)值私蕾,而對于處理能力較弱的 Real Server,可以設(shè)置較低的權(quán)值自脯,這樣保證了處理能力強(qiáng)的服務(wù)器處理更多的訪問流量桐磁,充分合理的利用了服務(wù)器資源。同時(shí)冯勉,調(diào)度器還可以自動(dòng)查詢 Real Server 的負(fù)載情況,并動(dòng)態(tài)地調(diào)整其權(quán)值彤委。

  • 最少鏈接調(diào)度(Least Connections)
    “最少連接”調(diào)度算法動(dòng)態(tài)地將網(wǎng)絡(luò)請求調(diào)度到已建立的鏈接數(shù)最少的服務(wù)器上。如果集群系統(tǒng)的真實(shí)服務(wù)器具有相近的系統(tǒng)性能或衡,采用“最小連接”調(diào)度算法可以較好地均衡負(fù)載焦影。

  • 加權(quán)最少鏈接調(diào)度(Weighted Least Connections)
    “加權(quán)最少鏈接調(diào)度”,每個(gè)服務(wù)節(jié)點(diǎn)可以用相應(yīng)的權(quán)值表示其處理能力封断,而系統(tǒng)管理員可以動(dòng)態(tài)的設(shè)置相應(yīng)的權(quán)值斯辰,缺省權(quán)值為1,加權(quán)最小連接調(diào)度在分配新連接請求時(shí)盡可能使服務(wù)節(jié)點(diǎn)的已建立連接數(shù)和其權(quán)值成正比坡疼。

  • 其它四種調(diào)度算法分別為:

    • 基于局部性的最少鏈接(Locality-Based Least Connections)
    • 帶復(fù)制的基于局部性最少鏈接(Locality-Based Least Connections with Replication)
    • 目標(biāo)地址散列(Destination Hashing)
    • 源地址散列(Source Hashing)

3彬呻、keepalived 的原理的簡單介紹:

VRRP (Virtual Router Redundancy Protocol,虛擬路由器冗余協(xié)議): 在現(xiàn)實(shí)的網(wǎng)絡(luò)環(huán)境中柄瑰,主機(jī)之間的通信都是通過配置靜態(tài)路由(默認(rèn)網(wǎng)關(guān))完成的闸氮,而主機(jī)之間的路由器一旦出現(xiàn)故障,通信就會(huì)失敗教沾,因此蒲跨,在這種通信模式中,路由器就成了一個(gè)單點(diǎn)瓶頸授翻,為了解決這個(gè)問題或悲,就引入了 VRRP 協(xié)議。

VRRP 可以將兩臺(tái)或多臺(tái)物理路由器設(shè)備虛擬成一個(gè)虛擬路由器藏姐,每個(gè)虛擬路由器都有一個(gè)唯一標(biāo)識(shí)隆箩,稱為 VRID,一個(gè) VRID 與一組 IP 地址構(gòu)成了一個(gè)虛擬路由器羔杨。這個(gè)虛擬路由器通過虛擬IP(一個(gè)或多個(gè))對外提供服務(wù)捌臊。而在虛擬路由器內(nèi)部,同一時(shí)間只有一臺(tái)物理路由器對外提供服務(wù)兜材,這臺(tái)物理路由器被稱為主路由器(處于 MASTER 角色)理澎。而其他物理路由器不擁有對外的虛擬 IP,也不提供對外網(wǎng)絡(luò)功能曙寡,僅僅接收 MASTER 的 VRRP 狀態(tài)通告信息糠爬,這些路由器被統(tǒng)稱為備份路由器(處于 BACKUP 角色)。當(dāng)主路由器失效時(shí)举庶,處于 BACKUP 角色的備份路由器將重新進(jìn)行選舉执隧,產(chǎn)生一個(gè)新的主路由器進(jìn)入 MASTER 角色繼續(xù)提供對外服務(wù),整個(gè)切換過程對用戶來說完全透明。

Keepalived 作為一個(gè)高性能集群軟件镀琉,它還能實(shí)現(xiàn)對集群中服務(wù)器運(yùn)行狀態(tài)的監(jiān)控及故障隔離峦嗤。下面繼續(xù)介紹下 Keepalived 對服務(wù)器運(yùn)行狀態(tài)監(jiān)控和檢測的工作原理。

Keepalived 工作在 TCP/IP 參考模型的第三屋摔、第四和第五層烁设,也就是網(wǎng)絡(luò)層、傳輸層和應(yīng)用層钓试。根據(jù) TCP/IP 參考模型各層所能實(shí)現(xiàn)的功能装黑,Keepalived運(yùn)行機(jī)制如下:

  • 在網(wǎng)絡(luò)層,運(yùn)行著四個(gè)重要的協(xié)議:互連網(wǎng)協(xié)議 IP弓熏、互連網(wǎng)控制報(bào)文協(xié)議 ICMP恋谭、地址轉(zhuǎn)換協(xié)議 ARP 以及反向地址轉(zhuǎn)換協(xié)議 RARP。Keepalived 在網(wǎng)絡(luò)層采用的最常見的工作方式是通過ICMP協(xié)議向服務(wù)器集群中的每個(gè)節(jié)點(diǎn)發(fā)送一個(gè) ICMP 的數(shù)據(jù)包(類似于 ping 實(shí)現(xiàn)的功能)挽鞠,如果某個(gè)節(jié)點(diǎn)沒有返回響應(yīng)數(shù)據(jù)包箕别,那么就認(rèn)為此節(jié)點(diǎn)發(fā)生了故障,Keepalived 將報(bào)告此節(jié)點(diǎn)失效滞谢,并從服務(wù)器集群中剔除故障節(jié)點(diǎn)。

  • 在傳輸層除抛,提供了兩個(gè)主要的協(xié)議:傳輸控制協(xié)議 TCP 和用戶數(shù)據(jù)協(xié)議 UDP狮杨。傳輸控制協(xié)議 TCP 可以提供可靠的數(shù)據(jù)傳輸服務(wù),IP 地址和端口到忽,代表一個(gè) TCP 連接的一個(gè)連接端橄教。要獲得 TCP 服務(wù),須在發(fā)送機(jī)的一個(gè)端口上和接收機(jī)的一個(gè)端口上建立連接,而 Keepalived 在傳輸層就是利用 TCP 協(xié)議的端口連接和掃描技術(shù)來判斷集群節(jié)點(diǎn)是否正常的喘漏。比如护蝶,對于常見的 Web 服務(wù)默認(rèn)的 80 端口、SSH 服務(wù)默認(rèn)的 22 端口等翩迈,Keepalived 一旦在傳輸層探測到這些端口沒有響應(yīng)數(shù)據(jù)返回持灰,就認(rèn)為這些端口發(fā)生異常,然后強(qiáng)制將此端口對應(yīng)的節(jié)點(diǎn)從服務(wù)器集群組中移除负饲。

  • 在應(yīng)用層堤魁,可以運(yùn)行 FTP、TELNET返十、SMTP妥泉、DNS 等各種不同類型的高層協(xié)議,Keepalived 的運(yùn)行方式也更加全面化和復(fù)雜化洞坑,用戶可以通過自定義 Keepalived 的工作方式盲链,例如用戶可以通過編寫程序來運(yùn)行 Keepalived,而 Keepalived 將根據(jù)用戶的設(shè)定檢測各種程序或服務(wù)是否允許正常,如果 Keepalived 的檢測結(jié)果與用戶設(shè)定不一致時(shí)刽沾,Keepalived 將把對應(yīng)的服務(wù)從服務(wù)器中移除本慕。

4、安裝配置 load balance 層主機(jī)

4.1悠轩、安裝規(guī)劃:

IP 地址規(guī)劃:

  • vip:192.168.135.46
  • lvs_master_dr:192.168.135.42
  • lvs_backup_dr:192.168.135.43
  • realserver1:192.168.135.44
  • realserver2:192.168.135.45
4.2间狂、安裝 lvs 管理軟件

注1:

以下操作在 lvs_master_dr(192.168.135.42)上進(jìn)行

下載鏈接:

http://www.linuxvirtualserver.org/software/ipvs.html

檢查主機(jī)內(nèi)核版本

]# uname -r
2.6.32-642.el6.x86_64

根據(jù)內(nèi)核對應(yīng)關(guān)系,下載 ipvsadm-1.26 版本

]# wget http://www.linuxvirtualserver.org/software/kernel-2.6/ipvsadm-1.26.tar.gz -P /usr/local/src/

安裝依賴環(huán)境

]# yum install 'gcc' 'kernel-devel' 'libnl-devel' 'openssl-devel' -y
]# yum install 'popt-devel' 'popt-static' -y

編譯安裝

]# cd /usr/local/src/
]# tar -xzvf ipvsadm-1.26.tar.gz
]# cd ipvsadm-1.26
]# make && make install

注2:

也可以直接使用 yum 進(jìn)行安裝

]# yum install ipvsadm -y
4.3火架、安裝 keepalived

下載鏈接:

http://www.keepalived.org/download.html

下載:

]# wget http://www.keepalived.org/software/keepalived-1.2.20.tar.gz -P /usr/local/src/

安裝依賴環(huán)境

]# yum install libnfnetlink-devel -y

編譯安裝:

]# cd /usr/local/src/
]# tar -xzvf keepalived-1.2.20.tar.gz 
]# cd keepalived-1.2.20
]# ./configure --prefix=/usr/local/keepalive --with-kernel-dir=/usr/src/kernels/2.6.32-573.el6.x86_64/
]# make && make install

注:

--with-kernel-dir: 這個(gè)參數(shù)并不是要把 Keepalived 編譯進(jìn)內(nèi)核鉴象,而是指定使用內(nèi)核源碼中的頭文件,即 include 目錄何鸡。只有在使用 LVS 時(shí)纺弊,才需要用到 --with-kernel-dir 參數(shù),其他時(shí)候是不需要的骡男。

環(huán)境調(diào)整:

]# ln -s /usr/local/keepalive/etc/rc.d/init.d/keepalived /etc/rc.d/init.d/
]# ln -s /usr/local/keepalive/etc/sysconfig/keepalived /etc/sysconfig/
]# mkdir /etc/keepalived
]# ln -s /usr/local/keepalive/etc/keepalived/keepalived.conf /etc/keepalived/
]# ln -s /usr/local/keepalive/sbin/keepalived /usr/sbin/

]# vim /etc/profile
export PATH=$PATH:/usr/local/keepalive/sbin:/usr/local/keepalive/bin
]# source /etc/profile
4.5淆游、配置 keepalived
4.5.1、備份配置文件
]# cd /usr/local/keepalive/etc/keepalived/
]# cp keepalived.conf keepalived.conf_`date +%F`.bak
4.5.2隔盛、配置文件的整體說明

Keepalived 的配置文件都是以塊(block)的形式組織的犹菱,每個(gè)塊的內(nèi)容都包含在 {} 中,以 #! 開頭的行都是注釋吮炕。

根據(jù)配置文件所實(shí)現(xiàn)的功能腊脱,將 Keepalived 配置分成三類,分別是:

  • 全局配置(Global Configuration)
  • VRRPD 配置
  • Virtual Host 配置
    • 虛擬主機(jī)的配置
    • 真實(shí)主機(jī)的配置
      • 真實(shí)主機(jī)的健康檢查
4.5.3龙亲、全局配置

全局配置就是對整個(gè) Keepalived 都生效的配置陕凹,基本內(nèi)容如下:

! Configuration File for keepalived

global_defs {
   notification_email {
     acassen@firewall.loc
     failover@firewall.loc
     sysadmin@firewall.loc
   }
   notification_email_from Alexandre.Cassen@firewall.loc
   smtp_server 192.168.200.1
   smtp_connect_timeout 30
   router_id LVS_DEVEL
   vrrp_skip_check_adv_addr
   vrrp_strict
}

全局配置以 global_defs 作為標(biāo)識(shí),在 global_defs 區(qū)域內(nèi)的都是全局配置選項(xiàng)鳄炉,其中:

  • notification_email: 用于設(shè)置報(bào)警郵件地址杜耙,可以設(shè)置多個(gè),每行一個(gè)拂盯。注意佑女,如果要開啟郵件報(bào)警,需要開啟本機(jī)的 Sendmail 服務(wù)谈竿。
  • notification_email_from: 用于設(shè)置郵件的發(fā)送地址珊豹。
  • smtp_server: 用于設(shè)置郵件的 smtp server 地址。
  • smtp_connect_timeout: 用于設(shè)置連接 smtp server 的超時(shí)時(shí)間榕订。
  • router_id: 表示運(yùn)行 Keepalived 服務(wù)器的一個(gè)標(biāo)識(shí)店茶,是發(fā)郵件時(shí)顯示在郵件主題中的信息。
4.5.4劫恒、VRRPD 配置

VRRP 實(shí)例的配置贩幻,也就是配置 Keepalived 的高可用功能轿腺。VRRP 實(shí)例段主要用來配置節(jié)點(diǎn)角色(主或從)、實(shí)例綁定的網(wǎng)絡(luò)接口丛楚、節(jié)點(diǎn)間驗(yàn)證機(jī)制族壳、集群服務(wù)IP等。下面是實(shí)例 VI_1 的一個(gè)配置樣例趣些。

vrrp_instance VI_1 {
    state MASTER
    interface eth0
    virtual_router_id 51
    priority 100
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        192.168.135.46
    }
}

以上 VRRP 配置以 vrrp_instance 作為標(biāo)識(shí)仿荆,在這個(gè)實(shí)例中包含了若干配置選項(xiàng),分別介紹如下:

  • vrrp_instance: 是 VRRP 實(shí)例開始的標(biāo)識(shí)坏平,后跟 VRRP 實(shí)例名稱拢操。
  • state: 用于指定 Keepalived 的角色,MASTER 表示此主機(jī)是主服務(wù)器舶替,BACKUP 表示此主機(jī)是備用服務(wù)器令境。
  • interface: 用于指定 HA 監(jiān)測網(wǎng)絡(luò)的接口顾瞪。
  • virtual_router_id: 是虛擬路由標(biāo)識(shí)舔庶,這個(gè)標(biāo)識(shí)是一個(gè)數(shù)字,同一個(gè) vrrp 實(shí)例使用唯一的標(biāo)識(shí)陈醒,即在同一個(gè) vrrp_instance 下惕橙,MASTER 和 BACKUP 必須是一致的。
  • priority: 用于定義節(jié)點(diǎn)優(yōu)先級钉跷,數(shù)字越大表示節(jié)點(diǎn)的優(yōu)先級就越高吕漂。在一個(gè) vrrp_instance 下,MASTER 的優(yōu)先級必須大于 BACKUP 的優(yōu)先級尘应。
  • advert_int: 用于設(shè)定 MASTER 與 BACKUP 主機(jī)之間同步檢查的時(shí)間間隔,單位是秒吼虎。
  • authentication: 用于設(shè)定節(jié)點(diǎn)間通信驗(yàn)證類型和密碼犬钢,驗(yàn)證類型主要有 PASS 和 AH 兩種,在一個(gè) vrrp_instance 下思灰,MASTER 與 BACKUP 必須使用相同的密碼才能正常通信玷犹。
  • virtual_ipaddress: 用于設(shè)置虛擬 IP 地址(VIP),又叫做漂移 IP 地址洒疚〈跬牵可以設(shè)置多個(gè)虛擬 IP 地址,每行一個(gè)油湖。之所以稱為漂移 IP 地址巍扛,是因?yàn)?Keepalived 切換到 Master 狀態(tài)時(shí),這個(gè) IP 地址會(huì)自動(dòng)添加到系統(tǒng)中乏德,而切換到 BACKUP 狀態(tài)時(shí)撤奸,這些 IP 又會(huì)自動(dòng)從系統(tǒng)中刪除吠昭。Keepalived 通過 ip address add 命令的形式將 VIP 添加進(jìn)系統(tǒng)中。要查看系統(tǒng)中添加的 VIP 地址胧瓜,可以通過 ip add 命令實(shí)現(xiàn)矢棚。virtual_ipaddress 段中添加的 IP 形式可以多種多樣,例如可以寫成 192.168.16.189/24 dev eth1 這樣的形式府喳,而 Keepalived 會(huì)使用 IP 命令ip addr add 192.168.16.189/24 dev eth1 將 IP 信息添加到系統(tǒng)中蒲肋。因此,這里的配置規(guī)則和 IP 命令的使用規(guī)則是一致的钝满。
virtual_server 192.168.135.46 80 {
    delay_loop 6
    lb_algo rr
    lb_kind DR
    persistence_timeout 120
    protocol TCP

    # sorry_server 192.168.200.200 1358

    real_server 192.168.135.44 80 {
        weight 1
        TCP_CHECK {
            connect_timeout 3
            nb_get_retry 3
            delay_before_retry 3
        }
    }
    
    real_server 192.168.135.45 80 {
        weight 1
        TCP_CHECK {
            connect_timeout 3
            nb_get_retry 3
            delay_before_retry 3
        }
    }
}

下面介紹每個(gè)選項(xiàng)的含義兜粘。

  • virtual_server: 設(shè)置虛擬服務(wù)器的開始,后面跟虛擬 IP 地址和服務(wù)端口舱沧,IP 與端口之間用空格隔開妹沙。
  • delay_loop: 設(shè)置健康檢查的時(shí)間間隔,單位是秒熟吏。
  • lb_algo: 設(shè)置負(fù)載調(diào)度算法距糖,可用的調(diào)度算法有 rr、wrr牵寺、lc悍引、wlc、lblc帽氓、sh趣斤、dh 等,常用的算法有 rr 和 wlc黎休。
  • lb_kind: 設(shè)置LVS實(shí)現(xiàn)負(fù)載均衡的機(jī)制浓领,有 NAT、TUN 和 DR 三個(gè)模式可選势腮。
  • persistence_timeout: 會(huì)話保持時(shí)間联贩,單位是秒。這個(gè)選項(xiàng)對動(dòng)態(tài)網(wǎng)頁是非常有用的捎拯,為集群系統(tǒng)中的 session 共享提供了一個(gè)很好的解決方案泪幌。有了這個(gè)會(huì)話保持功能,用戶的請求會(huì)一直分發(fā)到某個(gè)服務(wù)節(jié)點(diǎn)署照,直到超過這個(gè)會(huì)話的保持時(shí)間祸泪。需要注意的是,這個(gè)會(huì)話保持時(shí)間是最大無響應(yīng)超時(shí)時(shí)間建芙,也就是說没隘,用戶在操作動(dòng)態(tài)頁面時(shí),如果在 120 秒內(nèi)沒有執(zhí)行任何操作禁荸,那么接下來的操作會(huì)被分發(fā)到另外的節(jié)點(diǎn)升略,但是如果用戶一直在操作動(dòng)態(tài)頁面微王,則不受 120 秒的時(shí)間限制。默認(rèn)配置為 50 秒品嚣,實(shí)際生產(chǎn)時(shí)建議設(shè)置為 120 秒炕倘。
  • protocol: 指定轉(zhuǎn)發(fā)協(xié)議類型,有 TCP 和 UDP 兩種可選翰撑。
  • sorry_server: 相當(dāng)于一個(gè)備用節(jié)點(diǎn)罩旋,在所有 real server 失效后,這個(gè)備用節(jié)點(diǎn)會(huì)啟用眶诈。

健康檢測段允許多種檢查方式涨醋,常見的有 HTTP_GET、SSL_GET逝撬、TCP_CHECK浴骂、SMTP_CHECK、MISC_CHECK宪潮。此處使用的為 TCP_CHECK溯警,下面介紹每個(gè)選項(xiàng)的含義:

  • connect_port: 健康檢查的端口,如果無指定狡相,默認(rèn)是 real_server 指定的端口梯轻。
  • connect_timeout: 表示無響應(yīng)超時(shí)時(shí)間,單位是秒尽棕,這里是3秒超時(shí)喳挑。
  • nb_get_retry: 表示重試次數(shù),這里是3次滔悉。
  • delay_before_retry: 表示重試間隔伊诵,這里是間隔3秒。

注:

在安裝配置 lvs_backup_dr 主機(jī)時(shí)回官,步驟與上面完全一致曹宴,只是在修改 Keepalived 配置文件時(shí),有兩點(diǎn)不一樣

state MASTER --> BACKUP
priority 100 --> 90
4.5.5孙乖、啟動(dòng) keepalived
]# /etc/init.d/keepalived start
4.6、安裝配置 real server 層主機(jī)
4.6.1份氧、安裝配置 Apache 服務(wù)
]# yum install httpd

# 配置一個(gè)首頁唯袄,填寫 real server 主機(jī)實(shí)際地址,以便在后期測試過程中標(biāo)識(shí)主機(jī)
]# vim /var/www/html/index.html
This is 192.168.135.4X

# 啟動(dòng) http 服務(wù)
]# /etc/init.d/httpd start
4.6.2蜗帜、配置啟動(dòng) real server
]# vim /etc/init.d/lvsrs
#!/bin/bash
# chkconfig: 35 15 85
# description: start/stop LVS(load balancing software for Linux kernel–based operating systems)

# Source function library.
. /etc/rc.d/init.d/functions

VIP=192.168.135.46

case "$1" in
    start)
        echo " Start LVS  of  Real Server"
        /sbin/ifconfig lo:0 $VIP broadcast $VIP netmask 255.255.255.255 up
        echo "1" >/proc/sys/net/ipv4/conf/lo/arp_ignore
        echo "2" >/proc/sys/net/ipv4/conf/lo/arp_announce
        echo "1" >/proc/sys/net/ipv4/conf/all/arp_ignore
        echo "2" >/proc/sys/net/ipv4/conf/all/arp_announce 
        ;;
    stop)
        echo "close LVS Director server"
        /sbin/ifconfig lo:0 down
        echo "0" >/proc/sys/net/ipv4/conf/lo/arp_ignore
        echo "0" >/proc/sys/net/ipv4/conf/lo/arp_announce
        echo "0" >/proc/sys/net/ipv4/conf/all/arp_ignore
        echo "0" >/proc/sys/net/ipv4/conf/all/arp_announce
        ;;
    *)
        echo "Usage: $0 {start|stop}"
        exit 1
esac

]# chmod 755 /etc/init.d/lvsrs
]# /etc/init.d/lvsrs start
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末恋拷,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子厅缺,更是在濱河造成了極大的恐慌蔬顾,老刑警劉巖宴偿,帶你破解...
    沈念sama閱讀 221,198評論 6 514
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異诀豁,居然都是意外死亡窄刘,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,334評論 3 398
  • 文/潘曉璐 我一進(jìn)店門舷胜,熙熙樓的掌柜王于貴愁眉苦臉地迎上來娩践,“玉大人,你說我怎么就攤上這事烹骨》牛” “怎么了?”我有些...
    開封第一講書人閱讀 167,643評論 0 360
  • 文/不壞的土叔 我叫張陵沮焕,是天一觀的道長吨岭。 經(jīng)常有香客問我,道長峦树,這世上最難降的妖魔是什么辣辫? 我笑而不...
    開封第一講書人閱讀 59,495評論 1 296
  • 正文 為了忘掉前任,我火速辦了婚禮空入,結(jié)果婚禮上络它,老公的妹妹穿的比我還像新娘。我一直安慰自己歪赢,他們只是感情好化戳,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,502評論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著埋凯,像睡著了一般点楼。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上白对,一...
    開封第一講書人閱讀 52,156評論 1 308
  • 那天掠廓,我揣著相機(jī)與錄音,去河邊找鬼甩恼。 笑死蟀瞧,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的条摸。 我是一名探鬼主播悦污,決...
    沈念sama閱讀 40,743評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼钉蒲!你這毒婦竟也來了切端?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,659評論 0 276
  • 序言:老撾萬榮一對情侶失蹤顷啼,失蹤者是張志新(化名)和其女友劉穎踏枣,沒想到半個(gè)月后昌屉,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,200評論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡茵瀑,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,282評論 3 340
  • 正文 我和宋清朗相戀三年间驮,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片瘾婿。...
    茶點(diǎn)故事閱讀 40,424評論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡蜻牢,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出偏陪,到底是詐尸還是另有隱情抢呆,我是刑警寧澤,帶...
    沈念sama閱讀 36,107評論 5 349
  • 正文 年R本政府宣布笛谦,位于F島的核電站抱虐,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏饥脑。R本人自食惡果不足惜恳邀,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,789評論 3 333
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望灶轰。 院中可真熱鬧谣沸,春花似錦、人聲如沸笋颤。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,264評論 0 23
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽伴澄。三九已至赋除,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間非凌,已是汗流浹背举农。 一陣腳步聲響...
    開封第一講書人閱讀 33,390評論 1 271
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留敞嗡,地道東北人颁糟。 一個(gè)月前我還...
    沈念sama閱讀 48,798評論 3 376
  • 正文 我出身青樓,卻偏偏與公主長得像喉悴,于是被迫代替她去往敵國和親棱貌。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,435評論 2 359

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理粥惧,服務(wù)發(fā)現(xiàn)键畴,斷路器最盅,智...
    卡卡羅2017閱讀 134,693評論 18 139
  • 一突雪、高可用集群 (一)提升系統(tǒng)高可用性的解決方案:冗余(redundant) 工作模式active/passive...
    哈嘍別樣閱讀 1,728評論 2 5
  • 【摘要】 面對大量用戶訪問起惕、高并發(fā)請求,海量數(shù)據(jù)咏删,可以使用高性能的服務(wù)器惹想、大型數(shù)據(jù)庫,存儲(chǔ)設(shè)備督函,高性能Web服務(wù)器...
    靜修佛緣閱讀 4,563評論 0 24
  • Nginx+Keepalived實(shí)現(xiàn)站點(diǎn)高可用 公司內(nèi)部 OA 系統(tǒng)要做線上高可用嘀粱,避免單點(diǎn)故障,所以計(jì)劃使用2臺(tái)...
    meng_philip123閱讀 1,909評論 2 18
  • 最后的纖夫 目錄 上一節(jié)回顧:最后的纖夫(二) 使船 使船還得...
    清風(fēng)明曦閱讀 631評論 6 2