關閉real server上dummy0的arp請求響應能力。這是必須的,具體原因請參見ARP problem in LVS/TUN and LVS/DR(http://www.linuxvirtualserver.org/arp.html)。關閉dummy0的arp響應的方式有多種,比較簡單地方法是,修改/etc/rc.d/rc.local文件,增加如下幾行: echo 1 > /proc/sys/net/ipv4/conf/all/hidden
ifconfig dummy0 up
ifconfig dummy0 192.168.0.101 netmask 255.255.255.0 broadcast 192.168.0.0 up
echo 1 > /proc/sys/net/ipv4/conf/dummy0/hidden
再次修改/etc/rc.d/rc.local,增加如下一行:(可以和步驟2合并)
echo 1 > /proc/sys/net/ipv4/ip_forward
1.LVS的測試
好了,經過了上面的配置步驟,現在可以測試LVS了,步驟如下:
分別在vs1,rs1,rs2上運行/etc/lvs/rc.lvs_dr。注意,rs1,rs2上面的/etc/lvs目錄是vs2輸出的。如果您的NFS配置沒有成功,也可以把vs1上的/etc/lvs/rc.lvs_dr復制到rs1,rs2上,然后分別運行。
確保rs1,rs2上面的apache已經啟動并且允許telnet。
然后從client運行telnet 192.168.0.101,如果登錄后看到如下輸出就說明集群已經開始工作了:(假設以guest用戶身份登錄)
[guest@rs1 guest]$-----------說明已經登錄到服務器rs1上。
再開啟一個telnet窗口,登錄后會發現系統提示變為:
[guest@rs2 guest]$-----------說明已經登錄到服務器rs2上。
然后在vs2上運行如下命令:
[root@vs2 /root]ipvsadm
運行結果應該為:
IP Virtual Server version 1.0.6 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 192.168.0.101:telnet rr
-> rs2:telnet Route 1 1 0
-> rs1:telnet Route 1 1 0
TCP 192.168.0.101:www rr
-> rs2:www Route 1 0 0
-> rs1:www Route 1 0 0
至此已經驗證telnet的LVS正常。
然后測試一下WWW是否正常:用你的瀏覽器查看http://192.168.0.101/是否有什么變化?為了更明確的區別響應來自那個real server,可以在rs1,rs2上面分別放置如下的測試頁面(test.html):
我是real server #1 or #2
然后刷新幾次頁面(http://192.168.0.101/test.html),如果你看到“我是real server #1”和“我是real server #2”交替出現,說明www的LVS系統已經正常工作了。
但是由于Internet Explore 或者Netscape本身的緩存機制,你也許總是只能看到其中的一個。不過通過ipvsadm還是可以看出,頁面請求已經分配到兩個real server上了,如下所示:
IP Virtual Server version 1.0.6 (size=4096) Prot LocalAddress:Port Scheduler Flags -> RemoteAddress:Port Forward Weight ActiveConn InActConn TCP 192.168.0.101:telnet rr -> rs2:telnet Route 1 0 0 -> rs1:telnet Route 1 0 0 TCP 192.168.0.101:www rr -> rs2:wwwRoute 1 0 5 -> rs1:wwwRoute 1 0 4
或者,可以采用linux的lynx作為測試客戶端,效果更好一些。如下運行命令:
[root@client /root]while true; do lynx -dump http://10.64.1.56/test.html; sleep 1; done
這樣,每隔1秒鐘“我是realserver #1”和“我是realserver #2”就交替出現一次,清楚地表明響應分別來自兩個不同的real server。
五調試技巧
如果您的運氣不好,在配置LVS的過程中也許會遇到一些困難,下面的技巧或許有幫助:
首先確定網絡硬件沒有問題,尤其是網線,ping工具就足夠了。
使用netstat查看端口的活動情況。
使用tcpdump查看數據包的流動情況。
查看/var/log/kernel_log文件。