一、配置LVS节点与ipvsadm
1、由于使用虚拟机搭建,需要关闭网络管理,以防止影响
systemctl stop NetworkManager
systemctl disable NetworkManager
2、进入网络配置文件夹下
cd /etc/sysconfig/network-scripts/
3、vim ifcfg-ens32,内容如下。(若没有修改权限,请执行sudo chmod 666 ifcfg-ens32)
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
IPADDR=192.168.217.151
NETMASK=255.255.255.0
GATEWAY=192.168.217.2
DNS1=192.168.217.2
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens32
UUID=9c6e4ccf-c88b-4fd6-bc64-3ba5e724e887
DEVICE=ens32
ONBOOT=yes
4、cp ifcfg-ens32 ifcfg-ens32:1 , 编辑ifcfg-ens32:1文件内容如下
OTPROTO=static
DEVICE=ens32:1
ONBOOT=yes
IPADDR=192.168.217.150
NETMASK=255.255.255.0
5、重启网络
service network restart
6、ip addr
7、yum install ipvsadm
二、为两台RS配置虚拟ip(操作步骤一样,129和130都需要配置)
1、进入网络配置目录下,找到ifcfg-lo目录,构建虚拟的网络接口。(建一个虚拟ip,此虚拟ip仅仅只能返回用户数据,而不能被外部访问到真实的服务器)
cd /etc/sysconfig/network-sc
cp ifcfg-lo ifcfg-lo:1
vim ifcfg-lo:1
内容如下:
DEVICE=lo:1
IPADDR=192.168.217.150
NETMASK=255.255.255.255
NETWORK=127.0.0.0
# If you're having problems with gated making 127.0.0.0/8 a martian,
# you can change this to something else (255.255.255.255, for example)
BROADCAST=127.255.255.255
ONBOOT=yes
NAME=loopback
2、刷新网络服务
service network restart
3、查看结果 ip addr
三、为两台RS配置arp(操作步骤一样,129和130都需要配置)
1、vim /etc/sysctl.conf 内容如下
net.ipv4.conf.all.arp_ignore = 1
net.ipv4.conf.default.arp_ignore = 1
net.ipv4.conf.lo.arp_ignore = 1
net.ipv4.conf.all.arp_announce = 2
net.ipv4.conf.default.arp_announce = 2
net.ipv4.conf.lo.arp_announce = 2
2、sysctl -p 刷新
3、添加一个host
route add -host 192.168.217.150 dev lo:1
查看 route -n
4、第3步中的方式一旦重启就会失效,所以往往写入到开机自启动文件中
echo "route add -host 192.168.217.150 dev lo:1" >> /etc/rc.local
四、使用ipvsadm配置集群规则(在151LVS主机里)
1、添加一个集群
ipvsadm -A -t 192.168.217.150:80 -s rr
查看 ipvsadm -Ln
2、为上面创建的集群,构建两个RS真实的节点(129和130)
ipvsadm -a -t 192.168.217.150:80 -r 192.168.217.129:80 -g
ipvsadm -a -t 192.168.217.150:80 -r 192.168.217.130:80 -g
3、启动129和130的nginx,然后访问虚拟ip 192.168.217.150
五、测试DR轮询访问
1、修改请求持久化时间为5s,默认情况下为300s
ipvsadm -E -t 192.168.217.150:80 -s rr -p 5
查看ipvsadm -Ln
2、设置tcp、udp连接时间为1s
ipvsadm --set 1 1 1
刷新页面,命令行输入ipvsadm -Lnc 观察时间为0,页面即会轮询访问129和130服务器