1、环境准备
准备 3 台纯净的虚拟机,两台 web 服务器,并关闭所有的防火墙和selinux
2、部署说明:
• 网络使用NAT模式
• DR模式要求Director DIP 和 所有RealServer RIP必须在同一个网段及广播域
• 所有节点网关均指定真实网关
3、LVS-server 安装lvs管理软件
yum -y install ipvsadm
4、需要手动生成ipvsadm文件否则启动会报错
[root@vm-2 ~]# ipvsadm --save > /etc/sysconfig/ipvsadm
启动:
[root@vm-2 ~]# systemctl start ipvsadm
5、配置ipvsadm:
[root@vm-2 ~]# ip addr add dev ens33 10.30.161.200/32
设置VIP
[root@vm-2 ~]# ipvsadm -A -t 10.30.161.200:80 -s rr
-A添加一个VIP,-t用的是tcp协议,-s rr采用轮训算法
添加转发到realserverip真实服务器的ip:
[root@vm-2 ~]# ipvsadm -a -t 10.30.161.200:80 -r 10.30.161.214:80 -g
[root@vm-2 ~]# ipvsadm -a -t 10.30.161.200:80 -r 10.30.161.241:80 -g
保存:
[root@vm-2 ~]# ipvsadm -S > /etc/sysconfig/ipvsadm
查看:
[root@vm-2 ~]# ipvsadm -ln
[root@vm-2 ~]# ipvsadm -ln --stats
显示统计信息
6、配置RS真实服务器
[root@real-server1 ~]# yum install -y nginx
[root@real-server1 ~]# echo "real-server1" >> /usr/share/nginx/html/index.html
两台机器都安装,按顺序添加不同的主机名以示区分
[root@vm-4 ~]# ip addr add dev lo 10.30.161.200/32 #在lo接口上绑定VIP
[root@vm-4 ~]# echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
arp_ignore 设置为1,意味着当别人的arp请求过来的时候,如果接收的设备没有这个ip,就不做出响应(这个ip在lo上,lo不是接收设备的进口)
[root@vm-4 ~]# echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce #匹配精确ip地址回包
[root@vm-4 ~]# systemctl start nginx
[root@vm-4 ~]# systemctl enable nginx
7、测试
curl 10.30.161.200
[root@localhost ~]# curl 10.30.161.200
server1
[root@localhost ~]# curl 10.30.161.200
server2
负载均衡实现成功