阿里云可能不支持虚拟IP 可以购买官方购买提供的均衡服务。
腾讯云一台支持10个,需要额外购买。
1. 约定服务IP
LVS 内网IP 192.168.1.171 VIP 192.168.1.172
第一台服务器NGINX IP 192.168.1.181 VIP 192.168.1.172
第二台服务器NGINX IP 192.168.1.182 VIP 192.168.1.172
将所有计算机节点关闭网络配置管理器,因为有可能会和网络接口冲突
systemctl stop NetworkManager
systemctl disable NetworkManager
在需要安装LVS的服务器上新增一个一个IP配置文件
cp ifcfg-enp0s3 ifcfg-enp0s3:1
修改内容为
BOOTPROTO=static
DEVICE="enp0s3:1"
ONBOOT=yes
IPADDR=192.168.144.172
NETMASK=255.255.255.0
重新启动网络
service network restart
2.安装集群管理工具
yum install ipvsadm -y
查看信息
ipvsadm -Ln
构建DR模式的ipcfg-lo:1
目录:
cd /etc/sysconfig/network-script/
cp ifcfg-lo ifcfg-lo:1
修改内容为如下,然后:wq 保存
需要修改DEVICE 名称
修改IPADDR为虚拟IP
NETMASK 为4个255
DEVICE=lo:1
IPADDR=192.168.1.172
NETMASK=255.255.255.255
NETWORK=127.0.0.0
# If you're having problems with gated making 127.0.0.0/8 a martian,
# you can change this to something else (255.255.255.255, for example)
BROADCAST=127.255.255.255
ONBOOT=yes
NAME=loopback
刷新修改的数据 可以使用 ifup lo or service restart network
ifup lo
查看
ip addr
然后我们把 ifcfg-enp0s3文件也发送到 第一台服务器NGINX IP 192.168.1.181 和 第一台服务器NGINX IP 192.168.1.182 服务器。不需要修改任何信息。
3.arp-ignore:ARP相应级别(处理请求)
0:只要本机设置了IP,就能相应请求。
1:请求的目的地到达了网络接口,才会相应请求。
arp-announce:ARP通告行为(返回响应)
0:本机上任何网络接口都向外通告,所有的网卡都能接受到通告
1:尽可能避免本网卡与不匹配的目标进行通告
2:只在本网卡通告
配置ARP
配置192.168.1.181服务器 和 配置192.168.1.182服务器
vim /etc/sysctl.conf
配置 所有网卡 、 默认网卡 以及 虚拟网卡 的arp响应级别和通告行为,分别对应: all , default , lo :
# configration for lvs
net.ipv4.conf.all.arp_ignore = 1
net.ipv4.conf.default.arp_ignore = 1
net.ipv4.conf.lo.arp_ignore = 1
net.ipv4.conf.all.arp_announce = 2
net.ipv4.conf.default.arp_announce = 2
net.ipv4.conf.lo.arp_announce = 2
保存然后,强制刷新
sysctl -p
配置 192.168.1.181服务器 和 配置192.168.1.182服务器 路由, 一次生效,重启无效。
#如果提示没有 route 需要安装下
yum install net-tools -y
route add -host 192.168.1.172 dev lo:1
查看配置是否成功
route -n
如果需要重启有效,可以使用
echo "route add -host 192.168.1.172 dev lo:1" >> /etc/rc.local
4.配置集群规则
通过命令来查询帮助文档 192.168.1.171
ipvsadm -h
构建第一个负债均衡 轮询算法的服务
# -s 负载均衡 rr 轮询
ipvsadm -A -t 192.168.1.181:80 -s rr
查看是否成功
ipvsadm -Ln
构建节点
ipvsadm -a -t 192.168.1.172:80 -r 192.168.1.181:80 -g
ipvsadm -a -t 192.168.1.172:80 -r 192.168.1.182:80 -g
测试访问
浏览器请求 192.168.1.172:80
查看状态
ipvsadm -Ln --status
时间修改,单位秒,默认300 修改为30秒
ipvsadm -E -t 192.168.1.172:80 -s rr -p 30
设置连接时间
ipvsadm --set 1 1 1
ipvsadm -Lnc