LVS服务器

article/2025/9/22 17:50:53

简介
LVS是Linux虚拟服务器,LVS由用户空间的ipvsadm和内核空间的IPVS组成。ipvsadm用来定义规则,IPVS利用ipvsadm定义的规则工作。LVS是一个高效的负载均衡器

LVS的特点

  1. 高并发连接:LVS基于内核网络层面工作,有超强的承载能力和并发处理能力
  2. 成本低:只需要一台服务器就能免费部署使用
  3. 配置简单:仅需要几行命令就可完成配置
  4. 算法多样:支持多种算法,可根据不同场景灵活使用
  5. 工作模型:根据不同的场景,可以使用不同的工作模式来高效的处理问题

工作过程

  1. 客户端发送的web请求直接发送到LVS负载均衡器上,LVS通过自己预先设计的算法将请求发送给后端的某web服务器
  2. 后端的web服务器连接的数据是一样的,所以不管访问的是哪台服务器最后访问的数据都是一样的
  3. 最后根据LVS工作模式的不同,服务器会以不同的方式将数据发送回客户

LVS体系结构

LVS集群系统有三个部分组成

1、最前端的负载均衡层DS

  • 由负载均衡调度器组成,LVS就安装在负载均衡调度器上
  • 也可以是一个真实的server,主要作用类似于一个路由器
  • 含有完成LVS功能所设定的路由表,通过路由表将请求发送给服务器集群层的应用服务器上
  • 在负载均衡层也要安装对负载均衡器健康检测的监控模块来保证负载均衡层的安全

2、中间的服务器群组层RS

  • 由一组实际运行的机器组成,真实服务器可以是WEB服务器、FTP服务器等众多服务器中的一个或者多个
  • 每个RS之间通过高速网络连接
  • 可以使用所有的系统平台,Linux、Windows等

3、最底层的数据共享存储层

  • 是为所有RS提供共享存储空间和内容一致的存储区域
  • 物理实现:一般由磁盘阵列设备组成
  • 为了提供内容的一致性,一般可以通过网络共享文件系统实现

调度算法
LVS的调度算法决定了如何在集群节点之间分步工作负荷
当DS收到客户端访问VIP上的集群服务的入栈请求时,DS就要决定哪个节点来处理请求
调度算法类型:

固定调度算法:rr、wrr、dh、sh
动态调度算法:wlc、lc、lblc、lblcr
调度算法一般产生的环境选择:

一般的网络服务,如http,mail,mysql等
rr:基本轮询调度
wlc:加权最小连接调度
wrc:加权轮询调度
基于局部性的最小连接lblc和带复制的给予局部性最小连接lblcr主要适用于web cache和DB cache
源地址散列调度SH和目标地址散列调度DH可以结合使用在防火墙集群中,可以保证整个系统的出入口唯一

LVS-DR工作模式(默认工作模式)


实现原理

  • 客户端发送的请求会先到达内核空间的PREROUTING链,报文源地址为CIP和CIP-MAC,目标地址为VIP和VIP-MAC
  • PRERROUTING链检查数据包的目标IP是否为自己,若是本机则将数据包发送给INPUT链
  • 在INPUT链上面工作的IPVS会判断数据包的请求是否为集群服务,若是则将数据包中的源MAC地址修改为DIP的MAC地址,将目标的MAC地址修改为RIP的MAC地址
  • 由于DS与RS在同一个网络中,所以是通过数据链路层来传输的(需要用MAC地址来识别)
  • POSTROUTING链检查目标的MAC地址为RIP的MAC地址,将数据包发送到RS上
  • RS发现请求报文的MAC地址是自己的MAC地址,接收报文进行处理
  • 处理完后将响应报文通过lo接口发送给ens33网卡然后发出,相应报文的源地址为VIP和VIP-MAC,目标地址是CIP和CIP-MAC

特点:

  • DS与RS在同一网络中(与NAT的DS的DIP与RS的RIP不同)
  • 请求报文经过DS,但是相应报文不经过DS,可以解决NAT模式中DS瓶颈的问题
  • DS与RS之间由于是通过二层(数据链路层)转发的报文,所以不需要IP参与,所以请求报文的目标IP和源IP不发生变化,响应报文直接以VIP的身份将报文返回给客户端,不需要再通过DS获取CIP
  • 通过二层转发的报文不支持端口映射

LVS实战: 

1、LVS是集成到Linux的内核中的,可以直接查看到

命令:grep -i -C 10 ipvs /boot/config-3.10.0-1127.el7.x86_64

2、安装ipvsadm工具包,这个工具包是用来对LVS的工作模式调度算法已经连接RS的相关配置的配置工具,也就是说我们通过这个工具包来具体进行LVS服务器的个性化配置。

yum install ipvsadm

 

rpm -ql ipvsadm

LVS-NAT工作模式的搭建

首先要搭建四个服务器并改名,然后对RS服务器开启http服务:

  • 一台模拟客户端:(Centos6)
  • 一台LVS服务器:(Centos7)
  • 两台RS服务器:(Centos7)

以RS为例改名并开启服务:

改名命令:hostnamectl set-hostname RS1   然后退出重新连接

开启服务:

  • yum -y install httpd                    【下载httpd】
  • systemctl start httpd                    【开启httpd】
  • systemctl enabled httpd                【设为开机自启项】
  • echo RS1 Server on 192.168.175.130:80 > /var/www/html/index.html         【服务映射资源】
  • curl 192.168.175.130                  【测试连接】

 其中LVS服务器需要添加一个网卡:

  • 客户机的网卡和LVS服务器的网卡2设置为仅主机模式
  • RS服务器和LVS服务器的另一块网卡设置为NAT模式
  • RS服务器的网关设置为LVS的IP

Centos系统配置网卡ip:

        网络的配置文件在/etc/sysconfig/network-scripts/目录下,这个目录下默认有ifcfg-ens33配置文件,如果没有IPADDR和GATEWAY就自行添加即可,BOOTPROTO默认是DHCP,这种情况下是随机ip,每次重启虚拟机ip都会变,而我们的实验和ip紧密相关,实际中ip也是固定不变的,所以一定要改成static。(注意:NAT模式的网卡需要修改,仅主机的网卡不需要,重启之后ip不会变,当然也可以修改,修改方式和这个一致,不过新建网卡之后并不会有多的配置文件自动生成,但是可以手动复制一个出来,将ens33复制一份,改成新网卡的名字即可。)

修改后重启network服务命令:service network restart即可

查看网络配置命令:route -n。

网络配置如下:(大家可以按照喜好来,不一定要这样)

  • Client                             192.168.92.129            用户名:admin   密码:123123
  • LVS  192.168.175.134   192.168.92.128            用户名:root      密码:123123
  • RS1  192.168.175.130                                       用户名:root       密码:123123
  • RS2  192.168.175.131                                       用户名:root       密码:123123

配置完成可以查看LVS的当前网络可以看到有两个ip,分别对应两个网卡,模拟的是LVS的转发功能。命令:hostname -I

至此网络环境已经配置完成!!!下面开始LVS的配置

LVS配置:

1、配置LVS的ip_forward功能才可以实现转发

命令:vim /etc/sysctl.conf     然后添加一行:net.ipv4.ip_forward = 1

保存修改:sysctl -p

2、配置LVS转发规则,添加集群并添加RS服务器。

查看LVS状态命令:ipvsadm -Ln

目前是空的状态,没有集群

添加集群命令:ipvsadm -A -t 192.168.92.128:80 -s rr

说明:-A    添加集群   -t代表http协议   后面是IP:端口   rr是轮询转发算法

添加RS命令:

  • ipvsadm -a -t 192.168.92.128:80 -r 192.168.175.130 -m
  • ipvsadm -a -t 192.168.92.128:80 -r 192.168.175.131 -m

说明:-a  添加RS服务器  -t代表http协议  添加到的集群IP:端口  RS的IP:端口  -m是工作模式

                        -m:NAT工作模式        -g:DR工作模式       -i:TUN工作模式

再次查看LVS状态,此时的规则已经有了RS服务器

3、然后启动LVS服务

  • 开启命令:systemctl start ipvsadm.service

到此LVS配置完毕,接下来进行验证!

【验证LVS配置】

在Client模拟机上访问LVS服务器,查看转发规则,理论上是轮询,一次到RS1,一次到RS2

【注意】如果发现并不通,那一定是防火墙的问题,把RS1、RS2、LVS的防火墙都关掉即可。

  • 查看防火墙状态 命令:systemctl status firewalld
  • 关闭防火墙状态 命令:systemctl stop firewalld

到此,LVS的NAT工作模式搭建实验完成!

【拓展思考】

问题:此时我们的ipvsadm服务启动了嘛???

答案:

1、我们好像并没有去启动服务文件,查看当前服务状态

已经启动了,当前的服务执行的是我们添加进去的LVS规则,并没有执行真正的配置文件,所以意味着我们的配置规则并没有进行保存,重启之后就会消失。下面我们来将我们的规则写到服务启动时候会自动索引执行的文件中,并将服务配置为开机自启,这样我们的配置规则就会自动执行,开机即用。 

找到索引文件:打开ipvsadm的service文件 命令:cat /usr/lib/systemd/system/ipvsadm.service

将当前规则保存到文件   命令:ipvsadm -Sn > /etc/sysconfig/ipvsadm

写入之后,我们把当前规则清除,直接启动ipvsadm.service服务,就会自动索引该文件中的规则,同样可以实现我们想要的配置。

清除命令:ipvsadm -C

重新执行ipvsadm.service服务 命令:ipvsadm -R < /etc/sysconfig/ipvsadm

 再次从客户机访问可以看到,依旧可以实现转发。

当我们的规则保存到配置文件中之后,我们可以直接启动ipvsadm.service即可

        systemctl start ipvsadm.service

服务设置为开机自启:

        systemctl enable ipvsadm.service

【ipvsadm工具包的用法】


http://chatgpt.dhexx.cn/article/M8J71xNw.shtml

相关文章

LVS的介绍与使用

LVS负载均衡 1.LVS服务简述 1.1lvs服务简介 ​ LVS&#xff08;Linux Virtual Server&#xff09;即Linux虚拟服务器&#xff0c;是一个虚拟的服务器集群系统&#xff0c;该项目是1998年5月由章文嵩博士主导的开源负载均衡项目&#xff0c;是国内最早出现的自由软件项目之一…

LVS原理简介

LVS是Linux virtual server的缩写&#xff0c;为linux虚拟服务器&#xff0c;是一个虚拟的服务器集群系统。LVS简单工作原理为用户请求LVS VIP&#xff0c;LVS根据转发方式和算法&#xff0c;将请求转发给后端服务器&#xff0c;后端服务器接收到请求&#xff0c;返回给用户。对…

什么是LVS

&#x1f618;作者简介&#xff1a;一名99年运维岗位员工。&#x1f44a;宣言&#xff1a;人生就是B&#xff08;birth&#xff09;和D&#xff08;death&#xff09;之间的C&#xff08;choise&#xff09;&#xff0c;做好每一个选择。&#x1f64f;创作不易&#xff0c;动动…

LVS是什么

LVS是linux virtual server的简写linux虚拟服务器&#xff0c;是一个虚拟的服务器集群系统&#xff0c;可以在unix/linux平台下实现负载均衡集群功能。该项目在1998年5月由章文嵩博士组织成立。 LVS是一种集群(Cluster)技术&#xff0c;现在LVS已经是 Linux标准内核的一部分&a…

lvs使用

1.前言 LVS&#xff08;Linux Virtual Server&#xff09;是一个基于 Linux 内核的负载均衡器&#xff0c;用于分发网络流量和将请求转发给后端服务器。LVS 提供了多种负载均衡算法和转发模式&#xff0c;以满足不同场景和需求的负载均衡需求&#xff0c;在LVS中定义虚拟服务的…

LVS负载均衡介绍

一、lvs是什么&#xff1f; LVS是Linux Virtual Server的简写&#xff0c;意即Linux虚拟服务器&#xff0c;是一个虚拟的服务器集群系统。本项目在1998年5月由章文嵩博士成立&#xff0c;是中国国内最早出现的自由软件项目之一。在linux内存2.6中&#xff0c;它已经成为内核的…

[高可用系列|LVS]LVS详解

背景 上一章我们说了keepalived&#xff0c;keepalived是避免负载均衡设备的单点故障的&#xff0c;即负载均衡设备的高可用。截止到目前为止&#xff0c;负载均衡我们只说到了Nginx&#xff08;四层&#xff0c;七层负载&#xff09;&#xff0c;接下来的我们介绍的LVS也是用来…

lvs看这篇就够了

1lvs 的由来 1公司的钱大部分都花在了获客&#xff0c;营销上&#xff0c;营销效果好就会带来新的流量&#xff0c;如果自身应用承接不住大的流量将会造成很大的经济损失。所以lvs负载均衡技术就此诞生了。当然不差钱也可以使用F5 等硬件 lvs 学名 Linux虚拟服务器 LVS是Linux …

lvs负载均衡之配置lvs-nat模式的httpd负载集群---http和https

文章目录 Lvs简介体系结构LVS管理工具Ipvsadm核心功能LVS工作模式及原理 LVS调度算法配置lvs-nat模式的httpd负载集群---http配置lvs-nat模式的httpd负载集群---https Lvs简介 LVS&#xff08;Linux Virtual Server&#xff09;即Linux虚拟服务器&#xff0c;是由章文嵩博士主…

LVS基本知识概述

1.什么是LVS&#xff1f; LVS&#xff08;Linux Virtual Server&#xff09;即Linux虚拟服务器&#xff0c;是由章文嵩博士主导的开源负载均衡项目&#xff0c;目前LVS已经被集成到Linux内核模块中 该项目在Linux内核中实现了基于IP的数据请求负载均衡调度方案&#xff0c;其体…

LVS介绍

一、LVS是什么 LVS&#xff08;Linux Virtual Server&#xff09;&#xff0c;是一个极好的负载均衡解决方案&#xff0c;它将一个真实服务器集群虚拟成一台服务器来对外提供服务&#xff0c;同时在真实服务器集群中实现了负载均衡。该技术由章文嵩博客发起&#xff0c;从linux…

LVS详解

LVS简介 LVS是Linux Virtual Server的简写&#xff0c;意即Linux虚拟服务器&#xff0c;是一个虚拟的服务器集群系统。本项目在1998年5月由章文嵩博士成立&#xff0c;是中国国内最早出现的自由软件项目之一。 LVS名词解释 DS&#xff1a;director server&#xff0c;即负载均…

LVS负载均衡(LVS简介、三种工作模式、十种调度算法)

一、LVS简介 LVS&#xff08;Linux Virtual Server&#xff09;即Linux虚拟服务器&#xff0c;是由章文嵩博士主导的开源负载均衡项目&#xff0c;目前LVS已经被集成到Linux内核模块中。该项目在Linux内核中实现了基于IP的数据请求负载均衡调度方案&#xff0c;其体系结构如图1…

程序员必备的 10 大国外技术网站

公众号关注 “GitHubDaily” 设为 “星标”&#xff0c;每天带你逛 GitHub&#xff01; 今天给大家推荐 10 个国外比较优质的技术网站&#xff0c;希望大家喜欢。 1、dev dev社区和国内的掘金社区很相似&#xff0c;技术分类也比较多&#xff0c;像 Java、Python、js、分布式等…

程序员经常浏览的 60 个技术网站汇总,还不赶快收藏!

>>号外&#xff1a;关注“Java精选”公众号&#xff0c;菜单栏->聚合->干货分享&#xff0c;回复关键词领取视频资料、开源项目。 程序员是一个需要不断学习的职业。幸运的是&#xff0c;在这个互联网时代&#xff0c;知识就在那里&#xff0c;等着我们去获取。 作…

国内10大技术网站,你最爱和哪个玩耍?

所谓“物以类聚&#xff0c;人以群分” 所谓“士为知己者死&#xff0c;女为悦己者容” 所谓“世上的乌鸦都一般黑&#xff0c;鸽子却各有各的白” ...... CSDN&#xff0c;掘金&#xff0c;博客园等&#xff0c;说起来都是“技术”社区&#xff0c;每个却都有着不同的姿色和用…

IT网站推荐

IT网站推荐 1.首先肯定是 CSDN 啦&#xff0c;许多系统问题、软件安装问题都是在这弄好的。以及写代码时的各种懵逼&#xff0c;也可以在这里搜索解决。 觉得还是有必要附上链接 CSDN:&#xff1a;https://www.csdn.net/ 2.MSDN&#xff1a;https://msdn.itellyou.cn/ 官网系…

推荐八个技术学习网站

推荐八个技术学习网站 写在前边的话八个纯技术学习好网站 写在前边的话 我们相信努力学习一定会有收获&#xff0c;但是方法不当&#xff0c;既让人身心疲惫&#xff0c;也没有切实的回报。在众多互联网技术网站中&#xff0c;各有各的好&#xff0c;经过网上收集整理&#xf…

IT技术相关网站

OSCHINA - 中文开源技术交流社区https://www.oschina.netCSDN - 专业开发者社区https://www.csdn.netSegmentFault 思否 - 中国领先的开发者技术社区https://segmentfault.xn--com-0da有穹_一个开发者的作品发布平台https://www.youqiong.net牛客网 - 找工作神器|笔试题库|面试…

it技术交流社区与学习资料的网站大全

点击上方蓝字"优派编程"选择“加为星标”&#xff0c;第一时间关注原创干货 对国内技术社区 博客园 https://www.cnblogs.com/ 掘金 https://juejin.cn/ 思否 https://segmentfault.com/ 开源中国 https://www.oschina.net/ 51CTO https://www.51cto.com/ V2EX https…