三臺服務器,(1)做路由,(2)(3)做realserver
IP爲:192.168.196.121 (1)
192.168.196.122 (2)
192.168.196.123 (3)
要在(1) load banlance機器 上安裝ipvsadm軟件
安裝之前要查看ip_vs模塊是否被內核加載
lsmod | grep ip_vs
什麼都沒有的話加載ip_vs模塊,2.4內核以後都有該模塊,沒有顯示的話就要手動加載一次
modprobe ip_vs
可以在cluster目錄裏面找到,源碼編譯安裝很麻煩,頻頻出錯,這裏不講。
之後要執行
service ipvsadm save (如果不執行save啓動不了)
service ipvsadm start
在路由機器是開啓IP轉發功能echo 1 > /proc/sys/net/ipv4/ip_forward
設置這個IP爲負載均衡的IP -s rr爲輪詢的方式負載均衡
ipvsadm -A -t 192.168.196.120:80 -s rr
添加負載均衡集羣成員,-g路由模式 -w權重值(此處可以根據需求更改,還有其它選項,可以ipvsadm --help)
ipvsadm -a -t 192.168.196.120:80 -r 192.168.196.122 -g -w 1
ipvsadm -a -t 192.168.196.120:80 -r 192.168.196.123 -g -w 1
配置負載均衡虛擬IP地址
ifconfig eth0:0 192.168.196.120 broadcast 192.168.196.255 netmask 255.255.255.0 up
realserver配置(2)(3)機器
我們需要爲兩臺服務器都填上一塊lo:1的這樣一塊網卡。以確保數據包在回包的時候是回給我們的網關。只有這樣纔是我們DR模式的目的
ifconfig lo:1 192.168.196.120/32
echo 1 > /proc/sys/net/ipv4/conf/eth0/arp_ignore // ARP忽略 默認爲0 給爲1 直接收廣播自己的
echo 2 > /proc/sys/net/ipv4/conf/eth0/arp_announce // 帶收發 lo :1 的數據包 默認爲0
先在/var/www/html/ 目錄下寫入index.html文件
爲了保證測試效果,index.html內容應該不同。
service httpd start //啓動apache服務
在瀏覽器上輸入192.168.196.120
刷新幾次會分別顯示不同realserver上的index.html內容
此時還可以在load banlance機器上查看路由信息
ipvsadm -Ln --stats
PS:爲了保證重啓後生效,需要對添加網卡的步驟另行配置。