搭建LVS-DR-配置LVS节点与ipvsadm
前期准备
1. 服务器与ip规划
LVS-1台
VIP(虚拟ip): 192.168.1.150
DIP(转发者IP/内网IP): 192.168.1.151
2.Nginx-2台(RealServer)
RIP(真实IP/内网IP):192.168.1.171
RIP(真实IP/内网IP):192.168.1.172
2.所有计算机节点关闭网络配置管理器,因为有可能会和网络接口冲突:
systemctl stop NetworkManager
systemctl disable NetworkManager
创建子接口-方式1
1.进入到网卡配置目录,找到ens33(ens0);
2.拷贝并且创建子接口:
cp ifcfg-ens33 ifcfg-ens33:1
注:`数字1`为别名,可以任取其他数字都行
3.修改子接口配置:vim ifcfg-ens33:1
4.配置参考如下:
BOOTPROTO="static"
DEVICE="ifcfg-ens33:1"ONBOOT="yes"
IPADDR=192.168.1.150
NETMASK=255.255.255.0
注:配置中的 192.168.1.150 就是咱们的vip,是提供给外网用户访问的ip地址,道理和nginx+keepalived那时讲的vip是一样的。
5.重启网络服务,或者重启linux:
service network restart
6.重启成功后,ip addr查看一下,就好发现多了一个ip,也就是虚拟ip(vip)
创建子接口-方式2(不推荐使用)
1.创建网络 接口并绑定虚拟ip:
ifconfig ens33:1 192.168.1.150/24
配置规则如下:
总览
ifconfig 【接口】
ifconfig 接口 【aftype】 options | address ...
描述
ifconfig 用于配置常驻内核的网络接口。它用于在引导成功时设定网络接口。
地址族
如果跟在接口名称后的第一个参数是它支持地址的名称。
选项
接口 接口名称。通常是一个跟单元号的驱动设备名,例如第一个以太接口 eth0 。
配置成功后,查看ip会发现新增一个192.168.1.150:
通过此方式创建的虚拟ip在重启后会自动消失
安装ipvsadm
现如今的centos都是集成了LVS,所以ipvs是自带的,相当于苹果手机自带ios,我们只需要安装ipvsadm即可(ipvsadm是管理集群的工具,通过ipvs可以管理集群,查看集群等操作),命令如下:
yum install ipvsadm
图中显示目前版本为1.2.1,此外是一个空列表,啥都没。
注:关于虚拟ip在云上的事儿
阿里云不支持虚拟IP,需要购买他的负载均衡服务
腾讯云支持虚拟IP,但是需要额外购买,一台节点最大支持10个虚拟ip
搭建LVS-DR-为两台RS配置虚拟IP
1、进入到网卡配置目录,找到lo(本地环回接口,用户构建虚拟网络子接口),拷贝一份新的随后进行修改。
2、修改内容如下:
3、重启网络(service network restart)后通过ip addr查看如下,表示OK:
搭建LVS-DR-为两台RS配置arp
为两台RS配置arp
1、arp-ignore:ARP相应界别(处理请求)
2、arp-announce:ARP通告行为(返回响应)
配置ARP
1、打开sysctl.conf
vim /etc/sysctl.conf
2、配置所有网卡、默认网卡、一级虚拟网卡的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
3、刷新配置文件
sysctl -p
4、增加一个网关,用于接收数据报文,当有请求到本机后,会交给lo去处理
route add -host 192.168.1.150 dev lo:1
5、防止重启失效,在开机自启增加配置
echo "route add -host 192.168.1.150 dev lo:1" >> /etc/rc.local
6、第二台RS使用相同步骤,重复1-5。
搭建LVS-DR-使用ipvsadm配置集群规则
1、创建LVS节点,用户访问的集群调度者。
ipvsadm -A -t 192.168.1.150:80 -s rr -p 5
2、创建2台S真实服务器
ipvsadm -a -t 192.168.1.150:80 -r 192.168.1.171:80 -g
ipvsadm -a -t 192.168.1.150:80 -r 192.168.1.172:80 -g
3、保存到规则库,否则重启失效。
ipvsadm -S
4、检查集群
ipvsadm -Ln
ipvsadm -Ln --stats
5、其他命令
# 重启ipvsadm,重启后需要重新配置
service ipvsadm restart
# 查看持久化连接
ipvsadm -Ln --persistent-conn
# 查看连接请求过期时间以及请求源ip和目标ip
ipvsadm -Lnc
# 设置tcp tcpfin udp 的过期时间(一般保持默认)
ipvsadm --set 1 1 1
# 查看过期时间
ipvsadm -Ln --timeout
6、更详细的帮助文档
ipvsadm -h
man ipvsadm