LVS负载均衡-DR模式配置

  • LVS:Linux virtual server ,即Linux虚拟服务器
    • LVS自身是一个负载均衡器(Director),不直接处理请求,而是将请求转发至位于它后端的真实服务器real server上。
    • LVS是四层(传输层 tcp/udp)负载均衡工具
    • ipvs是集成在内核中的框架,可以通过用户空间的程序ipvsadm工具来管理,该工具可以定义一些规则来管理内核中的ipvs。
    • lvs无法解决RS的健康检查,并且存在单点故障,建议使用keepalived高可用。
  • LVS-DR模式的术语:
    • DS:前段负载均衡节点服务器
    • RS:后端真实服务器
    • CIP:客户端IP地址
    • VIP:负载均衡对外提供访问的IP地址,一般负载均衡IP都会通过Virtual IP实现高可用
    • RIP:负载均衡后端的真实服务器IP地址
  • LVS-DR模式的特点:
    • Director Server和Real Server必须在同一个物理网络中
    • RS可以使用私有地址也可以使用公网地址。如果使用公网地址,可以通过互联网对RIP进行直接访问。
    • 所有的请求报文经过DS,但回复响应报文不能经过DS。
    • RS的网关不允许指向DS的IP,即不允许数据包经过DS
    • RS上的lo接口配置VIP的IP地址
  • DR模式的具体配置如下:
    • 实验拓扑图:
    • 1.配置DS(负载均衡调度器):
      • yum -y install ipvsadm
      • cd /etc/sysconfig/network-scripts/
      • cp -rp ifcfg-ens33 ifcfg-ens33:0
      • vim ifcfg-ens33:0
        • TYPE="Ethernet"
        • BOOTPROTO="static"
        • DEVICE="ens33:0"
        • ONBOOT="yes"
        • IPADDR=192.168.8.200
        • NETMASK=255.255.255.0
      • ifup ens33:0
      • ifconfig ens33:0
      • 配置LVS负载分配策略:
        • ipvsadm -A -t 192.168.8.200:80 -s rr
        • ipvsadm -a -t 192.168.8.200:80 -r 192.168.8.6:80 -g -w 1
        • ipvsadm -a -t 192.168.8.200:80 -r 192.168.8.7:80 -g -w 1
          • -A:添加一个集群服务
          • -a:添加真实服务器
          • -t:指定VIP地址及Tcp端口
          • -r:指定RIP地址及端口
          • -g:指定DR模式
          • rr:轮询调度算法
          • -w:权重值
        • ipvsadm -Ln --stats (查看策略状态)
        • ipvsadm --save > /etc/sysconfig/ipvsadm
        • systemctl start ipvsadm
    • 2.配置RS节点服务器(192.168.8.6和192.168.8.7)
      • 使用DR模式时,节点服务器也需要vip地址,并调整内核的ARP响应参数以阻止更新vip的MAC地址,避免发生冲突。
      • cd /etc/sysconfig/network-scripts
      • cp ifcfg-lo ifcfg-lo:0
      • vim ifcfg-lo:0
      • 修改:
        • DEVICE=lo:0
        • IPADDR=192.168.8.200
        • NETMASK=255.255.255.255
        • ONBOOT=yes
      • 添加vip本地访问路由:
        • route add -host 192.168.8.200 dev lo:0
      • 配置RS节点的arp响应和通告级别:
        • echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
        • echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore
        • echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce
        • echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce

相关推荐

最近更新

  1. TCP协议是安全的吗?

    2024-03-28 11:34:03       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-03-28 11:34:03       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-03-28 11:34:03       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-03-28 11:34:03       20 阅读

热门阅读

  1. 无感刷新token

    2024-03-28 11:34:03       21 阅读
  2. CSS选择器 个人练习笔记

    2024-03-28 11:34:03       20 阅读
  3. 蓝桥杯-双指针

    2024-03-28 11:34:03       18 阅读
  4. JUC/多线程锁的用法(二)

    2024-03-28 11:34:03       18 阅读
  5. 【Vue.js 3.0】递归组件实现思路

    2024-03-28 11:34:03       18 阅读
  6. yarn的安装以及使用案例

    2024-03-28 11:34:03       18 阅读
  7. 什么是solana PDA账户?

    2024-03-28 11:34:03       18 阅读
  8. 08、Lua 函数

    2024-03-28 11:34:03       15 阅读