Linux負載均衡軟件LVS之四(測試篇-完)

一、啓動LVS集羣服務
LVS負載均衡管理和使用有兩種方式,一種是以ipvsadm命令行腳步與ldirectord監控方式,一種是以Piranha工具進行管理和使用。下面分別介紹。

1、利用ipvsadm命令行腳步與ldirectord監控方式管理LVS
在一切配置完畢之後,依次執行下面的操作啓動LVS集羣服務。
首先,啓動每個real server節點的服務:
[root@localhost ~]# /etc/init.d/lvsrs  start
 start LVS  of  REALServer
然後,在Director Server啓動ldirectord服務:
[root@localhost ~]# /etc/init.d/ldirectord  start
Startingldirectord                                       [  OK  ]
此時查看ldirectord 輸出日誌信息如下:
ldirectord|2561] Invoking ldirectord invoked as: /usr/sbin/ldirectord start
ldirectord|2561] Starting Linux Director v1.186 as daemon
ldirectord|2563] Added virtual server: 192.168.60.200:80
ldirectord|2563] Added fallback server: 127.0.0.1:80 (192.168.60.200:80)(Weight set to 1)
ldirectord|2563] Added real server: 192.168.60.132:80 (192.168.60.200:80)(Weight set to 1)
ldirectord|2563] Deleted fallback server: 127.0.0.1:80 (192.168.60.200:80)
ldirectord|2563] Added real server: 192.168.60.144:80 (192.168.60.200:80)(Weight set to 1)
從日誌可以看出,ldirectord首先加載了一個虛擬IP的80端口,然後加載了兩個real server節點的80端口以及Director Server本機的80端口,同時將real server兩個節點的權值設置爲1,由於兩個節點均可用,最後將Director Server本機的80端口從LVS路由表中刪除。
接着,在Director Server啓動lvsDR主服務:
[root@xa_web1 ~]# /etc/init.d/lvsDR  start
 start LVS  of DirectorServer
IP Virtual Server version 1.2.0 (size=4096)
Prot LocalAddress:Port Scheduler Flags
  ->RemoteAddress:Port         Forward  Weight  ActiveConn InActConn
TCP  192.168.60.200:http rr persistent 600
  ->192.168.60.132:http         Route    1        3         22       
  ->192.168.60.144:http         Route    1        9          22
到此爲止,LVS負載均衡集羣系統已經開始運行。

2、利用Piranha工具管理LVS
在這種方式下,啓動LVS集羣很簡單,只需執行如下命令即可:
/etc/init.d/pulse  start
此時查看pulse服務的系統日誌信息如下:
[root@localhost ~]# tail -f /var/log/messages
Nov 22 15:52:55 lvs lvs[7031]: starting virtual service www.gaojf.comactive: 80
Nov 22 15:52:55 lvs lvs[7031]: create_monitor for www.gaojf.com/RS1running as pid 7039
Nov 22 15:52:55 lvs nanny[7039]: starting LVS client monitor for192.168.60.200:80
Nov 22 15:52:55 lvs lvs[7031]: create_monitor for www.gaojf.com/RS2running as pid 7040
Nov 22 15:52:55 lvs nanny[7039]: making 192.168.60.132:80 available
Nov 22 15:52:55 lvs nanny[7040]: starting LVS client monitor for192.168.60.200:80
Nov 22 15:52:55 lvs nanny[7040]: making 192.168.60.144:80 available
從日誌可以看出,pulse服務啓動了一個www.gaojf.com的虛擬服務,同時加載了RS1和RS2兩個節點,然後檢測到RS1和RS2兩個節點對應的80端口可用,最後啓動了虛擬IP的80端口,對外提供服務。
日誌中“www.gaojf.com”、“RS1”、“RS2”等標識均在Piranha的配置文件/etc/sysconfig/ha/lvs.cf中定義。
Pulse服務啓動完畢,通過“ps –ef”命令可以看到有如下進程在運行:
[root@localhost ~]#  ps -ef|grep nanny
/usr/sbin/nanny -c -h 192.168.60.132 -p 80 -s GET / HTTP/1.0\r\n\r\n -x HTTP -a15 -I /
/usr/sbin/nanny -c -h 192.168.60.144 -p 80 -s GET / HTTP/1.0\r\n\r\n -x HTTP -a15 -I /
其中,nanny就是Pulse服務的守護進程,用於監控LVS服務節點的運行狀態,類似與ldirectord的節點監控功能。

二、 測試負載均衡
這裏假定兩個real server節點配置www服務的網頁文件根目錄均爲/webdata/www目錄,然後分別執行如下操作:
在real server1 執行:
echo "This is real server1"  /webdata/www/index.html
 在real server2 執行:
echo "This is real server2" /webdata/www/index.html
接着打開瀏覽器,訪問http://192.168.60.200這個地址,然後不斷刷新此頁面,如果能分別看到“This is real server1”和“This is realserver2”就表明LVS正常工作了。

三、測試故障切換功能
故障切換是測試當某個節點出現故障後,監控模塊是否能及時發現,然後屏蔽故障節點,同時將服務轉移到正常節點來執行,下面分別講述用ldirectord監控時的故障切換過程和用nanny監控時的故障切換情形。

1、利用ldirectord監控LVS的故障切換
這裏假定停掉real server1節點的www服務,然後觀察ldirectord的日誌變化,應該能看到類似如下的信息:
ldirectord|2614] Deleted real server: 192.168.60.132:80 (192.168.60.200:80)
由此可知,ldirectord監控到了192.168.60.132這個節點的服務出現故障,然後將此節點從LVS路由表中刪除。
此時繼續通過瀏覽器訪問http://192.168.60.200,訪問不受任何影響,但是僅僅顯示“This is real server2”信息,這是由於real server1出現問題,被ldirectord屏蔽,整個LVS集羣只有real server2在提供服務。
上面的日誌輸出信息是由於在ldirectord.cf中設置了“quiescent=no”,如果設置爲“quiescent=yes”日誌輸出信息變爲如下:
ldirectord|32454] Quiescent real server:192.168.60.132:80 (192.168.60.200:80)(Weight set to 0)
這段日誌輸出是將故障節點192.168.60.132的權值設置爲0,而不從LVS路由表中刪除這個主機,此時已經連接的客戶端將出現無法訪問現象,但是新的連接將不會分配到此節點。
如果重新啓動Real server1的服務,ldirectord將能自動檢測到節點已經激活,重新將此節點加入LVS路由表中,ldirectord會在日誌中輸出這些信息:
ldirectord|2614] Added real server: 192.168.60.132:80 (192.168.60.200:80)(Weight set to 1)
2、利用nanny監控LVS的故障切換
 同樣,這裏也假定停掉real server1節點的www服務,然後觀察pluse服務的日誌信息,日誌輸出如下:
Nov 22 15:54:01 lvs nanny[7039]: shutting down 192.168.60.132:80 due toconnection failure
可以看出,當停掉real server1的服務後,nanny守護進程監控到此節點故障,然後關閉了此節點的連接服務。
現在重啓啓動real server1節點的服務,然後觀察pluse服務的日誌輸出:
Nov 22 16:49:41 lvs nanny[7158]: making 192.168.60.132:80 available
nanny守護進程在設定的檢測時間內自動檢測到real server1服務已經激活,重新使此節點變得可以連接。

發佈了103 篇原創文章 · 獲贊 7 · 訪問量 15萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章