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