DRserver安裝keepalived
算法
RLserver編輯腳本vim
寫入:bash
#! /bin/bash
vip=192.168.0.100
ifconfig lo:0 $vip broadcast $vip netmask 255.255.255.255 up
route add -host $vip lo:0
echo "1" >/proc/sys/net/ipv4/conf/lo/arp_ignore
echo "2" >/proc/sys/net/ipv4/conf/lo/arp_announce
echo "1" >/proc/sys/net/ipv4/conf/all/arp_ignore
echo "2" >/proc/sys/net/ipv4/conf/all/arp_announce服務器
編輯DRserver(master)的配置文件ide
vim /etc/keepalived/keepalived.conf //加入以下:
vrrp_instance VI_1 {
state MASTER #備用服務器上爲 BACKUP
interface eth0
virtual_router_id 51
priority 100 #備用服務器上爲90
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.0.100
}
}oop
virtual_server 192.168.0.100 80 {
delay_loop 6 #(每隔10秒查詢realserver狀態)
lb_algo wlc #(lvs 算法)
lb_kind DR #(Direct Route)
persistence_timeout 60 #(同一IP的鏈接60秒內被分配到同一臺realserver)
protocol TCP #(用TCP協議檢查realserver狀態)
real_server 192.168.0.21 80 {
weight 100 #(權重)
TCP_CHECK {
connect_timeout 10 #(10秒無響應超時)
nb_get_retry 3
delay_before_retry 3
connect_port 80
}
}
real_server 192.168.0.22 80 {
weight 100
TCP_CHECK {
connect_timeout 10
nb_get_retry 3
delay_before_retry 3
connect_port 80
}
}
}spa
以上爲主DRserver的配置文件,從DRserver的配置文件只需更改orm
state MASTER -> state BACKUP
priority 100 -> priority 90
配置完keepalived後,須要開啓端口轉發(主從都要作):
echo 1 > /proc/sys/net/ipv4/ip_forward
而後,兩個rs上執行 /usr/local/sbin/lvs_dr_rs.sh 腳本
最後,兩個director上啓動keepalived服務(先主後從):
/etc/init.d/keepalived start
另外,須要注意的是,啓動keepalived服務會自動生成vip和ipvsadm規則,不須要再去執行上面提到的/usr/local/sbin/lvs_dr.sh 腳本。router