目录
1.LVS-DR模式的实现过程
2. 配置DR服务器
3. 配置节点服务器
节点一 192.168.112.100
节点二 192.168.112.101
4. 测试
1.LVS-DR模式的实现过程
数据包流向分析:
- (1)客户端发送请求到irector Server(负载均衡器),请求的数据报文(源IP是CIP,目标IP是VIp)到达内核空间。
- (2)Director Server和Real Server在同一个网络中,数据通过二层数据链路层来传输。
- (3)内核空间判断数据包的目标IP是本机VIP,此时IPVS(IP虚拟服务器)比对数据包请求的服务是否是集群服务,是集群服务就重新封装数据包。
- 修改源MAC地址为Director server的MAC地址,修改目标MAC地址为Realserver的MAC地址,源IP地址与目标IP地址没有改变,然后将数据包发送给 Real Server。
- (4)到达Real server的请求报文的MAC地址是自身的MAC地址,就接收此报文。数据包重新封装报文(源IP地址为VIp,目标IP为CIP),将响应报文通过1o接口传送给物理网卡然后向外发出。
- (5)Real Server 直接将响应报文传送到客户端。
DR模式的特点:
- 1)Director server和Real Server必须在同一个物理网络中。
- (2)Real server 可以使用私有地址,也可以使用公网地址。如果使用公网地址,可以通过互联网对RIP进行直接访问。
- (3)Director Server作为群集的访问入口,但不作为网关使用。
- (4)所有的请求报文经由Director Server,但回复响应报文不能经过 Director Server。
- (5)Real Server的网关不允许指向Director Server IP,即Real server发送的数据包不允许经过Director server。
- (6)Real server上的1o接口配置VIP的IP地址。
2. 配置DR服务器
1. #配置虚拟IP地址(VIP:192.168.112.200)
cd /etc/sysconfig/network-scripts/
cp ifcfg-ens33 ifcfg-ens33:0
vim ifcfg-ens33:0
#删除UUID,dns与网关,注意子网
NAME=ens33:0
DEVICE=ens33:0
IPADDR=192.168.112.200
NETMASK=255.255.255.255
2. #重启网络服务、启动网卡
systemctl restart network
ifup ifcfg-ens33:0
3. #调整/proc响应参数
vim /etc/sysctl.conf
net.ipv4.ip_forward = 0
net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.default.send_redirects = 0
net.ipv4.conf.ens33.send_redirects = 0
4. #刷新配置
sysctl -p
5. #加载模块
modprobe ip_vs
cat /proc/net/ip_vs
6. #配置负载分配策略,并启动服务
ipvsadm-save >/etc/sysconfig/ipvsadm
systemctl start ipvsadm.service
7. #清空ipvsadm,并做策略
##添加真实服务器-a 指定VIP地址及TCP端口-t 指定RIP地址及TCP端口 -r 指定DR模式-g
ipvsadm -C
ipvsadm -A -t 192.168.112.200:80 -s rr
ipvsadm -a -t 192.168.112.200:80 -r 192.168.59.100:80 -g
ipvsadm -a -t 192.168.112.200:80 -r 192.168.59.101:80 -g
8. #保存设置
ipvsadm
ipvsadm -ln
ipvsadm-save >/etc/sysconfig/ipvsadm
为网关设置VIP地址
配置sysctl.conf文件
设置ipvsadm策略
3. 配置节点服务器
节点一 192.168.112.100
使用nfs功能挂载网页文件,详细过程见LVS集群——nat模式
1. #添加回环网卡,修改回环网卡名,IP地址,子网掩码 cd /etc/sysconfig/network-scripts/ cp ifcfg-lo ifcfg-lo:0 vim ifcfg-lo:0 DEVICE=lo:0 IPADDR=192.168.112.200 NETMASK=255.255.255.255 NETWORK=127.0.0.0 systemctl restart network 2. #设置路由 route add -host 192.168.112.200 dev lo:0 route -n 3. #调整 proc 响应参数 vim /etc/sysctl.conf net.ipv4.conf.all.arp_ignore = 1 net.ipv4.conf.all.arp_announce = 2 net.ipv4.conf.default.arp_ignore = 1 net.ipv4.conf.default.arp_announce = 2 net.ipv4.conf.lo.arp_ignore = 1 net.ipv4.conf.lo.arp_announce = 2 sysctl -p
设置回环网卡的VIP地址
设置路由
调整sysctl.conf
节点二 192.168.112.101
1. #添加回环网卡,修改回环网卡名,IP地址,子网掩码
cd /etc/sysconfig/network-scripts/
cp ifcfg-lo ifcfg-lo:0
vim ifcfg-lo:0
DEVICE=lo:0
IPADDR=192.168.112.200
NETMASK=255.255.255.255
NETWORK=127.0.0.0
systemctl restart network
2. #设置路由
route add -host 192.168.112.200 dev lo:0
route -n
3. #开机执行命令
vim /etc/rc.d/rc.local
/usr/sbin/route add -host 192.168.112.200 dev lo:0
chmod +x /etc/rc.d/rc.local
4. #调整 proc 响应参数
vim /etc/sysctl.conf
net.ipv4.conf.all.arp_ignore = 1
net.ipv4.conf.all.arp_announce = 2
net.ipv4.conf.default.arp_ignore = 1
net.ipv4.conf.default.arp_announce = 2
net.ipv4.conf.lo.arp_ignore = 1
net.ipv4.conf.lo.arp_announce = 2
sysctl -p
设置回环网卡的VIP地址
设置路由
调整sysctl.conf
4. 测试
配置客户端网址
刷新一下



