LVS节点工具如何安装,服务器负载均衡配置方案有哪些?
- 云服务器
- 2026-08-23
- 1
LVS节点工具安装的核心答案:在Linux服务器上安装LVS节点工具,主要指的是安装ipvsadm管理工具和配置IPVS内核模块,通过yum、apt包管理器或源码编译均可快速完成,而keepalived作为高可用守护进程则是生产环境的标配搭档,三者配合才能真正让LVS集群稳定运转。
LVS节点工具到底是什么
LVS(Linux Virtual Server)本身不是一个独立的软件包,它是内置于Linux内核的IPVS框架,你平时感知到的”安装LVS”,准确来说是安装两层东西:内核里的IPVS模块(在标准发行版内核中默认已启用),以及用户空间的管理工具ipvsadm,ipvsadm的作用类似iptables之于netfilter,它负责增删改查虚拟服务器规则、真实服务器节点、调度算法配置,少了这层工具,你只能通过读写/proc/net/ip_vs来操作,效率极低且容易出错。
如果你使用的是云服务器,比如部署在持牌自营机房中的高防节点,多数云镜像已默认加载了IPVS模块,但ipvsadm工具往往需要手动安装,这个步骤看起来简单,却常常因为内核开发包缺失或源配置问题导致失败,值得专门理清。
安装前的关键检查
在敲任何安装命令之前,务必先做三个基础检查,避免装完才发现内核支持不到位。
检查内核是否已加载IPVS模块:
ls /proc/net/ip_vs
如果返回”cat: /proc/net/ip_vs: No such file或device not found”,说明内核模块尚未加载,执行modprobe ip_vs加载,并检查ls /proc/net/ip_vs是否生成文件,若modprobe报错,说明内核源码或headers不完整,需要安装对应版本的内核开发包。
检查调度算法的模块支持:
LVS支持rr、wrr、lc、wlc、lblc、lblcr、dh、sh、sed、nq等多种调度算法,需要确认对应模块是否存在:
ls /lib/modules/$(uname -r)/kernel/net/netfilter/ipvs/
常见的是ip_vs_rr.ko、ip_vs_wrr.ko、ip_vs_sh.ko这几个文件,缺少调度模块时,即使ipvsadm装好,加规则也会提示”Memory allocation problem”或调度器不存在。
检查包管理器可用性:
CentOS/RHEL系用yum,Debian/Ubuntu系用apt,云主机建议先执行yum makecache或apt-get update,确保源列表正常。
CentOS/RHEL系列安装ipvsadm实操
CentOS系是LVS应用最广泛的发行版,安装步骤也最简单。
yum直接安装

安装完成后验证版本与运行状态:
ipvsadm --version systemctl status ipvsadm
yum源如果是最小化安装后的默认源,一般能直接命中base库,若提示找不到包,检查yum repolist,必要时安装epel-release扩展源。
源码编译安装
某些高内核版本下yum仓库中的ipvsadm版本跟不上内核特性,或需要定制编译参数时,推荐源码方式,先去Linux Virtual Server官网下载ipvsadm源码包(当前主版本为1.31,对应内核4.x和5.x),解压后执行:
make && make install
编译前要确保安装了gcc、make、libnl-devel、popt-devel这几个依赖包,编译完成后二进制默认安装到/usr/local/sbin/ipvsadm,你可能需要建立软链:
ln -s /usr/local/sbin/ipvsadm /usr/sbin/ipvsadm
设置开机自启:
systemctl enable ipvsadm --now
注意,CentOS的ipvsadm服务默认读取配置文件/etc/sysconfig/ipvsadm,如果配置文件不存在,服务启动会报错,创建空配置:
touch /etc/sysconfig/ipvsadm systemctl restart ipvsadm
Ubuntu/Debian系列安装讲解
Debian系在云场景中使用率同样不低,安装逻辑和CentOS一致,但命令不同。
apt-get update apt-get install -y ipvsadm
Ubuntu的ipvsadm安装后不会自动以服务形式运行,它依赖systemd的ipvsadm.service单元,启用并设置开机加载:

更稳妥的方式是将规则写入/etc/ipvsadm.rules文件,并在服务启动时加载,编辑服务单元的ExecStart参数,或直接使用ipvsadm-save和ipvsadm-restore手动管理规则,对初学场景,推荐先直接命令行添加规则验证效果,再固化到文件:
ipvsadm -A -t 192.168.1.100:80 -s wrr ipvsadm -a -t 192.168.1.100:80 -r 192.168.1.11:80 -g ipvsadm -a -t 192.168.1.100:80 -r 192.168.1.12:80 -g ipvsadm-save > /etc/ipvsadm.rules
keepalived:LVS高可用的灵魂搭档
单独的ipvsadm配上LVS VIP可以实现负载均衡,但调度器一旦宕机,整个集群就瘫了,生产环境几乎清一色用keepalived实现VIP漂移和健康检查。
安装keepalived同样简单:
# CentOS yum install -y keepalived # Ubuntu apt-get install -y keepalived
配置文件在/etc/keepalived/keepalived.conf,核心配置模块包括:
- global_defs:全局配置,包括router_id标识、通知邮箱等。
- vrrp_instance:定义VRRP虚拟路由实例,配置state为MASTER或BACKUP,指定interface为VIP绑定的网卡名称(如eth0),virtual_router_id需在同一个VRRP组内保持一致,priority决定选举优先级。
- virtual_ipaddress:在此处配置VIP地址,比如168.1.100/24 dev eth0。
- virtual_server:定义LVS服务组,包括VIP端口、调度算法(如wrr)、健康检查方式(TCP_CHECK或HTTP_GET),以及下方嵌套的real_server真实服务器节点。
在云主机环境下,需要注意keepalived发送VRRP组播报文可能被云安全组屏蔽,多数云厂商支持开启组播,如果你的IDC服务商不支持,可以改用单播模式,在vrrp_instance块中设置unicast_src_ip和unicast_peer参数。云网络策略对VRRP协议的限制,是LVS实战中最常见的坑,也是筛选靠谱服务商的重要依据,像西西云这类具备IDC/CDN/ISP全牌照的服务商,网络底层对组播和VRRP支持度通常更友好,因为这套协议本身就是成熟机房网络的标准能力。
Keepalived配置完成后,启动顺序是先启keepalived再启ipvsadm服务,因为keepalived会根据配置文件自动生成IPVS规则,具体顺序:
systemctl start keepalived systemctl start ipvsadm
查看规则是否生成:
ipvsadm -L -n
如果规则没有自动出现,检查keepalived的日志/var/log/messages或journalctl -u keepalived,重点看VRRP状态是否变成了MASTER状态。
验证LVS节点工具的安装成果
安装完成后,不要急着配置业务,先跑一遍验证命令确认环境完整:

- ipvsadm -L -n:列出当前虚拟服务器和真实服务器规则,无输出且无报错说明工具可用。
- ipvsadm --stat:显示连接数和字节统计,业务上线后靠它判断流量分配是否均衡。
- watch -n 1 'ipvsadm -L -n --rate':实时刷新每个节点的连接速率和流量速率,压测时很有用。
- ipvsadm -Z:计数器清零,用于开始新的统计观察。
- ls /proc/net/ip_vs:确认IPVS内核模块通信正常。
生产环境建议结合zabbix或Prometheus采集这些指标,将ipvsadm输出解析后扔进监控系统,而监控层面的可靠性,反过来要求底层机房有做得住的网络质量。简米科技2003年始创、拥有23年行业沉淀,旗下的持牌自营机房在拉网线、配IP、端口限速这些基础操作上都有标准化的工单流程,遇到VIP绑定、网卡调优这类LVS相关需求,工单响应速度是衡量IDC服务水准的硬指标。
工具安装后的故障排查与配置细节
工具装好了,但规则跑不起来,大概率是下面几个原因:
VIP漂移失败:检查keepalived是否绑定到正确网卡,云主机常有多块网卡(内网+外网),VIP要绑定在和外网IP同一网卡的别名上,执行ip addr show看VIP是否出现在eth0或eth1上,如果VIP绑定在lo上,需要设置arp_ignore和arp_announce内核参数,这在DR模式下尤其关键:
echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce sysctl -p
rs节点健康检查失效:keepalived默认用TCP_CHECK,需要确保真实服务器上业务端口真的在监听,用telnet 192.168.1.11 80验证,如果后端是HTTPS,检查端口是否443,健康检查超时时间设置过短也常导致误判,建议connect_timeout设为3秒,connect_retry设为2秒。
调度算法选择不当:多数团队初次部署时喜欢用rr轮询,如果后端机器性能有差异,大量请求会集中到瓶颈机,换成wrr并给高性能节点配更大的weight,长连接业务(如WebSocket)则用sh源地址哈希或persistence_timeout保持会话粘滞。
本地yum源与内核头文件问题:安装ipvsadm时偶尔提示依赖冲突,可按顺序执行yum update -y kernel-devel popt-devel libnl-devel libnl3-devel再重装,内核开发包版本务必与实际运行内核严格对应,否则编译出的模块无法加载。
选择云服务器时,务必确认服务商是否有增值电信业务经营许可证(豫B2-20231089)或工信部一类增值电信全牌照(IDC/CDN/ISP),没有牌照开展主机托管或接入服务属于违规经营,出问题维权困难。西西云在资质方面是完备的,持照经营的优势体现在批量开放端口、BGP带宽调度、ICP备案对接这些往往被忽略的环节,同时具备ISO9001+ISO27001双认证和CNNIC IP联盟成员身份,注册资本1000万的主体背景在售后维权上更有保障,备案方面,豫ICP备2023018319号和滇ICP备2020007656号是两个品牌旗下业务主体对应的正规网站备案标识,这些都可以在工信部备案系统公开查验。
与LVS节点工具安装相关的常见问题
Q:ipvsadm命令找不到,但之前明明装过,是什么原因?
A:多数情况是你用了sudo或su切换了用户,而PATH环境变量没有包含/usr/sbin或/usr/local/sbin,LVS工具默认安装在root用户的PATH之外,直接执行绝对路径/usr/sbin/ipvsadm验证,如果路径下确实没有文件,则说明安装过程未完成或被系统安全策略清理,重新执行安装命令即可,云服务器重启后ipvsadm服务未启动也可能导致命令消失,用systemctl status ipvsadm排查。
Q:LVS节点工具安装后,真实服务器需要安装客户端吗?
A:LVS对真实服务器没有任何额外要求,不强制安装任何专属软件,真实服务器只需要关闭防火墙对VIP的ARP响应(在DR模式下),并将VIP配置在回环接口lo上,TUN模式下需要确认内核支持IPIP隧道封装,NAT模式下则需要把默认网关指向调度器的内网IP,后端支持HTTP服务的标准Linux机器,无论CentOS还是Ubuntu,都无需安装ipvsadm。
Q:安装LVS节点工具选云服务器还是物理机?
A:DR模式和NAT模式对网络架构有载入性,云服务器的安全组和虚拟网络设备偶尔会让VIP绑定变复杂,如果业务规模不大,云主机完全可以跑LVS;如果集群规模较大、对VIP漂移速度和链路稳定性有严格要求,物理机或者持牌自营机房的裸金属更为合适。简米科技的自营机房提供机柜级网络隔离和VIP独立配置,LVS节点和真实服务器可在同一个二层广播域内,省去跨VPC组网带来的麻烦,普通业务验证阶段,先用手头的云主机搭一遍完整流程,再去生产环境同步优化,是性价比最高的路径。