机器环境:
192.168.7.154 负载调度主机
192.168.7.209 虚拟IP
192.168.7.99 真实主机1
192.168.7.4 真实主机2
LVS的负载均衡模型共有三种:地址转换(NAT)、IP隧道(IP Tunneling)和直接路由(DR)模型。
实验采用DR均衡模型。
1、配置负载调度主机
yum install ipvsadm
ifconfig eth0:0 192.168.7.209 broadcast 192.168.7.209 netmask 255.255.255.255 up
route add -host 192.168.7.209 dev eth0:0
echo "1">/proc/sys/net/ipv4/ip_forward
ipvsadm -C
ipvsadm -A -t 192.168.7.209:22 -s rr
ipvsadm -a -t 192.168.7.209:22 -r 192.168.7.99:22 -g
ipvsadm -a -t 192.168.7.209:22 -r 192.168.7.4:22 -g
2、配置每台真实主机
ifconfig lo:0 192.168.7.209 broadcast 192.168.7.209 netmask 255.255.255.255 up
route add -host 192.168.7.209 dev lo:0
//禁止本机响应虚拟IP的ARP请求
echo "1" >/proc/sys/net/ipv4/conf/lo/arp_ignore
echo "1" >/proc/sys/net/ipv4/conf/all/arp_ignore
//应答客户端请求时,先解析客户端IP地址,需要发送arp请求,而请求中需要填写自己的IP和MAC
//下面的参数指定arp请求报文中的源地址不要使用虚拟IP
echo "2" >/proc/sys/net/ipv4/conf/lo/arp_announce
echo "2" >/proc/sys/net/ipv4/conf/all/arp_announce
3、测试
使用局域网中的另外一台机器,ssh 192.168.7.209,登录成功之后查看主机名称。
断开之后,再次执行ssh 192.168.7.209,此时可能会报错,因为另一台主机的指纹与先前保存的那台主机的指纹不一致。
这样也说明了负载均衡策略生效了。
可以在负载调度主机执行下面的命令查看
ipvsadm -Ln