今天继续给大家介绍Linux运维相关知识,本文主要内容是LVS的DR模式实战。
阅读本文,您需要对LVS有一定的了解,如果您对此还存在困惑,欢迎您查阅我博客内的其他文章,相信您一定会有所收获。
一、实战环境及目的
本次实战环境如下所示:
采用三台设备,设备名称及IP地址如下所示:
VIP:192.168.136.123
发器:192.168.136.101
真实服务器一:192.168.136.11
真实服务器二:192.168.136.12
使用Vmware虚拟机配置实现LVS的对于Nginx的负载均衡架构,真实服务器1和2安装Nginx,配置NTA模式的LVS实现两个真实服务器之间的负载均衡。
二、实战配置
下面,让我们开始进行实战配置。
(一)分发器配置
首先,我们来配置以下分发器的网络,首先为了使得分发器能够正常转发数据包,我们必须先开启Linux内核的IP隧道模式,因为这项功能只有Linux系统才具有,因此这也是不能使用windows操作系统进行LVS TUN模式配置的原因,开启该模式就必须加载Linux内核的ipip模块,因此,执行命令:
modprobe ipip
即可。
之后,我们为我们的隧道添加IP地址,执行命令:
ip addr add 172.25.63.100/32 dev tunl0
上述命令执行完毕后,我们可以查看分发器上的网络,如下所示:
接下来,我们进行LVS负载均衡配置,执行命令:
ipvsadm -A -t 192.168.136.123:80 -s rr
ipvsadm -a -t 192.168.136.123:80 -r 192.168.136.11:80 -i
ipvsadm -a -t 192.168.136.123:80 -r 192.168.136.12:80 -i
执行完毕后,我们的LVS负载均衡配置如下:
这样,我们的分发器就配置完成了。
(二)真实服务器配置
接下来,让我们配置两个真实服务器,在两个真实服务器上,开启IPIP内核模块,添加IP隧道IP地址,并进行激活,执行命令:
modprobe ipip
ip addr add 192.168.136.123/32 dev tunl0
ip link set up tunl0
然后,打开文件/etc/sysctl.conf,在文件的末尾添加如下内容:
net.ipv4.conf.all.arp_filter = 0
net.ipv4.conf.all.rp_filter = 0
net.ipv4.conf.default.arp_filter = 0
net.ipv4.conf.default.rp_filter = 0
net.ipv4.conf.ens33.arp_filter = 0
net.ipv4.conf.ens33.rp_filter = 0
net.ipv4.conf.lo.arp_filter = 0
net.ipv4.conf.lo.rp_filter = 0
net.ipv4.conf.tunl0.arp_filter = 0
net.ipv4.conf.tunl0.rp_filter = 0
添加完成后的文件如下所示:
这些命令,主要是设置关闭反向过滤规则。
完成后,执行命令:
sysctl -p
这样,我们的真实服务器也配置完成了。
三、效果检验
最后,让我们检验一下我们的配置成果,在本地物理设备上,尝试访问LVS的虚拟IP地址,结果如下:
可以发现,LVS实现了基于两个设备的负载均衡,我们的实战配置成功!
原创不易,转载请说明出处:https://blog.csdn.net/weixin_40228200