一、lvs节点配置(两台)
1.环境
VIP 10.0.0.19
lvs-01 10.0.0.9
lvs-02 10.0.0.12
web-01 10.0.0.10
web-02 10.0.0.11
lb01 10.0.0.13 (测试结果用)
2.下载安装包
[root@lvs-02 ~]#wget
http: //www.keepalived .org /software/keepalived-1.2 .6 .tar .gz
[root@lvs-02 ~]# ll *.gz
-rw-r--r--. 1 root root 284134 Sep 8 11 :42 keepalived-1.2 .6 .tar .gz
3.安装keepalived(两台lvs)
[root@lvs -02 ~]
[root@lvs -02 ~]
[root@lvs -02 ~]
[root@lvs -02 ~]
[root@lvs -02 keepalived-1.2 .6 ]
[root@lvs -02 keepalived-1.2 .6 ]
[root@lvs -02 ~]
[root@lvs -02 ~]
[root@lvs -02 ~]
[root@lvs -02 ~]
[root@lvs -02 ~]
/etc/init.d/keepalived start
[root@lvs -02 ~]
root 3262 1 0 11 :50 ? 00 :00 :00 keepalived -D
root 3264 3262 0 11 :50 ? 00 :00 :00 keepalived -D
root 3265 3262 0 11 :50 ? 00 :00 :00 keepalived -D
root 3271 1174 0 11 :50 pts/0 00 :00 :00 grep keepalived
4.配置keepalived
4.1master节点
[root@lvs -01 ~]
1 ! Configuration File for keepalived
2
3 global_defs {
4 router_id LVS_1
5 }
6
7 vrrp_instance VI_1 {
8 state MASTER
9 interface eth0
10 virtual_router_id 51
11 priority 150
12 advert_int 1
13 authentication {
14 auth_type PASS
15 auth_pass 1111
16 }
17 virtual_ipaddress {
18 10.0 .0 .19 /24
19 }
20 }
21
22 virtual_server 10.0 .0 .19 80 {
23 delay_loop 6
24 lb_algo wrr
25 lb_kind DR
26 nat_mask 255.255 .255.0
27 persistence_timeout 50
28 protocol TCP
29
30 real_server 10.0 .0 .10 80 {
31 weight 1
32 TCP_CHECK {
33 connect_timeout 3
34 nb_get_retry 3
35 delay_before_retry 3
36 connect_port 80
37 }
38 }
39 real_server 10.0 .0 .11 80 {
40 weight 1
41 TCP_CHECK {
42 connect_timeout 3
43 nb_get_retry 3
44 delay_before_retry 3
45 connect_port 80
46 }
47 }
48 }
49
4.2backup节点
与master配置的不同之处
4 router_id LVS_2
8 state BACKUP
11 priority 100
5.重启keepalived
[root@lvs -01 ~]
Stopping keepalived: [ OK ]
Starting keepalived: [ OK ]
[root@lvs -02 ~]
Stopping keepalived: [ OK ]
Starting keepalived: [ OK ]
二、RS节点配置(两台web)
1.测试web服务
[root@web -01 ~]
10.0 .0 .10
[root@web -02 ~]
10.0 .0 .11
2.脚本管理
[root@web-01 ~]
#!/bin/bash
. /etc/init.d/functions
IP=10.0 .0.19
start (){
ifconfig lo:1 ${IP} /32 up
route add -host $IP dev lo
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
action "ipvs client start ..." /bin/true
}
stop (){
ifconfig lo:1 down
route del -host $IP
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
action "ipvs client stop ..." /bin/true
}
restart (){
start
stop
}
case $1 in
start)
start
;;
stop)
stop
;;
restart)
restart
;;
*)
echo "Usage: $0 {start|stop|restart}"
esac
3.启动脚本
[root@web-01 ~]
[root@web-02 ~]
[root@web-01 ~]
ipvs client start ... [ OK ]
[root@web-02 ~]
ipvs client start ...
三、测试
1.打开另一台虚拟机或者浏览器
[root@lb01 ~]
inet addr: 10.0 .0 .13 Bcast : 10.0 .0 .255 Mask : 255.255 .255.0
2.查看均衡器节点
[root@lvs -0 1 ~]# ip add|grep 10.0 .0.19|wc -l
1
[root@lvs -0 2 ~]# ip add|grep 10.0 .0.19|wc -l
0
[root@lb01 ~]# for num in `seq 4` ;do curl 10.0 .0.19 ;done
10.0 .0.10
10.0 .0.11
10.0 .0.10
10.0 .0.11
3.停掉lvs-01
[root@lvs -01 ~]
Stopping keepalived: [ OK ]
[root@lvs -01 ~]
0
[root@lvs -02 ~]
1
[root@lb01 ~]
10.0 .0 .10
10.0 .0 .11
10.0 .0 .10
10.0 .0 .11