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è)備組成。
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)行
下載鏈接:
檢查主機(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
下載鏈接:
下載:
]# 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