我自横刀向天笑,去留肝胆两昆仑。这篇文章主要讲述(服务运维)负载均衡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
推荐阅读
- 重定向和文件的查找
- LVS-Keepalived群集
- 喜报!东方证券携手博睿数据荣获《金融电子化》2021科技赋能金融业务突出贡献奖
- 磁盘管理与文件系统
- jackson学习之二(jackson-core)
- 硬盘介绍与磁盘管理
- 一起看看MySQL中的隐藏列
- 微服务架构 | 2.2 Alibaba Nacos 的统一配置管理#yyds干货盘点#
- 减小Windows启动的时间