DR模型解决的realserver中的VIP与Dispatcher中的VIP在同一个网络的不同办法:
1.通过路由器上设置mac地址绑定,将VIP对应的mac地址写入路由器.
2.通过realserver的arptables定义规则.
3.通过操作系统的内核参数来解决.
arp_ignore:
定义接收到arp请求时的响应级别,默认为0.
0.只要本地有响应的地址,就进行响应.
1.仅在请求的目标地址配置在请求的接口上时,进行响应.
arp_announce:
定义将自己的地址向外通告时的通告级别,默认为0.
0:将本机任何接口上的任何地址向外通告.
1:尽量向目标网络通告与其网络匹配的地址.
2.总是向目标网络通告与其网络匹配的地址.
本实验实验第3中方法
1.规划IP地址:
Dispatcher服务器,一块网卡:
eth0的IP地址:10.0.7.100/16
eth0:0的IP地址:10.0.7.101/16
Realserver1服务器一块网卡:
IP地址:10.0.7.108/16
Realserver2服务器一块网卡:
IP地址:10.0.7.109/16
2.设置realserver1主机的内核参数与网络信息:
sysctl -p net.ipv4.conf.all.arp_ingore=1
sysctl -p net.ipv4.conf.eth0.arp_ingore=1
sysctl -p net.ipv4.conf.all.arp_announce=2
sysctl -p net.ipv4.conf.eth0.arp_announce=2
若要上述信息永久生效需要写入/etc/sysctl.conf的配置文件.
ifconfig lo:0 10.0.7.100 broadcast 10.0.7.100 netmask 255.255.255.255 up
若要上述信息永久生效需要写入/etc/sysconfig/network-scripts/ifcfg-lo0的配置文件.
route add -host 10.0.7.100 dev lo:0
3.设置realserver2主机的内核参数与网络信息:
sysctl -p net.ipv4.conf.all.arp_ingore=1
sysctl -p net.ipv4.conf.eth0.arp_ingore=1
sysctl -p net.ipv4.conf.all.arp_announce=2
sysctl -p net.ipv4.conf.eth0.arp_announce=2
若要上述信息永久生效需要写入/etc/sysctl.conf的配置文件.
ifconfig lo:0 10.0.7.100 broadcast 10.0.7.100 netmask 255.255.255.255 up
若要上述信息永久生效需要写入/etc/sysconfig/network-scripts/ifcfg-lo0的配置文件.
route add -host 10.0.7.100 dev lo:0
4.设置Dispatcher的网卡:
ifconfig eth0:1 10.0.7.100 broadcast 10.0.7.100 netmask 255.255.255.255 up
echo 1 > /proc/sys/net/ipv4/ip_forward
route add -host 10.0.7.100 dev eth0:0
5.配置lvs:
[root@mytest ~]# ipvsadm -A -t 10.0.7.100:80 -s wlc
[root@mytest ~]# ipvsadm -a -t 10.0.7.100:80 -r 10.0.7.108 -g -w 3
[root@mytest ~]# ipvsadm -a -t 10.0.7.100:80 -r 10.0.7.109 -g -w 6
[root@mytest ~]# ipvsadm -Ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 10.0.7.100:80 wlc
-> 10.0.7.109:80 Route 6 0 0
-> 10.0.7.108:80 Route 3 0 0
[root@mytest ~]# service ipvsadm save
ipvsadm: Saving IPVS table to /etc/sysconfig/ipvsadm: [确定]
6.测试:
ab -n 10000 -c 200 http://10.0.7.100
7.查看状态:
[root@mytest ~]# ipvsadm -L --stats
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Conns InPkts OutPkts InBytes OutBytes
-> RemoteAddress:Port
TCP 10.0.7.100:http 4 4 0 208 0
-> 10.0.7.108:http 3 3 0 156 0
-> 10.0.7.109:http 1 1 0 52 0
[root@mytest ~]#
8.至此,LVS的DR模型测试完成.
转载于:https://blog.51cto.com/webseven/1548027