LVS基本介绍

本文详细介绍了Linux虚拟服务器(LVS)的集群概念、目的和分类,重点讲解了LVS的NAT、TUN和DR三种工作模式。通过LVS-NAT集群和LVS-DR集群的实践案例,阐述了如何配置调度器、添加和管理真实服务器,以及使用ipvsadm命令进行规则管理。此外,还探讨了LVS的负载均衡调度算法,包括轮询、加权轮询、最少连接和加权最少连接等,并提供了健康检查脚本的示例。
摘要由CSDN通过智能技术生成

集群

集群概述

什么是集群

  • 一组通过高速网络互联的计算机组,并以单一系统的模式加以管理
  • 讲很多服务器集中起来一起,提供同一种服务,在客户端看来就像是一个服务器
  • 可以在付出较低成本的情况下获得在性能、可靠性、灵活性方面的相对较高的收益
  • 任务调度是集群系统中的核心技术

集群的目的

  • 提高性能

    如计算密集型应用,如:天气预报、核试验模拟

  • 降低成本

    相对百万级别得超级计算机,价格便宜

  • 提高可扩展性

    只要增加集群节点即可

  • 提高可靠性

    多个节点完成相同功能,避免单点失败

集群的分类

  • 高性能计算集群HPC

    通过以集群卡法的并行应用程序,解决复杂的科学问题

  • 负载均衡(LB)集群

    客户端负载在计算机集群中尽可能平均分摊

  • 高可用(HA)集群

    避免单点故障,当一个系统发生故障时,可以快速迁移

符合以上部分需求的软件有LVS,keepalived等

LVS项目介绍

  • Linux虚拟服务器(LVS)是章文蒿在国防科技大学就读博士期间创建的
  • LVS可以实现高可用的,可伸缩的web,Mail、Cache和Media等网络服务
  • 最终目标是利用Linux操作系统和LVS集群软件实现一个高可用,高性能,低成本的服务器应用集群
  • 该软件内置于Linux的内核之中

LVS集群组成

  • 前端:负载均衡层

    由一台或多台负载调度器构成

  • 中间:服务器群组层

    由一组实际运行应用服务的服务器组成

  • 底端:数据共享存储层

    提供共享存储空间的存储区域

LVS的常用术语

  • Director Server:调度服务器

    将负载分发到Real Server服务器

    有两个IP,一个为VIP,一个为DIP

  • Real Server:真实服务器

    真正提供应用服务的服务器(RIP)

  • VIP: 虚拟IP地址

    公布给用户访问的虚拟IP地址(一般为调度器的IP)

  • RIP:真实IP地址

    集群节点上使用的IP地址

  • DIP:调度器连接节点服务器的IP地址

LVS的工作模式

lvs原理是路由器(数据包转发)

工作流程:客户机访问lvs,lvs转发数据包给web服务器,web服务器回应数据包给客户端

nginx原理为代理(帮客户访问)

工作流程:客户机访问nginx代理服务器,代理服务器帮客户机访问web服务器,web服务器把内容返回给nginx代理服务器,通过代理服务器返回给客户端

lvs和路由器相比,比路由器多了一个调度功能,调度功能是集群的核心

lvs是内核层面的东西,相比较nginx(nginx是操作系统层面的软件),lvs的性能更高,但是他的一些功能更少,比如就缺少健康检查等
在这里插入图片描述

NAT模式:

用户访问调度器,调度器把请求转给web1,web1从调度器回复用户

当用户访问量过多,所有的数据都会经过调度器,这时,网络的带宽就会成为整个集群的瓶颈。这种适合小规模的集群

  • 通过网络地址转换实现的虚拟服务器
  • 大并发访问时,调度器的性能成为瓶颈
TUN模式:

调度器和服务器不在同一个网,例:用户访问地址在A的调度器,调度器转发到地址为B的web服务器,中间跨过公网,所以要在代理服务器和web服务器中间搭建隧道

  • 通过隧道方式实现虚拟服务器
DR模式:(直连路由模式)

用户访问调度器,调度器转发给web服务器,web服务器直接回复给用户

这种模式,缓解了调度器返回数据的压力,提高了并发访问量,适合较大规模的集群

  • 直接使用路由技术实现虚拟服务器
  • 节点服务器需要配置VIP,注意MAC地址广播

LVS负载均衡调度算法

  • LVS目前实现了10种调度算法

  • 常用调度算法有四种

    轮询(rr):将客户端请求平均分发到Real Server

    加权轮询(wrr):根据Real Server权重值进行轮询调度

    最少连接(lc):选择连接数最少的服务器

    加权最少连接(wlc):根据Real Server权重值,选择连接数最少的服务器

  • 其他调度算法

    源地址散列算法:(sh)根据请求的目标IP地址,作为散列键(Hash Key)从静态分配到散列表中赵出对应的服务器,与nginx中的ip_hash效果一致(客户端IP不变,服务器集群中有固定服务器进行回应)

    基于局部性的最少连接

    带复制的基于局部性最少连接

    目标地址散列(dh)

    最短的期望的延迟

    最少队列调度

LVS-NAT集群:

LVS的IP负载均衡技术是通过IPVS模块实现的,这里需要使用ipvsadm命令

这里先进行实验前的准备

ipvsadm命令用法

问题:

使用Linux服务器,安装ipvsadm软件包,练习使用ipvsadm命令,实现以下功能

  • 使用命令添加基于TCP的一些集群服务
  • 在集群中添加若干台后端真实服务器
  • 实现一些客户端访问,调度器分配固定服务器
  • 会使用ipvsadm实现规则的增删改
  • 保存ipvsadm规则
方案:

安装ipvsadm软件包

常用ipvsadm命令语法如下所示

命令选项 含义
ipvsadm -A 添加虚拟服务器
ipvsadm -E 修改虚拟服务器
ipvsadm -D 删除虚拟服务器
ipvsadm -C 清空所有
ipvsadm -a 添加真实服务器
ipvsadm -e 修改真实服务器
ipvsadm -d 删除真实服务器
ipvsadm -L 查看LVS规则表
-s [rr|wrr|lc|wlc|sh] 指定集群算法

实例

命令 含义
ipvsadm -A -t|u 192.168.19.10:80 -s [算法] 添加虚拟服务器,协议为tcp(-t)或者udp(-u)
ipvsadm -E -t|u 192.168.19.10:80 -s [算法] 修改虚拟服务器,协议为tcp(-t)或者udp(-u)
ipvsadm -D -t|u 192.168.19.10:80 删除虚拟服务器,协议为tcp(-t)或者udp(-u)
ipvsadm -C 清空所有
ipvsadm -a -t|u 192.168.19.10:80 -r 192.168.20.10 [-g|i|m] [-w 权重] 添加真实服务器-g(DR模式)-i(隧道模式)-m(NAT模式)
ipvsadm -e -t|u 192.168.19.10:80 -r 192.168.20.10 [-g|i|m] [-w 权重] 修改真实服务器
ipvsadm -d -t|u 192.168.19.10:80 -r 192.168.20.10
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值