LVS
搭建LVS-DR模式
配置LVS节点与ipvsadm(在LVS服务器上操作)
- 关闭网络管理器,如果不关闭,可能会引起网络接口的冲突(注意大小写),Nginx同样操作
systemctl stop NetworkManager
systemctl disable NetworkManager
- 构建虚拟IP
(1)拷贝一份网卡文件
cd /etc/sysconfig/network-scripts/
cp ifcfg-eth0 ifcfg-eth0:1
(2)修改新的网卡为如下配置
BOOTPROTO="static"
DEVICE="eth0:1"
ONBOOT="yes"
IPADDR=192.168.206.100
NETMASK=255.255.255.0
(3)重启网卡
service network restart
(4)查看IP地址,可以看到有两个IP
- 安装集群管理工具ipvsadm
yum install ipvsadm -y
为两台RS配置虚拟IP(在两台nginx服务器上操作)
- 使用lo网卡来构建虚拟接口
(1)拷贝一份网卡文件
cd /etc/sysconfig/network-scripts/
cp ifcfg-lo ifcfg-lo:1
(2)修改新的网卡配置如下
DEVICE=lo:1
IPADDR=192.168.206.100
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
(3)刷新网卡
ifup lo
- 查看IP地址,可以看到刚刚新添加的IP
- 到另一台nginx服务器进行相同的操作
为两台RS配置arp
arp-ignore:ARP响应级别(处理请求)
- 0:只要本机配置了ip,就能响应请求
- 1:请求的目标地址到达对应的网络接口,才会响应请求
arp-announce:ARP通告行为(返回响应)
- 0:本机上任何网络接口都向外通告,所有的网卡都能接受到通告
- 1:近可能避免本网卡与不匹配的目标进行通告
- 2:只在本网卡通告
配置
- 设置网卡行为,添加以下配置
vim /etc/sysctl.conf
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
- 添加路由信息,用于去接收数据报文
vim /etc/rc.local
添加以下内容
route add -host 192.168.206.100 dev lo:1
- 查看路由
route -n
5. 另一台节点做相同的配置
使用ipvsadm配置集群规则(在LVS服务器操作)
- 添加集群
ipvsadm -A -t 192.168.206.100:80 -s rr
# -A:添加虚拟集群 -t:TCP -s:负载均衡的一个算法 rr:轮询
- 查看列表
ipvsadm -Ln
- 构建服务
ipvsadm -a -t 192.168.206.100:80 -r 192.168.206.128:80 -g
ipvsadm -a -t 192.168.206.100:80 -r 192.168.206.132:80 -g
# -a:添加真实服务器的节点 -r:real server -g:DR模式
- 查看列表,可以看到多了两个节点
- 测试,访问VIP