1, Environmental ready
to prepare three pure virtual machines, two web servers, and turn off all firewalls and selinux
2, deployment instructions:
• Use NAT network mode
• DR mode requires the Director DIP and all RealServer RIP must be in the same segment and broadcast domains
are designated • All real gateway node gateway
3, LVS-server management software installed lvs
yum -y install ipvsadm
4, need to generate ipvsadm file manually or start will complain
[root@vm-2 ~]# ipvsadm --save > /etc/sysconfig/ipvsadm
启动:
[root@vm-2 ~]# systemctl start ipvsadm
5, configuration ipvsadm:
[root@vm-2 ~]# ip addr add dev ens33 10.30.161.200:80/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 real server configuration
[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, test
curl 10.30.161.200
[root@localhost ~]# curl 10.30.161.200
server1
[root@localhost ~]# curl 10.30.161.200
server2
负载均衡实现成功