千家信息网

LVS群集应用基础详解

发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,群集的概述1.群集的类型(1)负载均衡群集(简称LB):以提高应用系统的响应能力尽可能处理更多的访问请求,减少延迟为目标,获得高并发,高负载的整体性能。例如"DNS轮询""应用层交换""反向代理"等都
千家信息网最后更新 2026年10月31日LVS群集应用基础详解
                                   群集的概述

1.群集的类型
(1)负载均衡群集(简称LB):以提高应用系统的响应能力尽可能处理更多的访问请求,减少延迟为目标,获得高并发,高负载的整体性能。例如"DNS轮询""应用层交换""反向代理"等都都可作负载均衡群集。
(2)高可用群集(简称HA):以提高应用系统的可靠性,尽可能的减少中断时间为目标,确保服务的连续性,达到高可用的容错效果。例如"故障切换""双机热备""多机热备"等都属于高可用群集。
(3)高性能运算群集(HPC):以提高应用系统的CPU运算速度,扩展硬件资源和分析能力为目标,获得相当于大型,超级计算机的高性能(HPC)能力。例如:"云计算""网格计算",也可视为高性能运算的一种。

                         负载均衡的分层结构

  • 第一层:负载调度器,这是访问整个群集系统的唯一入口,对外使用所有服务器共有的VIP(虚拟IP)地址,也称为群集IP。通常会配置主、备两台调度器实现热备份。确保高可用性。
  • 第二层:服务器池,群集所提供的应用服务(如HTTP、FTP)由服务器池承担,其中每个节点具有独立的RIP(真实IP)地址,只处理调度器分发过来的客户机请求,当某个节点暂时失效,负载调度器的容错机制会将其隔离,等待错误排除后在将其重新纳入服务器池。
  • 第三层:共享存储,为服务器池中的所有节点提供稳定、一致的文件存取服务,确保整个群集的统一性。在Linux/UNIX环境中,共享存储可以使用NAS设备,或者提供NFS(网络文件系统)共享服务的专用服务器。

        负载均衡的工作模式

  • NAT模式:类似于防火墙的私有网络结构,负载调度器作为所有服务器节点的网关,即作为客户机的访问入口,也是各节点回应客户机的访问出口。服务器节点使用私有IP地址,与负载调度器位于同一个物理网络,安全性要优于其他两种方式,但负载调度器的压力较大。

  • TUN模式:采用开放式的网络结构,负载调度器仅作为客户机的访问入口,各节点通过各自的Internet连接直接回应客户机,而不再经过负载调度器,服务器节点分散在互联网中的不同位置,具有独立的公网IP地址,通过专用IP隧道与负载调度器相互通信。

  • DR模式:采用半开放的网络结构,与TUN模式的结构类似,但各节点不是分散在各地的,而是与调度器位于同一个物理网络,负载调度器与各节点服务器通过本地网络连接,不需要建立专用的IP隧道。
  • LVS是针对Linux内核开发的一个负载均衡项目,官网是:http://www.linuxvirtualserver.org/ 可以进入官网查阅相关的技术文档。LVS现在已经成为Linux内核的一部分,默认编译为ip_vs模块,必要时能够自动调用。

                      LVS的负载调度算法
  • 轮询(rr):将收到的访问请求按照顺序轮流分配给群集中的各节点(真实服务器),均等地对待每台服务器,而不管服务器实际的连接数和系统负载。

  • 加权轮询(wrr):根据真实服务器的处理能力轮流分配收到的访问请求,调度器可以自动查询个节点的负载情况,并动态调整其权重。这样可以保证处理能力强的服务器承担更多的访问流量。

  • 最少连接(lc):根据真实服务器已建立的连接数进行分配,将受到的访问请求优先分配给连接数最少的节点,如果所有的服务器节点性能相近,采用这种方式可以更好地均衡负载。

  • 加权最少连接(wlc):在服务器节点的性能差异较大的情况下,可以为真实服务器自动调整权重,权重较高的节点将承担更大比例的活动连接负载。

                                                    LVS相关的基础命令

    .
    默认ip_vs模块没有加载,可以执行如下命令加载ip_vs模块:

[root@localhost ~]# modprobe ip_vs                 #加载ip_vs模块[root@localhost ~]# lsmod | grep ip_vs             #查看ip_vs模块是否已加载ip_vs                 141432  0 nf_conntrack          133053  8 ip_vs,nf_nat,nf_nat_ipv4,......libcrc32c              12644  4 xfs,ip_vs,nf_nat,nf_conntrack[root@localhost ~]# modprobe -r ip_vs             #移除ip_vs模块[root@localhost ~]# lsmod | grep ip_vs[root@localhost ~]# modprobe ip_vs[root@localhost ~]# cat /proc/net/ip_vs            #查看ip_vs版本信息IP Virtual Server version 1.2.1 (size=4096)Prot LocalAddress:Port Scheduler Flags  -> RemoteAddress:Port Forward Weight ActiveConn InActConn

6、使用ipvsadm管理工具
.
ipvsadm是在负载调度器上使用的LVS群集管理工具,通过调用ip_vs模块来添加、删除服务器节点,以及查看群集的运行状态。
.

[root@localhost ~]# yum -y install ipvsadm               #安装ipvsadm工具[root@localhost ~]# ipvsadm -v                                 #查看ipvsadm版本ipvsadm v1.27 2008/5/15 (compiled with popt and IPVS v1.2.1)

1)使用ipvsadm工具创建虚拟服务器:
.
若群集的VIP地址为200.0.0.1,针对TCP 80端口提供负载分流服务,使用的调度算法为轮询(rr),则对应的命令如下,对于负载均衡调度器来说,VIP必须是本机实际已启用的IP地址:
.

[root@localhost ~]# ipvsadm -A -t 200.0.0.1:80 -s rr

2)添加服务器节点:

为虚拟服务器200.0.0.1添加四个服务器节点,IP地址依次为192.168.1.2~5,命令如下:

[root@localhost ~]# ipvsadm -a -t 200.0.0.1:80 -r 192.168.1.2:80 -m -w 1[root@localhost ~]# ipvsadm -a -t 200.0.0.1:80 -r 192.168.1.3:80 -m -w 1[root@localhost ~]# ipvsadm -a -t 200.0.0.1:80 -r 192.168.1.4:80 -m -w 1[root@localhost ~]# ipvsadm -a -t 200.0.0.1:80 -r 192.168.1.5:80 -m -w 1[root@localhost ~]# ipvsadm -ln                #查看节点状态IP Virtual Server version 1.2.1 (size=4096)Prot LocalAddress:Port Scheduler Flags  -> RemoteAddress:Port           Forward Weight ActiveConn InActConnTCP  200.0.0.1:80 rr  -> 192.168.1.2:80               Masq    1      0          0           -> 192.168.1.3:80               Masq    1      0          0           -> 192.168.1.4:80               Masq    1      0          0           -> 192.168.1.5:80               Masq    1      0          0         

3)删除服务器节点:

需要从服务器池中删除某一个节点时,使用选项-d。执行删除操作必须指定目标对象,包括节点地址,虚拟IP地址,例如,如下操作将会删除LVS群集200.0.0.1中的节点192.168.1.5。

[root@localhost ~]# ipvsadm -d -r 192.168.1.5:80 -t 200.0.0.1:80

需要删除整个虚拟服务器时,使用选项-D并指定虚拟IP即可,不需指定节点。例如执行"ipvsadm -D -t 200.0.0.1:80",则删除此虚拟服务器。

4)保存负载分配策略:

使用导出/导入工具ipvsadm-save/ipvsadm-restore可以保存、恢复LVS策略(服务器重启后策略需要重新导入)。

[root@localhost ~]# hostname lvs         #更改主机名[root@localhost ~]# bash                 #使更改的主机名马上生效[root@lvs ~]# ipvsadm-save > /etc/sysconfig/ipvsadm.bak                 #保存策略[root@lvs ~]# cat /etc/sysconfig/ipvsadm.bak                          #确认保存结果-A -t 200.0.0.1:http -s rr-a -t 200.0.0.1:http -r 192.168.1.2:http -m -w 1-a -t 200.0.0.1:http -r 192.168.1.3:http -m -w 1-a -t 200.0.0.1:http -r 192.168.1.4:http -m -w 1[root@localhost ~]# ipvsadm -C                  #清除当前策略[root@localhost ~]# ipvsadm -ln                  #确认当前群集策略已被清除IP Virtual Server version 1.2.1 (size=4096)Prot LocalAddress:Port Scheduler Flags  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn[root@localhost ~]# ipvsadm-restore < /etc/sysconfig/ipvsadm.bak     #导入刚才备份的策略[root@localhost ~]# ipvsadm -ln              #查看群集策略是否导入成功IP Virtual Server version 1.2.1 (size=4096)Prot LocalAddress:Port Scheduler Flags  -> RemoteAddress:Port           Forward Weight ActiveConn InActConnTCP  200.0.0.1:80 rr  -> 192.168.1.2:80               Masq    1      0          0           -> 192.168.1.3:80               Masq    1      0          0           -> 192.168.1.4:80               Masq    1      0          0         

7、搭建NFS共享存储服务器

NFS是一种基于TCP/IP传输的网络文件系统协议,通过使用NFS协议,客户机可以像访问本地目录一样访问远程服务器中的资源,对于大多数负载均衡群集来说,使用NFS协议来共享数据存储是比较常见的做法,NFS也是NAS存储设备必然支持的一种协议。

使用NFS发布共享资源:

1)安装相关软件包:

[root@localhost ~]# yum -y install nfs-utils rpcbind                 #安装所需软件包[root@localhost ~]# systemctl enable nfs                               #设置NFS开机自启[root@localhost ~]# systemctl enable rpcbind                       #设置rpcbind开机自启

2)设置共享目录:

[root@localhost ~]# mkdir -p /opt/wwwroot                           #创建需要共享的目录[root@localhost ~]# vim /etc/exports                         #编辑NFS的配置文件,默认为空/opt/wwwroot  192.168.1.0/24(rw,sync,no_root_squash)

当需要将同一个目录共享给不同的客户机,且分配不同权限时,只要用空格分隔指定多个"客户机(权限选项)"即可。如下:

[root@localhost ~]# vim /etc/exports   /var/ftp/pub  192.168.2.1(ro,sync) 192.168.2.3(rw,sync)

3)重载NFS服务程序:
.

[root@localhost ~]# systemctl restart rpcbind[root@localhost ~]# systemctl restart nfs[root@localhost ~]# netstat -anpt | grep rpctcp        0      0 0.0.0.0:43759         0.0.0.0:*      LISTEN      76336/rpc.statd     tcp        0      0 0.0.0.0:111           0.0.0.0:*       LISTEN      76307/rpcbind       tcp        0      0 0.0.0.0:20048       0.0.0.0:*     LISTEN      76350/rpc.mountd    tcp6       0      0 :::111                  :::*          LISTEN      76307/rpcbind       tcp6       0      0 :::20048                :::*         LISTEN      76350/rpc.mountd    tcp6       0      0 :::38355                :::*         LISTEN      76336/rpc.statd     [root@localhost ~]# showmount -e                      #查看本机发布的NFS共享目录Export list for localhost.localdomain:/opt/wwwroot 192.168.1.0/24/var/ftp/pub 192.168.2.3,192.168.2.1

4)在客户端访问NFS共享资源:

NFS协议的目标是提供一种网络文件系统,因此对NFS共享的访问也使用mount命令进行挂载,对应的文件系统类型为nfs,既可以手动挂载,也可以加入fstab配置文件来实现开机自动挂载,考虑到群集系统中的网络稳定性,NFS服务器与客户机之间最好使用专有网络进行连接。
.
1.安装rpcbind软件包,并启动rpcbind服务,为了使用showmount查询工具,所以将nfs-utils也一起装上:

[root@localhost ~]# yum -y install nfs-utils rpcbind [root@localhost ~]# systemctl enable rpcbind[root@localhost ~]# systemctl start rpcbind

2.查询NFS服务器端共享了哪些目录:

[root@localhost ~]# showmount -e 192.168.1.1               #需指定要查询的服务器地址Export list for 192.168.1.1:/opt/wwwroot 192.168.1.0/24/var/ftp/pub 192.168.2.3,192.168.2.1

3.手动挂载NFS共享目录,并设置开机自动挂载:

[root@localhost ~]# mount 192.168.1.1:/opt/wwwroot /var/www/html      #挂载到本地[root@localhost ~]# df -hT /var/www/html                     #查看是否挂载成功文件系统                 类型  容量  已用  可用 已用% 挂载点192.168.1.1:/opt/wwwroot nfs4   17G  6.2G   11G   37% /var/www/html[root@localhost ~]# vim /etc/fstab                #设置自动挂载                 .........................192.168.1.1:/opt/wwwroot    /var/www/html     nfs     defaults,_netdev    0    0

完成挂载后,访问客户机的/var/www/html文件夹,就相当于访问NFS服务器中的/opt/wwwroot文件夹,其中网络映射过程对于用户程序来说是完全透明的。

服务 服务器 节点 调度 网络 客户 系统 地址 客户机 文件 均衡 模块 目录 工具 策略 分配 应用 命令 模式 目标 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 高科技互联网 与互联网科技公司 互联网络科技有限公司 礼当家互联网科技 新华互联网科技校企合作 互联网 科技馆 互联网汽车科技小镇 互联网科技项目计划书材料类 智腾互联网科技有限公司 开一家科技互联网公司需要多少钱 互联网科技大奖都有哪些公司 四川慕妮娅互联网科技有限公司 互联网金融科技公司的优势 富国互联网金融科技混合基金 互联网科技企业商标注意事项 版纳互联网科技选哪家 长沙渺峰互联网科技有限公司 张家口科技产业互联网平台 杭州科技互联网公司有哪些 现代科技的标志之一的互联网 美国互联网保险保险科技 互联网科技社 平安科技 互联网 互联网科技集团 致聘互联网科技 承德科技产业互联网发展 银川新华互联网科技学校联系电话 元气玛特互联网科技公司是外包吗 互联网科技平台产品运营 互联网高科技绘画
0