写于2013年秋,CentOS6.4
1、LVS主机
[hadoop@slave3 dw]$ sudo yum install ipvsadm
[hadoop@slave3 dw]$ sudo yum install keepalived
[hadoop@slave3 dw]$ sudo vi /etc/keepalived/keepalived.conf
! Configuration File for keepalived
global_defs {
router_id LVS_MASTER #网上资料说这个值也需要修改,具体不详,之前我们线上的主备就一直是一样的 ^ ^还是修改一下吧!
}
vrrp_instance VI_1 {
state MASTER #LVS_Backup上修改成BACKUP
interface eth0
virtual_router_id 51
priority 100 #LVS_Backup上修改成80
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
10.95.3.68
}
}
virtual_server 10.95.3.68 21050 {
delay_loop 6
lb_algo rr
lb_kind DR
nat_mask 255.255.255.0
persistence_timeout 50
protocol TCP
real_server 10.95.3.67 21050 {
weight 1
TCP_CHECK {
connect_timeout 10
nb_get_retry 3
connect_port 21050
}
}
real_server 10.95.3.65 21050 {
weight 1
TCP_CHECK {
connect_timeout 10
nb_get_retry 3
connect_port 21050
}
}
}
virtual_server 10.95.3.68 8888 {
delay_loop 6
lb_algo rr
lb_kind DR
nat_mask 255.255.255.0
persistence_timeout 50
protocol TCP
real_server 10.95.3.67 8888 {
weight 1
TCP_CHECK {
connect_timeout 10
nb_get_retry 3
connect_port 8888
}
}
real_server 10.95.3.65 8888 {
weight 1
TCP_CHECK {
connect_timeout 10
nb_get_retry 3
connect_port 8888
}
}
}
待检验
[hadoop@slave3 dw]$ vi /dw/bin/vip.sh
!/bin/bash
VIP=10.95.3.68
/sbin/ifconfig eth7:0 VIPbroadcastVIP netmask 255.255.255.255 up
/sbin/route add -host VIPdeveth7:0[hadoop@slave3dw] chmod a+x /dw/bin/vip.sh
[hadoop@slave3 dw]$ sudo /dw/bin/vip.sh
2、每台应用主机
[hadoop@slave4 ~]$ vi /dw/bin/real_server.sh
#!/bin/bash
VIP=10.95.3.68
. /etc/rc.d/init.d/functions
case "$1" in
start)
ifconfig lo:0 $VIP netmask 255.255.255.255 broadcast $VIP
/sbin/route add -host $VIP dev 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
sysctl -p >/dev/null 2>&1
echo "RealServer Start OK"
;;
stop)
ifconfig lo:0 down
route del $VIP >/dev/null 2>&1
echo "0" >/proc/sys/net/ipv4/conf/lo/arp_ignore
echo "0" >/proc/sys/net/ipv4/conf/lo/arp_announce
echo "0" >/proc/sys/net/ipv4/conf/all/arp_ignore
echo "0" >/proc/sys/net/ipv4/conf/all/arp_announce
echo "RealServer Stoped"
;;
*)
echo "Usage: $0 {start|stop}"
exit 1
esac
exit 0
[hadoop@slave4 ~]$ chmod u+x /dw/bin/real_server.sh
[hadoop@slave4 ~]$ sudo /dw/bin/real_server.sh start
3、lvs主机
[hadoop@slave3 dw]$ sudo chkconfig keepalived on
[hadoop@slave3 dw]$ sudo service keepalived restart
4、查看
sudo watch ipvsadm
查看LVS的连接情况: sudo ipvsadm -L -n
查看LVS的吞吐量情况: sudo ipvsadm -L -n --rate
查看LVS的统计信息: sudo ipvsadm -L -n --stats
实时查看LVS连接状态变化: sudo watch ipvsadm -ln
5、ipvsadm命令,此命令只对LVS有效,不会更新到/etc/keepalived/keepalived.conf
sudo ipvsadm -A -t 10.95.3.68:8042 -s rr #添加虚拟地址
sudo ipvsadm -a -t 10.95.3.68:8042 -r 10.95.3.63:8042 -g #添加real_server 10.95.3.63并使用dr模式
sudo ipvsadm -a -t 10.95.3.68:8042 -r 10.95.3.64:8042 -g #添加real_server 10.95.3.64并使用dr模式
sudo ipvsadm -S #保存上述规则到内核
sudo ipvsadm -d -t 10.95.3.68:8042 -r 10.95.3.64:8042 #删除real_server 10.95.3.64
sudo ipvsadm -D -t 10.95.3.68:8042 #删除虚拟地址