第一章 LVS负载均衡群集

集群

在互联网应用中,随着站点对硬件的性能、响应速度、服务稳定性、数据可靠性等要求越来越高,单台服务器越来越力不从心

集群的含义

  • Cluster,集群也叫群集
  • 由多台主机构成,但对外只表现为一个整体

集群分类

类型

  • 负载均衡集群(高并发)
  • 高可用集群(避免单点故障)
  • 高性能运算集群
负载均衡集群(Load Balance Cluster)
  • 提高应用系统的响应能力,因可能处理更多的访问请求、减少延迟为目标,获得高并发、高负载(LB)的整体性能
  • LB的负载均衡依赖于主节点的分流算法
高可用集群(High Availability Cluster)
  • 以提高系统的可靠性,尽可能地减少中断时间为目标,确保服务的连续性,达到高可用的容错效果
  • HA的工作方式包括双工和主从两种模式
高性能运算集群(High Performance Computer Cluster)
  • 以提高应用系统的CPU运算速度、扩展硬件资源和分析能力为目标,获得相当于大型、超级计算机的高性能运算(HPC)能力
  • 高性能依赖于"分布式运算"、"并行计算",通过专用硬件和软件将多个服务器的CPU、内存等资源整合在一起,实现只有大型、超级计算机才具备的计算能力

负载均衡集群架构

第一层,负载调度器(Load Balancer或Director)

  • 当用户向服务器发送一个访问请求时,不让用户直接访问服务器,而是访问一个独立的调度器服务器,它的任务是接收用户的访问请求,把请求按照调度策略分配给后端的服务器
  • 调度器不负责数据的解析,只是一个中转站,因此调度器的并发能力很强

第二层,服务器池(Server Pool)

  • 调度器分配请求的目的地就是服务器池,负责向用户提供服务
  • 在集群中,服务器池内的任意一个单台服务器,都可以单独运行业务产品,只是压力比负载均衡的环境更大而已

第三层,共享存储(Share Storage)

  • 让服务器池中的每个Web服务器都挂载同一个存储池,假如网站内容更新,不需要在每个Web服务器上都更新一遍

结构

LVS集群的工作模式

本次只演示地址转换的示例步骤

  • 负载均衡集群是目前企业用的最多的集群类型
  • 集群的负载调度技术有三种工作模式
    • 地址转换
    • IP隧道
    • 直接路由

NAT模式

  • Network Address Translation,简称NAT模式
  • 类似于防火墙的私有网络结构,负载调度器作为所有服务器节点的网关,作为外网的访问入口,内网的应答出口
  • 服务器节点使用私有IP地址,与负载调度器位于同一个物理网络,安全性要优于其他两种方式
  • 外网的请求和内网的响应都需要经过调度器,所以内网服务器的网关地址应该是调度器
  • 针对中小型的集群环境
源地址和目标地址转换的过程
  1. 当外网客户端访问业务而发送请求时,调度器根据策略选择一个可用的后端服务器来处理请求
  2. 然后调度器通过DNAT把目标地址转换为后端服务器的地址,并传递给该服务器
  3. 后端服务器收到请求后,生成响应,然后返回给调度器,此时响应的源地址是后端服务器的IP地址
  4. 调度器收到响应后,通过SNAT把源地址修改为自己与外网通信的公有IP地址
  5. 然后返回给客户端

DR模式(直接路由)

  • Direct Routing,简称DR模式
  • 采用半开放式的网络结构,与TUN模式的结构类似,但内网服务器并不是分散在各地,而是与调度器位于同一个物理网络
  • 负载调度器与内网服务器通过本地网络连接,不需要建立专用的IP隧道
  • 因为调度器只接收外网的请求,内网服务器的响应则是直接由网关路由出去,所以减轻了调度器的压力
  • 针对大规模集群
源地址和目标地址转换的过程
  1. 当外网客户端需要访问业务而发送请求时
  2. 通过DNAT修改目标地址为调度器的地址,然后传递给内网调度器
  3. 调度器收到请求后,根据调度策略选择一个可用的后端服务器,再通过DNAT把目标地址转换为内网服务器的地址,然后把请求传递给内网服务器
  4. 内网服务器收到请求后,生成响应直接返回给网关,此时的源地址是内网服务器的IP地址
  5. 网关收到后端服务器的响应后,进行SNAT地址转换,把源地址转换为网关的公有IP地址,然后返回给客户端

TUN模式(IP隧道)

  • IP Tunnel,简称TUN模式
  • 采用开放式的网络结构,调度器和内网设备不在同一物理网络
  • 负载调度器仅作为外网的访问入口,内网服务器通过各自的Internet连接直接回应外网请求,而不再经过调度器
  • 服务器节点分散在互联网中的不同位置,具有独立的公网IP地址,通过专用IP隧道与负载调度器相互通信
  • 由于调度器和服务器都部署在公网,所以它们之间的通信都通过ip-ip的加密算法来加密通信
源地址和目标地址转换的过程
  1. 外网请求首先到达调度器的外网接口
  2. 调度器收到这些请求后,根据预设的路由规则将请求打包封装进IP隧道中,然后发送到内网
  3. 数据在IP隧道中传输时,隧道设备会将原始数据包头部封装,这个头部包含的是隧道设备的公共IP地址和内网目标服务器的私有IP地址
  4. 当内网服务器收到请求后,生成响应,响应首先到达隧道设备。
  5. 隧道设备会解析响应,去除隧道头部,然后根据记录的信息将响应返回到发起请求的外网客户端
  6. 外网客户端最终接收到的响应来自调度器,因为调度器会将来自内网服务器的响应经过隧道的IP地址转换,使得外网客户端看到的是调度器的公共IP地址作为源地址。

调度算法

  • 轮询(Round Robin)
    • 将受到的访问请求按照顺序轮流分配给群集中的各节点,(真实服务器),均等的对待每一台服务器,而不管服务器实际的连接数和系统负载
  • 加权轮询(Weighted Round Robin)
    • 根据调度器设置的权重值来分发请求,权重值高的节点优先获得任务,分配的请求书越多
    • 保证性能强的服务器承担更多的请求数量

LVS常用选项

选项

说明

-s

指定调度算法

rr:轮询

wrr:加权轮询

lc:最小链接数

wlc:加权最小连接数

-A

添加一个新的集群服务

-E

修改一个己有的集群服务

-D

删除指定的集群服务

-S

保存ipvsadm设定的规则策略,默认保存在/etc/sysconfig/ipvsadm中

-R

载入己保存的规则策略,默认加载/etc/sysconfig/ipvsadm

-C

清除所有集群服务

-Z

清除所有记数器

-L

显示当前己有集群服务,能通过相应的options查看不同状态信息

-a

向指定的集群服务中添加RS及属性

-e

修改RS属性

-t

指定为tcp协议

-u

指定为udp协议

-s

调度方法,默认为wlc

-w

指定权重,默认为1

-g

Gateway, DR模型

-i

ipip, TUN模型

-m

masquerade, NAT模型

-r

指定后端服务器的地址

  • 27
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值