具體方案中的負(fù)載均衡器測(cè)試過程詳解
前面我們已經(jīng)介紹了這個(gè)方案的設(shè)備安裝連接,以及負(fù)載均衡器的配置問題。下面,在配置好的負(fù)載均衡器以及服務(wù)器上面進(jìn)行一下測(cè)試,那么具體的代碼相關(guān)內(nèi)容都進(jìn)行了總結(jié)。
多vrrp_instance負(fù)載均衡集群功能測(cè)試
在進(jìn)行測(cè)試之前,需要把lvs客戶端、負(fù)載均衡器(keepalived)、各真實(shí)服務(wù)器上的服務(wù)都啟動(dòng),并逐個(gè)檢驗(yàn)其正確性。
◆健康檢查功能(故障隔離)測(cè)試
多vrrp_instance健康檢查功能(故障隔離)測(cè)試的方法與單vrrp_instance相同。因多vrrp_instance所涉及的服務(wù)較多(本案3個(gè)),因此需要多花些時(shí)間逐個(gè)測(cè)試。如果多vrrp_instance涉及的服務(wù)很多,則可采用隨機(jī)抽樣的方式進(jìn)行測(cè)試,通過觀察lvs負(fù)載均衡器的轉(zhuǎn)發(fā)狀態(tài)(ipvsadm)及l(fā)vs負(fù)載均衡器的系統(tǒng)日志了解健康檢查測(cè)試的有效性。
◆負(fù)載均衡器失敗切換
本案的多vrrp_instance負(fù)載均衡環(huán)境正常運(yùn)行后,每個(gè)lvs負(fù)載均衡器都有MASTER和BACKUP兩種狀態(tài),每一個(gè)lvs負(fù)載均衡器都承擔(dān)轉(zhuǎn)發(fā)任務(wù)。當(dāng)我們?cè)诿總€(gè)lvs負(fù)載均衡器上執(zhí)行ipvsadm時(shí),其輸出結(jié)果正好交錯(cuò)的,即lvs-1上如果有非0輸出時(shí),則lvs_2相對(duì)應(yīng)的項(xiàng)為0;反之亦然。表1為某運(yùn)行環(huán)境lvs負(fù)載均衡器的輸出截取對(duì)比。
Lvs_1 的ipvsadm輸出(部分) |
Lvs_2 的ipvsadm輸出(部分) |
IP Virtual Server version Prot LocalAddress:Port Scheduler Flags -> RemoteAddress:Port Forward Weight ActiveConn InActConn TCP 61.128.10.4:9000 wlc persistent 50 -> 61.128.10.16:9000 Route 200 4607 139 -> 61.128.10.17:9000 Route 200 4611 154 -> 61.128.10.5:9000 Route 100 2306 65 -> 61.128.10.8:9000 Route 100 2307 89 ……………………………… TCP 61.128.20.124:http wlc persistent 30 -> 61.128.20.98:http Route 100 0 0 -> 61.128.20.93:http Route 100 0 0 -> 61.128.20.81:http Route 100 0 0 -> 61.128.20.82:http Route 100 0 0 |
IP Virtual Server version Prot LocalAddress:Port Scheduler Flags -> RemoteAddress:Port Forward Weight ActiveConn InActConn TCP 61.128.10.4:9000 wlc persistent 50 -> 61.128.10.16:9000 Route 100 0 0 -> 61.128.10.17:9000 Route 100 0 0 -> 61.128.10.5:9000 Route 100 0 0 -> 61.128.10.8:9000 Route 100 0 0 …………………………… TCP 61.128.20.124:http wlc persistent 20 -> 61.128.20.98:http Route 100 821 1437 -> 61.128.20.93:http Route 100 823 1562 -> 61.128.20.82:http Route 100 823 1336 -> 61.128.20.81:http Route 100 825 1033 |
表1多vrrp_instance負(fù)載均衡器轉(zhuǎn)發(fā)輸出對(duì)比(注意觀察ActiveConnInActConn的值)
現(xiàn)在,我們來(lái)停掉lvs_1的keepalived進(jìn)程,觀察lvs_2的系統(tǒng)日志,將會(huì)發(fā)現(xiàn)vrrp_instance(VI_WEB)從BACKUP狀態(tài)變成MASTER.于是lvs_2負(fù)載均衡器有了兩個(gè)MASTER狀態(tài);另外lvs_2的ipvsadm的輸出字段"ActiveConn"的值將全部變成非零。同樣,當(dāng)我們啟動(dòng)lvs_1的keepalived進(jìn)程、關(guān)閉lvs_2的keepalived進(jìn)程,則lvs_1的狀態(tài)都是MASTER,所有的轉(zhuǎn)發(fā)請(qǐng)求都被轉(zhuǎn)移到lvs_1。
在上述lvs_1和lvs_2手動(dòng)切換過程中,我們可以通過在客戶端瀏覽器地址欄輸入站點(diǎn)名(dns解析域名到lvs的vip),來(lái)驗(yàn)證lvs的可用性。自定義服務(wù)可以通過在客戶端執(zhí)行telnet61.135.93.1003000及telnet61.135.93.1004000來(lái)初步驗(yàn)證。