實驗拓撲圖:
因爲DR模型是根據更改目標的MAC地址來實現任務調度的,所以這裏我們需要修改兩個內核參數。
arp_announce:是否通告自己的網絡
arp_ignore:是否響應別人的arp廣播請求
配置之前在兩臺Real Server服務器上面配置httpd服務並創建兩個測試頁面
根據上面的拓撲圖我們可以看到調度器跟Real Server都只是用一塊網卡,然後VIP地址配置在網卡的子接口上。
首先配置調度器的VIP地址:
ifconfig ens33:0 10.11.73.100/32 broadcast 10.11.73.100 up
ifconfig
配置路由指向:
route add -host 10.11.73.100 dev ens33
route -n
設置內核參數:
echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
echo 1> /proc/sys/net/ipv4/conf/ens33/arp_ignore
echo 1> /proc/sys/net/ipv4/conf/all/arp_announce
echo 1> /proc/sys/net/ipv4/conf/ens33/arp_announce
配置兩臺Real Server的VIP地址:
ifconfig lo:0 10.11.73.100/32 broadcast 10.11.73.100 up
route add -host 10.11.73.100 dev lo:0
設置內核參數:
echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
echo 1> /proc/sys/net/ipv4/conf/ens33/arp_ignore
echo 1> /proc/sys/net/ipv4/conf/all/arp_announce
echo 1> /proc/sys/net/ipv4/conf/ens33/arp_announce
用同樣的方法配置第二臺Real Server的VIP地址以及內核參數
然後在調度器上配置ipvsadm的規則策略
ipvsadm -A -t 10.11.73.100:80 -s rr
ipvsadm -a -t 10.11.73.100:80 -r 10.11.73.154 -g
ipvsadm -a -t 10.11.73.100:80 -r 10.11.73.155 -g
ipvsadm -L -n
然後我們使用客戶端的瀏覽器測試:
當我們在使用瀏覽器進行測試時如果DR模型的rr算法輪詢調度失敗,可以修改調度器的活動連接時長:
ipvsadm --set 1 1 1
ipvsadm -L --timeout
備註:最後要注意一下所有配置到網卡子接口的地址系統重啓後都會失效,要想配置永久有效可以在/etc/sysconfig/network-scripts/目錄下面直接創建網卡子接口的配置文件。