今天继续给大家介绍Linux运维相关知识,本文主要内容是LVS的DR模式实战。
阅读本文,您需要对LVS有一定的了解,如果您对此还存在困惑,欢迎您查阅我博客内的其他文章,相信您一定会有所收获。
推荐阅读:
LVS详解(一)——LVS理论知识
LVS详解(二)——LVS工作模式
LVS详解(三)——LVS算法简介
LVS详解(四)——LVS NAT模式实战
一、实战环境及目的
本次实战环境如下所示:
采用三台设备,设备名称及IP地址如下所示:
分发器:
VIP:192.168.136.123
DIP:192.168.136.101
真实服务器一:
网卡IP:192.168.136.11
环回VIP:192.168.136.101
真实服务器二:
网卡IP:192.168.136.12
环回VIP192.168.136.101
使用Vmware虚拟机实现LVS对于Nginx的负载均衡架构,真实服务器1和2安装Nginx,配置NTA模式的LVS实现两个真实服务器之间的负载均衡。
二、实战配置
(一)分发器配置
在分发器上,我们首先在本地网卡上创建一个虚拟的IP地址,执行命令:
cp -a /etc/sysconfig/network-scripts/ifcfg-ens32 /etc/sysconfig/network-scripts/ifcfg-ens32:1
打开新复制的网卡文件,修改其IP地址为192168.136.123,删除其UUID设置(否则会和原有的设置冲突),修改其DEVICE和NAME,然后重启网卡。上述步骤完成后,发现当前设备上已经出现了我们配置的虚拟IP地址,如下所示:
然后我们进行LVS的配置,配置命令如下:
lvsadm -A -t 192.168.136.123:80 -s rr
lvsadm -a -t 192.168.136.123:80 -r 192.168.136.11:80 -g
lvsadm -a -t 192.168.136.123:80 -r 192.168.136.12:80 -g
上述配置完成后,查看当前的LVS配置,发现结果如下:
这样,我们的LVS的分发器就配置完成了。
(二)真实服务器配置
为了实现DR模式中真实服务器对分发器转发客户端数据包的接收,我们要在真实服务器上添加一块本地虚拟环回IP地址,该IP地址与分发器VIP地址完全相同。
执行命令:
cp -a /etc/sysconfig/networt-scripts/ifcfg-lo /etc/sysconfig/network-scripts/ifcfg-lo:1
将设备上的本地环回口配置复制后,打开新复制的文件,修改配置如下所示:
完成上述配置后,重启真实服务器网卡配置,发现如下所示:
此外,为了防止我们的真实服务器虚拟IP地址和分发器的IP地址冲突,我们需要配置以下命令:
echo "1" > /proc/sys/net/ipv4/conf/all/arp_ignore
echo "1" > /proc/sys/net/ipv4/conf/lo/arp_ignore
echo "2" > /proc/sys/net/ipv4/conf/all/arp_announce
echo "2" > /proc/sys/net/ipv4/conf/lo/arp_announce
arp_ignore=1为让系统只响应目的地址为本地IP地址的ARP请求,不响应广播的ARP请求报文;arp_announce=2为让系统选择发送接口的IP地址来设置为ARP请求的源IP地址,而不是IP包的源地址。
之后,我们就可以在两台虚拟服务器上安装并开启Nginx服务了。
三、效果检验
最后,让我们来检验一下配置效果。
首先,我们尝试访问以下LVS架构下的虚拟IP地址,如下所示:
然后尝试查看系统当前的状态,发现如下所示:
综上,我们的LVS的DR模式工作正常,会正常转发客户端的请求报文,并正常响应,LVS的DR模式配置成功!
原创不易,转载请说明出处:https://blog.csdn.net/weixin_40228200