(三)lvs客户端验证
lvs客户端不必依赖负载均衡器就可以独立运行,只不过这种运行对负载均衡没有任何作用,当然也没有任何副作用,所以我们把lvs客户端配置完成后(配置文件就是一个shell脚本),可以单独运行它,来检验配置是否正确。
● centos 脚本
配置脚本写好保存,给予脚本执行权限。脚本启停以start和stop这两个参数来控制。首先,我们来启动配置脚本,执行命令 /usr/local/bin/lvs_real start ,接着我们来检查网络的状态:
[root@huludao-2 ~]# ip add
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
inet 61.135.20.16/32 brd 61.135.20.16 scope global lo:0
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast qlen 100
link/ether 00:15:17:60:21:a0 brd ff:ff:ff:ff:ff:ff
inet 61.135.20.101/24 brd 125.38.38.255 scope global eth0
inet6 fe80::215:17ff:fe60:21a0/64 scope link
valid_lft forever preferred_lft forever
3: eth1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop qlen 1000
link/ether 00:15:17:60:21:a1 brd ff:ff:ff:ff:ff:ff
4: sit0: <NOARP> mtu 1480 qdisc noop
link/sit 0.0.0.0 brd 0.0.0.0
从输出可以看出,lo0:0确实绑定了我们指定的vip地址。那么当我们执行 /usr/local/bin/lvs_real时,vip应当从lo0:0接口卸载。我们来看看输出是什么:
[root@huludao-2 ~]# lvs_real stop
close LVS Directorserver
[root@huludao-2 ~]# ip add
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast qlen 100
link/ether 00:15:17:60:21:a0 brd ff:ff:ff:ff:ff:ff
inet 125.38.38.101/28 brd 125.38.38.111 scope global eth0
inet6 fe80::215:17ff:fe60:21a0/64 scope link
valid_lft forever preferred_lft forever
3: eth1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop qlen 1000
link/ether 00:15:17:60:21:a1 brd ff:ff:ff:ff:ff:ff
4: sit0: <NOARP> mtu 1480 qdisc noop
link/sit 0.0.0.0 brd 0.0.0.0
噢,上帝!正是我们所期待的结果:vip从lo上消失了。
●freebsd脚本/usr/local/bin/lvs_real_bsd
启停所使用的方法和参数与centos那个配置脚本是一样的,但察看方法有所不同(freebsd无ip add工具)。这里使用的方法是ifconfig,启动时输出如下:
fav1# ifconfig
em0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
options=19b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,TSO4>
ether 00:15:17:6e:c8:46
inet 61.135.20.69 netmask 0xffffffc0 broadcast 61.128.20.127
media: Ethernet autoselect (100baseTX <full-duplex>)
status: active
lo0: flags=80c9<UP,LOOPBACK,RUNNING,NOARP,MULTICAST> metric 0 mtu 16384
inet6 fe80::1%lo0 prefixlen 64 scopeid 0x3
inet6 ::1 prefixlen 128
inet 127.0.0.1 netmask 0xff000000
inet 61.135.20.16 netmask 0xffffffff
当执行/usr/local/bin/lvs_real_bsd stop 时,vip被卸载。有时可能卸载不成功,可能需要多执行几次停止命令。
●arp抑制验证
如果不配置负载均衡器的转发功能,那么在这个步骤所设置的vip将不会提供任何ip功能,除了能用ifconfig输出显示而外。
在没有配置或开启lvs负载均衡器的情况下,我们用其他机器ping vip,应该是不通的。当然在网络前面启用了防火墙阻止ping 不算。为了不影响测试,最好把你的防火墙打开。
Arp抑制生效后,再也没有机器知道vip的存在,这是一个问题,谁来响应vip请求?这个问题交给负载均衡器吧,它知道这背后的一切。