(服务运维)负载均衡LVS实战(轮询算法和tunnel模式)

我自横刀向天笑,去留肝胆两昆仑。这篇文章主要讲述(服务运维)负载均衡LVS实战:轮询算法和tunnel模式相关的知识,希望能为你提供帮助。


前言LVS理论和用户空间工具ipvsadm说明传送门   ??https://blog.51cto.com/linweiwei/4917991??
NAT模式实战配置  ??https://blog.51cto.com/linweiwei/4958609??
DR模式实战配置 ??https://blog.51cto.com/linweiwei/4961540??
由于LVS不具备健康性检查,即一台服务挂了,仍然根据对应算法发送请求。因此常和keepalive连用
tunnel模式配置(跨广播域) 实验环境
参与设备有五台

  • client 配置IP网关指向192.168.1.200
  • router 配置IP开启转发(用centos替代)
  • LVS配置IP和回环口VIP、网关指向172.16.1.200
  • RS1配置IP和回环口VIP、网关指向172.16.1.200
  • RS2配置IP和回环口VIP、网关指向172.16.1.200
  • 修改RS1和RS的网关为路由设备的172.16.10.200(生产环境按正常网关做执行,这里是实验环境)



Client配置

route配置

echo net.ipv4.ip_forward=1 > > /etc/sysctl.conf
sysctl -p    #开启IP转发
RS1配置

网络配置和简单web搭建
yum -y install httpd mariadb-server
systemctl enable --now httpd mariadb.service 
hostnamectl set-hostname rs1.linweiwei.com
hostname -I > /var/www/html/index.html
ifconfig tunl0 172.16.10.100 netmask 255.255.255.255 up
lsmod |grep ipip
echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore
echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce
echo "0" > /proc/sys/net/ipv4/conf/tunl0/rp_filter    #0关闭数据原路返回,1还需要经过LVS
echo "0" > /proc/sys/net/ipv4/conf/all/rp_filter  #0关闭数据原路返回,1还需要经过LVS

ifconfig lo:1 172.16.10.100/32 
ip a    #避免VIP地址相同的问题就是关闭免费ARP


RS2配置

网络配置和简单web搭建
yum -y install httpd mariadb-server
systemctl enable --now httpd mariadb.service 
hostnamectl set-hostname rs2.linweiwei.com
hostname -I > /var/www/html/index.html
ifconfig tunl0 172.16.10.100 netmask 255.255.255.255 up
lsmod |grep ipip
echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore
echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce
echo "0" > /proc/sys/net/ipv4/conf/tunl0/rp_filter
echo "0" > /proc/sys/net/ipv4/conf/all/rp_filter

ifconfig lo:1 172.16.10.100/32 
ip a    #避免VIP地址相同的问题就是关闭免费ARP
LVS配置
【(服务运维)负载均衡LVS实战(轮询算法和tunnel模式)】
ifconfig tunl0 172.16.10.100 netmask 255.255.255.255 up
lsmod |grep ipip
yum install ipvsadm -y  
systemctl enable --now ipvsadm.service #开机加载服务
systemctl status ipvsadm.service #查看服务状态
#实现LVS 规则,添加集群服务真实提供方,端口一致的话后者可以省略端口
ipvsadm -A -t 172.16.10.100:80 -s rr
ipvsadm -a -t 172.16.10.100:80 -r 172.16.10.18 -i
ipvsadm -a -t 172.16.10.100:80 -r 172.16.10.19 -i
ipvsadm -Sn > /etc/sysconfig/ipvsadm   #保存配置
查看效果,完美收尾~
while :; do curl 172.16.10.100; sleep 0.3; done


    推荐阅读