目录
LVS之DR模式实战
3台机器
DS:192.168.179.130
RS1:192.168.179.131
RS2:192.168.179.132
VIP:192.168.179.100 ——>三台机器上都需要配置VIP
DR上操作
环境准备:
1. 关闭防火墙
[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# setenforce 0
2. 加载ip_vs模块
[root@localhost ~]# modprobe ip_vs -----加载内核模块
[root@localhost ~]# cat /proc/net/ip_vs -----查看当前ip_vs模块加载情况
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
3. 安装管理软件ipvsadm
[root@localhost ~]# yum -y install ipvsadm -----安装管理软件ipvsadm,不需要启动
4. 使用shell实现DR操作
[root@localhost ~]# vim lvs_service.sh -----编辑脚本
#!/bin/bash
VIP=192.168.179.100
RS1=192.168.179.131
RS2=192.168.179.132
case $1 in
start)
ifconfig lo:0 $VIP broadcast $VIP netmask 255.255.255.255 up
route add -host $VIP dev lo:0
ipvsadm -A -t $VIP:80 -s rr
ipvsadm -a -t $VIP:80 -r $RS1:80 -g
ipvsadm -a -t $VIP:80 -r $RS2:80 -g
;;
stop)
ifconfig lo:0 down
route del $VIP
;;
*)
echo "Usage: $0 {start | stop}"
exit
esac
sh lvs_service.sh start -----执行脚本
[root@localhost ~]# ipvsadm -Ln -----查看是否成功
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 192.168.179.100:80 rr
-> 192.168.179.131:80 Route 1 0 0
-> 192.168.179.132:80 Route 1 0 0
RS1和RS2上操作(两台操作基本一致)
1. 关闭防火墙
[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# setenforce 0
2. 安装httpd
[root@localhost ~]#yum -y install httpd -----安装apache服务
3. 修改web访问页面
[root@localhost ~]# echo "test1" > /var/www/html/index.html -----因为要测试,需要保持两台服务器页面不一致
[root@localhost ~]# echo "test2" > /var/www/html/index.html -----因为要测试,需要保持两台服务器页面不一致
[root@localhost ~]# systemctl restart httpd -----重启apache
4. 使用shell实现RS1和RS2操作
[root@localhost ~]# vim rs_services.sh -----编辑脚本
#!/bin/bash
VIP=192.168.179.100
case $1 in
start)
ifconfig lo:0 $VIP broadcast $VIP netmask 255.255.255.255 up
route add -host $VIP dev lo:0
echo "1" > /proc/sys/net/ipv4/conf/lo/arp_ignore
echo "1" > /proc/sys/net/ipv4/conf/all/arp_ignore
echo "2" > /proc/sys/net/ipv4/conf/all/arp_announce
echo "2" > /proc/sys/net/ipv4/conf/lo/arp_announce
sysctl -p
;;
stop)
ifconfig lo:0 down
route del $VIP
echo "0" > /proc/sys/net/ipv4/conf/lo/arp_ignore
echo "0" > /proc/sys/net/ipv4/conf/all/arp_ignore
echo "0" > /proc/sys/net/ipv4/conf/lo/arp_announce
echo "0" > /proc/sys/net/ipv4/conf/all/arp_announce
sysctl -p
;;
*)
echo "Usage: $0 {start | stop}"
exit
esac
[root@localhost ~]# sh rs_services.sh start -----执行脚本
5. 登录网页验证