• LVS负载均衡集群


    LVS负载均衡集群

    1.什么是LVS
    LVS(Linux Virtual Server)即Linux虚拟服务器,终端互联网用户从外部访问公司的外部负载均衡服务器,终端用户的Web请求会发送给LVS调度器,调度器根据自己预设的算法决定将该请求发送给后端的某台Web服务器,比如,轮询算法可以将外部的请求平均分发给后端的所有服务器,终端用户访问LVS调度器虽然会被转发到后端真实的服务器,但如果真实服务器连接的是相同的存储,提供的服务也是相同的服务,最终用户不管是访问哪台真实服务器,得到的服务内容都是一样的,整个集群对用户而言都是透明的。最后根据LVS工作模式的不同,真实服务器会选择不同的方式将用户需要的数据发送到终端用户
    2.LVS的组成和作用
    LVS 由两部分程序组成,包括 ipvs 和 ipvsadm
    ipvs:
     ipvs(ip virtual server):LVS 是基于内核态的 netfilter 框架实现的 IPVS 功能,工作在内核态。用户配置 VIP 等相关信息并传递到 IPVS 就需要用到 ipvsadm 工具。
    ipvsadm:
    ipvsadm 是 LVS 用户态的配套工具,可以实现 VIP 和 RS 的增删改查功能,是基于 netlink 或 raw socket 方式与内核 LVS 进行通信的,如果 LVS 类比于 netfilter,那 ipvsadm 就是类似 iptables 工具的地位。
    作用:
    - 主要用于多服务器的负载均衡;
    - 工作在网络层,可实现高性能,高可用的服务器集群技术;
    - 廉价,可把许多低性能的服务器组合在一起形成一个超级服务器;
    - 易用,配置简单,有多种负载均衡的方法;
    - 稳定可靠,即使在集群的服务器中某台服务器无法正常工作,也不影响整体效果;
    - 可扩展性好;
    3.集群三种类型
    - 负载均衡群集
    - - 提高应用系统的响应能力、尽可能处理更多的访问请求、减少延迟为目标,获得高并发、高负载(LB)的整体性能。
    - - LB的负载分配依赖于主节点的分流算法,将来自客户机的访问请求分担给多个服务器节点,从而缓解整个系统的负载
    - 高可用群集
    - - 提高应用系统的可靠性、尽可。能地减少中断时间为目标,确保服务的连续性,达到高可用(HA) 的容错效果
    - - HA的工作方式包括双工和主从两种模式,双工即所有节点同时在线;主从则只有主节点在线,但当出现故障时从节点能自动切换为主节点。
    - 高性能群集
    - - 以提高应用系统的CPU运算速度、扩展硬件资源和分析能力为目标,获得相当于大型、超级计算机的高性能运算(HPC)能力。
    - - 高性能依赖于"分布式运算”、“并行计算” ,通过专用硬件和软件将多个服务器的CPU、内存等资源整合在一起,实现只有大型、超级计算机才具备的计算能力。例如,“云计算”、“网格计算”等。
    4.负载均衡集群的架构
    - 第一层,负载调度器(Load Balancer或Director)
    - 访问整个群集系统的唯一入口, 对外使用所有服务器共有的VIP地址,也称为群集IP地址。通常会配置主、备两台调度器实现热备份,当主调度器失效以后能够平滑替换至备用调度器,确保高可用性。
    - 第二层,服务器池(Server Pool)
    - 群集所提供的应用服务、由服务器池承担,其中每个节点具有独立的RIP地址(真实IP),只处理调度器分发过来的客户机请求。当某个节点暂时失效时,负载调度器的容错机制会将其隔离,等待错误排除以后再重新纳入服务器池。
    - 第三层,共享存储(Share Storage)
    - 为服务器池中的所有节点提供稳定、一致的文件存取服务, 确保整个群集的统一性共享存储可以使用NAS设备,或者提供NFS共享服务的专用服务器。
    5.负载均衡集群工作模式
    - 地址转换(NAT模式)![[无标题.png]]
    - 类似于防火墙的私有网络结构,负载调度器作为所有服务器节点的网关,即作为客户机的访问入口,也是各节点回应客户机的访问出口服务器节点使用私有IP地址,与负载调度器位于同一个物理网络,安全性要优于其他两种方式
    - IP隧道 (TUN模式)![[无标题 1.png]]
    - IP Tunnel,简称TUN模式采用开放式的网络结构,负载调度器仅作为客户机的访问入口,各节 点通过各自的Internet连接直接回应客户机,而不再经过负载调度器服务器节点分散在互联网中的不同位置,具有独立的公网IP地址,通过专用IP隧道与负载调度器相互通信
    - 直接路由(DR模式)![[无标题 2.png]]
    - Direct Routing,简称DR模式采用半开放式的网络结构,与TUN模式的结构类似,但各节点并 不是分散在各地,而是与调度器位于同一个物理网络负载调度器与各节点服务器通过本地网络连接,不需要建立专用的IP隧道
    6.LVS负载均衡调度算法
    1、轮询(Round Robin)
    将收到的访问请求按照顺序轮流分配给群集中的各节点(真实服务器) ,均等地对待每一台服务器 ,而不管服务器实际的连接数和系统负载
    2、加权轮询 (Weighted Round Robin)
    根据调度器设置的权重值来分发请求,权重值高的节点优先获得任务,分配的请求数越多保证性能强的服务器承担更多的访问流量
    3、最少连接 (Least Connections )
    根据真实服务器已建立的连接数进行分配,将收到的访问请求优先分配给连接数最少的节点
    4、加权最少连接(Weighted L east Connections )
    在服务器节点的性能差异较大时,可以为真实服务器自动调整权重性能较高的节点将承担更大比例的活动连接负载
    7.ipvsadm工具

    选项功能
    -A添加虚拟服务器
    -D删除整个虚拟服务器
    -s指定负载调度算法(轮询:rr、加权轮询:wrr、最少连接:lc、加权最少连接:wlc)
    -a表示添加真实服务器(节点服务器)
    -d删除某一个节点
    -t指定 VIP地址及 TCP端口
    -r指定 RIP地址及 TCP端口
    -m表示使用 NAT群集模式
    -g表示使用 DR模式
    -i表示使用 TUN模式
    -w设置权重(权重为 0 时表示暂停节点)
    -p 60表示保持长连接60秒
    -l列表查看 LVS 虚拟服务器(默认为查看所有)
    -n以数字形式显示地址、端口等信息,常与“-l”选项组合使用。ipvsadm -lnjiu
  • 相关阅读:
    【Designing ML Systems】第 1 章 :机器学习系统概述
    Redis 之高可用与持久化
    zkSync一个 L2 块和一个 L1 汇总块深入分析
    un-app部署h5项目到普通云服务器--域名解析--OOS对象存储
    操作系统——计算机系统概述の选择题整理
    毕业设计之校园一卡通管理系统的设计与实现
    230页10万字智慧城管系统整体建设方案
    WSL+vscode配置miniob环境
    使用SpringBoot和ZXing实现二维码生成与解析
    Apache Dubbo的主要项目模块
  • 原文地址:https://blog.csdn.net/weixin_52190986/article/details/126201744