前言

LVS理论和用户空间工具ipvsadm说明传送门​​https://blog.51cto.com/linweiwei/4917991​

DR模式实战实验:​​https://blog.51cto.com/linweiwei/4961540​

Tunnel模式实战实验:​​https://blog.51cto.com/linweiwei/4961638​

由于LVS不具备健康性检查,即一台服务挂了,仍然根据对应算法发送请求。因此常和keepalive连用

实验环境

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

#所有主机禁用iptables和SELinux

虚拟设备环境

  • 外网设备CIP可以访问VIP,不能访问RIP和DIP
  • DIP和RS1、RS2对应IP可以互相通信单不能访问CIP
  • 实验以NAT和DR模式分别演示
  • 去掉逻辑层后,操作面仅剩创建集群选择算法 ;在集群里添加后端的server选择模式

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

NAT模式配置

RS1和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

LVS设备配置

yum install ipvsadm -y 
systemctl enable --now ipvsadm.service #开机加载服务
systemctl status ipvsadm.service #查看服务状态
ipvsadm -A -t 192.168.1.100:80 -s rr #创建集群服务,地址为VIP,rr轮询模式,-A改成-E是修改
ipvsadm -a -t 192.168.1.100:80 -r 172.16.10.25 -m #添加集群服务真实提供方,端口一致的话后者可以省略端口
ipvsadm -a -t 192.168.1.100:80 -r 172.16.10.26 -m #添加集群服务真实提供方,端口一致的话后者可以省略端口
ipvsadm -Sn > /etc/sysconfig/ipvsadm #保存配置
附:
• ipvsadm -C #删除规则
• ipvsadm -R < /etc/sysconfig/ipvsadm #加载规则

ipvsadm -Ln #查看集群服务信息

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

echo 'net.ipv4.ip_forward=1' >> /etc/sysctl.conf #打开eth1转发功能

sysctl -p  #启用转发

(服务运维)负载均衡LVS实战:轮询算法和NAT模式_NAT和DR模式_04

外网进行效果测试,正常打开网址,且轮询提供服务

统计命令:

ipvsadm -Lnc #查看连接信息

  • --numeric, -n:以数字形式输出地址和端口号
  • --exact:扩展信息,精确值
  • --connection,-c:当前IPVS连接输出
  • --stats:统计信息
  • --rate :输出速率信息

(服务运维)负载均衡LVS实战:轮询算法和NAT模式_NAT和DR模式_05

趣味探讨:LVS并没有开启80端口,为什么还能监听80端口过来的请求

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

因为ipvsadm是内核工具它有在监听,用户空间看不到。ipvsadm收到80请求后送至集群服务器