LVS 负载均衡之 VS/NAT 模式

一、VS/NAT 模式简介

  1. VS/NAT(Virtual Server via Network Address Translation)模式,即网络地址转换技术实现虚拟服务器
    LVS 负载均衡之 VS/NAT 模式
  2. 接下来,借助于上图,分析报文的地址转换过程。

    • 请求报文转换过程:请求到达后,调度器将报文转发到某一台真实服务器,进行具体的处理。(修改目标地址)

      源地址 目标地址 描述
      192.168.142.11 192.168.142.100 web请求,访问调度器上的虚拟IP
      192.168.142.11 192.168.10.1 Director Server 从调度列表中选中具体的 Real Server
    • 响应报文转换过程:处理完毕后,响应报文经过调度器,将源地址由真实服务器地址替换为调度器的VIP。(修改源地址)

      源地址 目标地址 描述
      192.168.10.1 192.168.142.11 响应报文互换请求报文中的目标地址和源地址
      192.168.142.100 192.168.142.11 Director Server 将源地址由真实服务器的IP改为其虚拟IP(VIP)
  3. 特点总结
    • 真实服务器集群节点位于同一网络环境中
    • 真实服务器必须将网关指向负载均很器
    • RIP 通常是私有 IP,仅用于各个集群节点之间的通信
    • 负载均衡器必须至少是双网卡,一个连接外网(VIP),一个连接内网(DIP)
    • 负载均衡器必须位于 RS 与 DS 之间,充当网关
    • 支持端口映射
    • 负载均衡器必须是 Linux 操作系统,真实服务器随意
    • 进出报文都会经过负载均衡器,压力较大

二、VS/NAT 搭建实验

说明: 实验环境用虚拟机模拟。其中一台做为调度器,另外准备三台组成真实服务器池。

准备工作:现在主流的 Linux 内核都集成了 LVS 软件 ipvs,但是还需要我们安装一个管理工具 ipvsadm。

安装命令:yum install ipvsadm -y


网络环境说明:

服务器类型 IP 说明
lvs_vip 192.168.142.100 使用 192.168.142 网段模拟公网
lvs_dip 192.168.10.10 使用 192.168.10 网段模拟私网,与 rip 处于同一网段
real_service_1 192.168.10.1 nginx 服务器
real_service_2 192.168.10.2 nginx 服务器
real_service_2 192.168.10.3 nginx 服务器

&:四台服务器均关闭防火墙和selinux

1、RS 服务器配置

  • 1.1 将三台真实服务器的网关都指向负载均衡器 ( 重要 )

    route add default gw 192.168.10.10
    LVS 负载均衡之 VS/NAT 模式

  • 1.2 为了观察明显,三台真实服务器页面输出不同的内容

    真实服务器 页面内容
    real_service_1 This is Service 1
    real_service_2 This is Service 2
    real_service_3 This is Service 3

    LVS 负载均衡之 VS/NAT 模式

2、LVS 服务器配置

  • 2.1 开启负载均衡器的路由转发

    echo 1 > /proc/sys/net/ipv4/ip_forward

  • 2.2 添加 ipvs 规则

    ipvsadm -C // 清除 ipvs 规则
    ipvsadm -A -t 192.168.142.100:80 -s rr  // rr, 轮叫算法
    ipvsadm -a -t 192.168.142.100:80 -r 192.168.10.1:80 -m // -m, nat 模式
    ipvsadm -a -t 192.168.142.100:80 -r 192.168.10.2:80 -m // -m, nat 模式
    ipvsadm -a -t 192.168.142.100:80 -r 192.168.10.3:80 -m // -m, nat 模式

    LVS 负载均衡之 VS/NAT 模式

3、结果测试

LVS 负载均衡之 VS/NAT 模式

本作品采用《CC 协议》,转载必须注明作者和本文链接
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!