LVS DR模型演示
環境介紹:
Directory DIP eth0 10.1.249.158 VIP eth0:0 10.1.249.111 rs1 RIP eth0 10.1.249.125 VIP lo:0 10.1.249.111 rs2 RIP eth0 10.1.252.53 VIP lo:0 10.1.249.111
Directory配置
配置VIP接口在其eth0的別名上 [root@Directory ~]# ifconfig eth0:0 10.1.249.111/16 up 添加路由 [root@Directory ~]# route add -host 10.1.249.111 dev eth0:0 添加ipvsadm規則 [root@Directory ~]# ipvsadm -A -t 10.1.249.111:80 -s wlc [root@Directory ~]# ipvsadm -a -t 10.1.249.111:80 -r 10.1.252.53 -g -w 2 [root@Directory ~]# ipvsadm -a -t 10.1.249.111:80 -r 10.1.249.125 -g -w 1 [root@Directory ~]# ipvsadm -L -n IP Virtual Server version 1.2.1 (size=4096) Prot LocalAddress:Port Scheduler Flags -> RemoteAddress:Port Forward Weight ActiveConn InActConn TCP 10.1.249.111:80 wlc -> 10.1.249.125:80 Route 1 0 0 -> 10.1.252.53:80 Route 2 0 0
RS1
修改內核參數 [root@rs1 ~]# echo 2 > /proc/sys/net/ipv4/conf/eth0/arp_announce [root@rs1 ~]# echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce [root@rs1 ~]# echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore [root@rs1 ~]# echo 1 > /proc/sys/net/ipv4/conf/eth0/arp_ignore 配置網卡別名 --> 主要要使用特殊的廣播地址和子網掩碼 [root@rs1 ~]# ifconfig lo:0 10.1.249.111 broadcast 10.1.249.111 netmask 255.255.255.255 up 添加路由條目 [root@rs1 ~]# route add -host 10.1.249.111 dev lo:0
RS2和RS1的配置完全一樣即可
測試
RS1和RS2分別提供web服務 RS1默認頁面內容為web1 RS2默認頁面內容為web2 瀏覽器中輸入http://10.1.249.111 [root@Directory ~]# ipvsadm -L -n IP Virtual Server version 1.2.1 (size=4096) Prot LocalAddress:Port Scheduler Flags -> RemoteAddress:Port Forward Weight ActiveConn InActConn TCP 10.1.249.111:80 wlc -> 10.1.249.125:80 Route 1 0 16 -> 10.1.252.53:80 Route 2 0 32 //由于我們指定RS2的權重是RS1的兩倍(RS2為2 RS1為1) //所以產生的數據大約也是兩倍關系 //且頁面訪問出現的頻率大約也是兩倍的關系 但:此時,如果我們關掉RS1的web服務,如果某次請求,被調度到RS1,此時,會提示,無法訪問 //默認LVS不會檢測后端服務器的健康狀況
注:此時我們知道這3臺主機上都有VIP的地址,此時,我們 ping 10.1.249.111 響應我們的會是哪個?
原創文章,作者:sixijie,如若轉載,請注明出處:http://www.www58058.com/55828
實驗不太完整啊,可是部署web服務,測試一下,最終結果試試。