(服务运维)负载均衡LVS实战:轮询算法和tunnel模式
Posted 林炜玮_51CTO
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了(服务运维)负载均衡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配置
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
以上是关于(服务运维)负载均衡LVS实战:轮询算法和tunnel模式的主要内容,如果未能解决你的问题,请参考以下文章