具體方案中的負(fù)載均衡器測試過程詳解
前面我們已經(jīng)介紹了這個方案的設(shè)備安裝連接,以及負(fù)載均衡器的配置問題。下面,在配置好的負(fù)載均衡器以及服務(wù)器上面進(jìn)行一下測試,那么具體的代碼相關(guān)內(nèi)容都進(jìn)行了總結(jié)。
多vrrp_instance負(fù)載均衡集群功能測試
在進(jìn)行測試之前,需要把lvs客戶端、負(fù)載均衡器(keepalived)、各真實服務(wù)器上的服務(wù)都啟動,并逐個檢驗其正確性。
◆健康檢查功能(故障隔離)測試
多vrrp_instance健康檢查功能(故障隔離)測試的方法與單vrrp_instance相同。因多vrrp_instance所涉及的服務(wù)較多(本案3個),因此需要多花些時間逐個測試。如果多vrrp_instance涉及的服務(wù)很多,則可采用隨機抽樣的方式進(jìn)行測試,通過觀察lvs負(fù)載均衡器的轉(zhuǎn)發(fā)狀態(tài)(ipvsadm)及l(fā)vs負(fù)載均衡器的系統(tǒng)日志了解健康檢查測試的有效性。
◆負(fù)載均衡器失敗切換
本案的多vrrp_instance負(fù)載均衡環(huán)境正常運行后,每個lvs負(fù)載均衡器都有MASTER和BACKUP兩種狀態(tài),每一個lvs負(fù)載均衡器都承擔(dān)轉(zhuǎn)發(fā)任務(wù)。當(dāng)我們在每個lvs負(fù)載均衡器上執(zhí)行ipvsadm時,其輸出結(jié)果正好交錯的,即lvs-1上如果有非0輸出時,則lvs_2相對應(yīng)的項為0;反之亦然。表1為某運行環(huán)境lvs負(fù)載均衡器的輸出截取對比。
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ā)輸出對比(注意觀察ActiveConnInActConn的值)
現(xiàn)在,我們來停掉lvs_1的keepalived進(jìn)程,觀察lvs_2的系統(tǒng)日志,將會發(fā)現(xiàn)vrrp_instance(VI_WEB)從BACKUP狀態(tài)變成MASTER.于是lvs_2負(fù)載均衡器有了兩個MASTER狀態(tài);另外lvs_2的ipvsadm的輸出字段"ActiveConn"的值將全部變成非零。同樣,當(dāng)我們啟動lvs_1的keepalived進(jìn)程、關(guān)閉lvs_2的keepalived進(jìn)程,則lvs_1的狀態(tài)都是MASTER,所有的轉(zhuǎn)發(fā)請求都被轉(zhuǎn)移到lvs_1。
在上述lvs_1和lvs_2手動切換過程中,我們可以通過在客戶端瀏覽器地址欄輸入站點名(dns解析域名到lvs的vip),來驗證lvs的可用性。自定義服務(wù)可以通過在客戶端執(zhí)行telnet61.135.93.1003000及telnet61.135.93.1004000來初步驗證。