LVS+keepalived能很好的實現以上的要求,LVS提 供負載均衡,keepalived提供健康檢查,故障轉移,提高系統的可用性!採用這樣的架構以後 很容易對現有系統進行擴展,只要在後端添加或者減少realserver,只要更改lvs的 配置文件,並能實現無縫配置變更
在真實機上配置:
方法一:
1,真實機配置迴環地址:
/sbin/ifconfig lo:0 192.168.1.19 broadcast 192.168.1.63 netmask 255.255.255.255 up
/sbin/route add -host 192.168.1.19 dev lo:0
2,
/sbin/ifconfig lo:0 192.168.1.19 broadcast 192.168.1.63 netmask 255.255.255.255 up
/sbin/route add -host 192.168.1.19 dev lo:0
以上命令加入/etc/rc.local(開機啓動項)
3,配置ARP欺騙:
/etc/sysctl.conf添加:
net.ipv4.conf.lo.arp_ignore = 1
net.ipv4.conf.lo.arp_announce = 2
net.ipv4.conf.all.arp_ignore = 1
net.ipv4.conf.all.arp_announce = 2
sysctl -p 立即生效。
方法二:
創建腳本: /etc/init.d/realserve,將方法一中的命令寫到該腳本中
加入開機啓動: chkconfig realserve
重啓服務:
service realserver start
在LVS服務器上配置:
4,LVS配置文件添加VIP和realserver:
直播服務器需要添加 80 8080端口
點播服務器需要添加80端口
vi /etc/keepalived/keeplived.conf
添加VIP:192.168.1.29
virtual_ipaddress {
192.168.1.33
192.168.1.34
192.168.1.35
192.168.1.37
192.168.1.38
192.168.1.39
192.168.1.40
192.168.1.29
}
添加realserver:
virtual_server 192.168.1.29 8080 {
delay_loop 6
lb_algo lc
lb_kind DR
persistence_timeout 60
protocol TCP
real_server 192.168.1.43 8080 {
weight 100
TCP_CHECK {
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
connect_port 8080
}
}
real_server 192.168.1.44 8080 {
weight 100
TCP_CHECK {
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
connect_port 8080
}
}
}
virtual_server 192.168.1.29 80 {
delay_loop 6
lb_algo lc
lb_kind DR
persistence_timeout 60
protocol TCP
real_server 192.168.1.43 80 {
weight 100
TCP_CHECK {
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
connect_port 80
}
}
real_server 192.168.1.44 80 {
weight 100
TCP_CHECK {
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
connect_port 80
}
}
}
echo 'options ip_vs conn_tab_bits=20'>/etc/modprobe.d/ipvsadm.conf
echo "ipvsadm --set 120 10 120" >> /etc/rc.local
5,重啓keepalived
service keepalived restart