博客
关于我
负载均衡LVS集群之TUN模式搭建
阅读量:501 次
发布时间:2019-03-06

本文共 1943 字,大约阅读时间需要 6 分钟。

LVS/TUN模式配置与轮询机制实践指南

一、LVS/TUN模式原理

在本节中,我们将探讨Linux Virtual Server(LVS)结合TUN模式的工作原理。LVS结合TUN模式是一种高效的网络负载均衡解决方案,其核心思想是在传统VS/NAT模式的基础上,通过IP隧道技术实现对客户端请求包头的双层包头处理,从而将请求转发至后端真实服务器(RS server)。

其工作原理主要包括以下几个步骤:

  • 客户端请求处理:客户端发送请求时,将IP包头中的源地址替换为虚拟IP地址(VIP),目标地址保留不变。
  • 隧道包头处理:LVS将请求包头中的源地址转换为TUN接口上的目标地址,形成双层包头。
  • 路由转发:通过TUN接口将转发给后端真实服务器,后者需支持IPTunneling协议。
  • 二、TUN模式优缺点分析

    TUN模式作为LVS的一种调度策略,具有以下特点:

  • 优点

    • 不需要调度应答报文,网络负载能力显著增强。
    • 服务器与调度器可以分布在不同VLAN中,网络架构灵活。
    • 支持广域负载均衡,适合大规模后端服务器集群。
  • 缺点

    • 所有真实服务器需支持IPTunneling协议,并安装相应内核模块,增加部署复杂性。
    • 建立隧道的开销较大,可能导致网络延迟增加。
    • 后端服务器需与外网保持联系,存在一定的安全风险。
    • 不支持端口映射,需依赖TUN协议的双向通信能力。
  • 三、实验环境说明

    本次实验环境包括:

    • 虚拟服务器(VS):server1,IP地址为172.25.66.1
    • 后端真实服务器(RS)
      • server2,IP地址为172.25.66.2
      • server3,IP地址为172.25.66.3

    四、轮询机制配置

    1. Virtual Server(VS)配置

    配置步骤

  • 加载TUN模块:首先使用以下命令加载IPIP模块:

    modprobe ipip

    查看接口状态:

    ip addr

    可能会看到隧道接口tunl0的信息。

  • 将VIP绑定至TUN接口

    • 首先从原有的网卡(如eth1)上删除VIP:
    ip addr del 172.25.66.100/24 dev eth1
    • 将VIP添加至TUN接口:
    ip addr add 172.25.66.100/24 dev tunl0
  • 添加负载均衡策略:使用ipvsadm命令进行配置:

    ipvsadm -A -t 172.25.66.100:80 -s rr

    -Adding real servers:

    ipvsadm -a -t 172.25.66.100:80 -r 172.25.66.2:80 -i
    ipvsadm -a -t 172.25.66.100:80 -r 172.25.66.3:80 -i

    查看配置结果:

    ipvsadm -ln
  • 2. 真实服务器(RS)配置

    在server2和server3上执行以下操作

  • 安装Apache并创建网页内容

    rpm -q httpd httpd-2.2.15-29.el6_4.x86_64

    创建默认网页:

    echo "

    www.westos.org ---- server$HOST

    " > /var/www/html/index.html
  • 加载IPIP模块

    modprobe ipip

    查看接口状态:

    ip addr show
  • 将VIP收回TUN接口

    • 删除VLAN eth1上的VIP:
    ip addr del 172.25.66.100/32 dev eth1
    • 将VIP添加至TUN接口:
    ip addr add 172.25.66.100/32 dev tunl0
    • 激活TUN接口:
    ip link set up tunl0
  • 关闭反向过滤规则:由于TUN模式会开启反向过滤规则,需要在所有接口上关闭:

    sysctl -w net.ipv4.conf.*.rp_filter=0sysctl -p

    查看结果:

    sysctl -a | grep rp_filter

    打开.回车,系统会提示是否需要保存修改,输入Y后刷新配置:

    sysctl -p
  • 测试验证

    经过以上配置后,通过curl命令测试VIP地址:

    curl 172.25.66.100

    观察结果,应发现请求会交替 toString.string 的结果,例如:

    • 第1次访问:http://www.westos.org ---- server3
    • 第2次访问:http://www.westos.org ---- server2
    • 第3次访问:http://www.westos.org ---- server3
    • 以此类推...

    通过这种配置,LVS + TUN模式成功实现了对多个后端服务器的轮询调度,确保了负载均衡和高可用性。

    转载地址:http://gvldz.baihongyu.com/

    你可能感兴趣的文章
    mysql 转义字符用法_MySql 转义字符的使用说明
    查看>>
    mysql 输入密码秒退
    查看>>
    mysql 递归查找父节点_MySQL递归查询树状表的子节点、父节点具体实现
    查看>>
    mysql 通过查看mysql 配置参数、状态来优化你的mysql
    查看>>
    mysql 里对root及普通用户赋权及更改密码的一些命令
    查看>>
    Mysql 重置自增列的开始序号
    查看>>
    mysql 锁机制 mvcc_Mysql性能优化-事务、锁和MVCC
    查看>>
    MySQL 错误
    查看>>
    mysql 随机数 rand使用
    查看>>
    MySQL 面试题汇总
    查看>>
    MySQL 面试,必须掌握的 8 大核心点
    查看>>
    MySQL 高可用性之keepalived+mysql双主
    查看>>
    MySQL 高性能优化规范建议
    查看>>
    mysql 默认事务隔离级别下锁分析
    查看>>
    Mysql--逻辑架构
    查看>>
    MySql-2019-4-21-复习
    查看>>
    mysql-5.6.17-win32免安装版配置
    查看>>
    mysql-5.7.18安装
    查看>>
    MySQL-Buffer的应用
    查看>>
    mysql-cluster 安装篇(1)---简介
    查看>>