LVS DR模式实践
client:192.168.4.10/24
proxy:192.168.4.5/24
VIP: 192.168.4.15/24
web1:192.168.4.100/24
VIP:192.168.4.15/24
web2:192.168.4.200/24
VIP:192.168.4.15/24
重点要领:
1.在DR模式中后端服务器必须要伪装成调度器的IP。
2.修改内核参数禁止vip对外响应arp请求和申告。
3.VIP必须必须配置辅助接口,DIP必须配置在主接口上。
4.每一个后端RealServer都需要配置VIP在lo本地回环上。
一、给调度器配置VIP
cd /etc/sysconfig/network-scripts/
cp ifcfg-eth0 ifcfg-eth0:0 //拷贝一份eth0 为 eth0:0
vim ifcfg-eth0:0 //对其进行修改
TYPE=Ethernet //网卡类型以太网卡
BOOTPROTO=none //协议类型(无)
NAME=eth0:0 //网卡名字
DEVICE=eth0:0 //网卡设备
ONBOOT=yes //自动连接
IPADDR=192.168.4.15 //VIP地址
PREFIX=24 //子网掩码
要领
1:网卡名字不能为eth0 否则会与eth0网卡冲突
2:设备名不能为eth0 否则会与eth0网卡冲突
3:IP地址设置为VIP
4:删除UUID设备唯一识别码
nmcli connection up eth0 //重新激活eth0网卡去查看新配置的VIP
进入到后端RealServer 中拷贝一份本地回环的配置文件并进行配置VIP
cd /etc/sysconfig/network-scripts/
cp ifcfg-lo ifcfg-lo:0
vim ifcfg-lo:0
DEVICE=lo:0 //设备名
IPADDR=192.168.4.15 //IP地址 配置的VIP
NETMASK=255.255.255.255 //子网掩码
NETWORK=192.168.4.15 //网络位
# 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=192.168.4.15 //主机位
ONBOOT=yes //自动连接
NAME=lo:0 //网卡名
另外一台realserver 也需要这样伪装VIP 将这个文件scp过去
scp "/etc/sysconfig/network-scripts/ifcfg-lo:0" root@192.168.4.200:/etc/sysconfig/network-scripts/
注意这里我们在一个网络中出现了重复IP所以如果你重启了网络管理那么会出现IP地址冲突,所以这边需要修改内核对arp请求不回应不申告
在/etc/sysctl.conf中加入参数
net.ipv4.conf.all.arp_ignore = 1 //所有的网卡都忽略arp广播,默认值0 回应arp广播
net.ipv4.conf.lo.arp_ignore = 1 //本地回环lo忽略arp广播
net.ipv4.conf.lo.arp_announce = 2 //本地回环不对外申告
net.ipv4.conf.all.arp_announce = 2 //所有网卡不对外申告
sysctl -p 让配置文件立即生效
systemctl restart network //重启网卡
可以看到两台RealServer 已经配置VIP成功即可
清空之前的lvs规则新添加本次的实验
[root@proxy network-scripts]# ipvsadm -C //清空之前的实验
[root@proxy network-scripts]# ipvsadm -Ln //查看当前规则
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
[root@proxy network-scripts]# ipvsadm -A -t 192.168.4.15:80 -s wrr //创建一个虚拟主机192.168.4.15 端口80 算法加权轮询
[root@proxy network-scripts]# ipvsadm -a -t 192.168.4.15:80 -r 192.168.4.100:80 -w 2 //添加realserver 192.168.4.100到4.15 权重2
[root@proxy network-scripts]# ipvsadm -a -t 192.168.4.15:80 -r 192.168.4.200:80 -w 1
[root@proxy network-scripts]# ipvsadm 0L
Try `ipvsadm -h' or 'ipvsadm --help' for more information.
[root@proxy network-scripts]# 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.4.15:80 wrr
-> 192.168.4.100:80 Route 2 0 0
-> 192.168.4.200:80 Route 1 0 0
[root@proxy network-scripts]# ipvsadm --save //保存
-A -t proxy:http -s wrr
-a -t proxy:http -r 192.168.4.100:http -g -w 2
-a -t proxy:http -r 192.168.4.200:http -g -w 1
[root@proxy network-scripts]#