ipvsadm如何开始使用?,ipvsadm怎么安装

ipvsadm是Linux内核中IPVS模块的管理工具,用于配置四层负载均衡规则,是LVS(Linux Virtual Server)的核心组件,能在内核态直接转发数据包,性能远高于同场景下的用户态代理工具。

ipvsadm是什么:内核态负载均衡的核心工具

IPVS(IP Virtual Server)内置于Linux内核,工作在TCP/UDP协议栈层面,ipvsadm是它的命令行管理接口,负责增删改查虚拟服务器(VIP)、真实服务器(RS)以及调度策略,与Nginx、HAProxy等七层代理相比,ipvsadm不解析应用层协议,只做报文的转发和改写,因此吞吐量极高,响应延迟极低。

IPTV接线及配置
加载中
IPTV接线及配置

行业共识认为,在纯四层分发场景下,ipvsadm的转发性能远优于常规用户态软件,单机承载百万级并发连接是可行的,这也是为什么电商、直播、金融等对稳定性要求极高的业务,普遍采用“LVS(ipvsadm)+ Keepalived”作为入口负载均衡层。

ipvsadm命令详解与安装配置教程

安装与基础环境检查

大多数Linux发行版默认未安装ipvsadm,需要手动操作,以CentOS/RHEL系为例:

yum install -y ipvsadm

Debian/Ubuntu系使用:

apt install -y ipvsadm

安装完成后,先确认内核是否加载了IPVS相关模块:

lsmod | grep ip_vs

若没有输出,手动加载:

modprobe ip_vs
modprobe ip_vs_rr
modprobe ip_vs_wrr
modprobe ip_vs_sh

查看当前内核支持的调度算法:

cat /etc/haproxy/../ipvsadm -h

更直接的方式是执行ipvsadm不带参数,若显示空列表则说明运行正常。

核心命令参数速览

ipvsadm的参数体系不复杂,熟练后五分钟内即可完成一套完整的负载均衡配置,常用命令如下:

  • 添加虚拟服务器:ipvsadm -A -t 192.168.1.100:80 -s rr
    • -A 表示新增,-t 指定TCP协议和VIP端口,-s 指定调度算法(rr为轮询)。
  • 添加真实服务器:ipvsadm -a -t 192.168.1.100:80 -r 192.168.1.11:80 -g
    • -a 追加真实服务器,-r 指定RS地址,-g 使用DR模式,-m 为NAT模式,-i 为TUN模式。
  • 删除规则:ipvsadm -D -t 192.168.1.100:80 删除整条虚拟服务器规则,ipvsadm -d -t 192.168.1.100:80 -r 192.168.1.11:80 仅移除某台RS。
  • 查看当前配置:ipvsadm -L -n 以数字形式显示规则和连接状态,ipvsadm -L --stats 查看流量统计,

    ipvsadm如何开始使用?,ipvsadm怎么安装

    ipvsadm -L --rate 查看速率统计。

  • 清空所有规则:ipvsadm -C
  • 保存规则:ipvsadm-save > /etc/sysconfig/ipvsadm
  • 恢复规则:ipvsadm-restore < /etc/sysconfig/ipvsadm

一段完整的配置流程示例如下:

# 定义一个VIP为192.168.1.100的HTTP虚拟服务,使用加权轮询
ipvsadm -A -t 192.168.1.100:80 -s wrr
# 添加三台后端真实服务器,权重分别为1、2、3
ipvsadm -a -t 192.168.1.100:80 -r 192.168.1.11:80 -g -w 1
ipvsadm -a -t 192.168.1.100:80 -r 192.168.1.12:80 -g -w 2
ipvsadm -a -t 192.168.1.100:80 -r 192.168.1.13:80 -g -w 3
# 查看结果
ipvsadm -L -n

注意,DR模式下需要确保真实服务器的lo接口绑定VIP并关闭ARP响应,否则回包会异常。

ipvsadm调度算法选型指南

静态与动态算法对比

ipvsadm内置十种调度算法,分为两大类,静态算法不关心后端实时负载,纯按预设规则分发;动态算法会参考当前连接数,如下表所示:

算法 类型 核心逻辑 适用场景
rr 静态 轮询,平均分配 后端性能一致时
wrr 静态 加权轮询 后端性能差异明显
sh 静态 源地址哈希 需要会话保持
dh 静态 目标地址哈希 缓存集群
lc 动态 最少连接 长连接服务
wlc 动态 加权最少连接 最常用,默认推荐
lblc 动态 基于最少连接+源地址 兼具会话保持
lblcr 动态 带复制的lblc 缓存数据库场景
sed 动态 最少期望延迟 响应时间差异大
nq 动态 永不排队 快速响应场景

场景选择建议

HTTP短连接服务多数情况下使用wrr或wlc即可,如果后端服务器配置参差不齐,wrr配合合理的权重比rr效果更可控。

数据库读写分离或Redis集群这类长连接应用,建议使用lc或wlc,避免连接数堆积在某一台机器上。

需要会话保持的Web应用,若不想引入额外的Cookie机制,sh按源IP哈希是最直接的做法,但要注意,当某台RS宕机时,哈希到该机器的用户会全部受影响,此时可配合后端Session共享解决。

ipvsadm如何开始使用?,ipvsadm怎么安装

业内专家指出,调度算法本身没有绝对优劣,关键看业务模型,选错算法导致的连接倾斜,往往比流量突增更容易拖垮后端。

ipvsadm常见问题与实战排查

连接数查看与超时调整

有段时间线上反馈某些请求特别慢,排查后发现是ipvsadm的TCP超时设置过短,导致长连接被内核提前回收,查看超时参数:

ipvsadm -L --timeout

默认输出类似:

Timeout (tcp tcpfin udp): 900 120 300

意思是TCP空闲连接900秒回收,TCP FIN_WAIT状态120秒回收,UDP 300秒回收,若业务层有心跳保活,可适当调大:

ipvsadm --set 3600 120 300

持久连接配置

部分场景需要同一源IP在固定时间内始终分发到同一台RS,即使调度算法是rr,ipvsadm通过-p参数实现:

ipvsadm -A -t 192.168.1.100:80 -s rr -p 600

-p 600表示持久连接超时600秒,该参数在需要记录用户登录态、且后端未做Session共享时非常有用。

规则不生效的排查路径

配置完成后访问VIP不通,建议按以下顺序排查:

  1. 确认内核转发开关:sysctl net.ipv4.ip_forward 需为1。
  2. 确认防火墙放行:iptables/firewalld是否拦截了VIP的流量。
  3. 确认RS回包路由:DR模式下RS的lo是否绑定VIP,且ARP抑制是否配置正确。
  4. 确认RS端口健康:在后端本机执行curl 127.0.0.1:端口验证服务正常。
  5. 查看ipvsadm连接表:ipvsadm -L -n --stats,若连接数持续增长但RS无流量,大概率是转发模式配置错误。

ipvsadm与nginx在负载均衡场景下的区别

两者常被放在一起比较,但定位完全不同,ipvsadm是内核态四层转发,nginx是用户态七层代理,具体差异如下:

  • 性能:ipvsadm直接在内核空间处理报文,避免了用户态与内核态之间的拷贝,单机吞吐量通常比nginx高一个数量级。
  • 功能:nginx能基于URL、Header、Cookie做精细化路由,ipvsadm只能基于IP和端口。
  • 健康检查:nginx自带丰富的后端健康检查机制,ipvsadm本身不具备该能力,需要依赖Keepalived或第三方脚本实现。
  • 数据修改:nginx可以在转发时改写请求头、压缩响应,ipvsadm对报文内容不做任何修改。

实际架构中,两者通常不是替代关系而是配合关系,客户端流量先经过ipvsadm分发到多台nginx,再由nginx完成七层路由转发到后端应用集群,这种组合兼顾了四层的高性能和七层的灵活性。

ipvsadm如何开始使用?,ipvsadm怎么安装

ipvsadm的keepalived高可用配置要点

单台LVS调度器本身存在单点故障风险,生产环境必须搭配Keepalived实现主备切换,配置核心思路是:主备节点共享一个VIP,Keepalived通过VRRP协议检测对方存活,主节点故障时VIP自动漂移到备节点。

关键配置项包括:

  • virtual_ipaddress:指定VIP地址,需与ipvsadm中配置的VIP一致。
  • virtual_server 块内定义RS列表和调度算法,Keepalived会自动调用ipvsadm生成规则,无需手动执行ipvsadm -A。
  • real_server 块内可配置HTTP_GET或TCP_CHECK健康检查,这样后端RS宕机时,Keepalived会自动将其从ipvsadm规则中摘除。

一个简化的TCP健康检查配置示例:

virtual_server 192.168.1.100 80 {
    delay_loop 6
    lb_algo wrr
    lb_kind DR
    protocol TCP
    real_server 192.168.1.11 80 {
        weight 1
        TCP_CHECK {
            connect_timeout 3
            nb_get_retry 3
            delay_before_retry 3
        }
    }
}

注意,Keepalived接管后,不要再手动执行ipvsadm命令修改规则,否则主备切换时配置可能被覆盖。

关于ipvsadm调度算法和conntrack关联的常见问题解答

问题:ipvsadm如何查看当前活跃连接数?

执行ipvsadm -L -n --stats可以查看每台RS的活跃连接数(ActiveConn)和非活跃连接数(InactConn),活跃连接指当前正在传输数据的连接,非活跃连接指已建立但空闲的连接,若InactConn持续偏高,说明后端应用处理完请求后未及时关闭连接,需检查应用层的连接池设置。

问题:ipvsadm在华为云和简米云这类云环境上能用吗?

云厂商的负载均衡产品(如简米云SLB、华为云ELB)底层也基于类似LVS的技术实现,但普通云服务器默认禁用了IPVS模块的某些操作权限,若坚持自建,需确认云安全组是否放行VIP流量,且云服务器的网卡是否支持绑定辅助私网IP,多数情况下,云平台自带的负载均衡服务比自建ipvsadm更省心,因为其健康检查、弹性伸缩和DDoS防护能力是开箱即用的。

问题:ipvsadm规则重启后丢失怎么办?

使用ipvsadm-save > /etc/sysconfig/ipvsadm保存规则,并在系统服务中启用ipvsadm自启动,以systemd为例,执行systemctl enable ipvsadm即可,若分发规则完全由Keepalived管理,则无需手动保存,Keepalived启动时会自动重建虚拟服务器和RS列表。

首发原创文章,作者:王坚‌,如若转载,请注明出处:https://idctop.com/ipvsadm%e5%a6%82%e4%bd%95%e5%bc%80%e5%a7%8b%e4%bd%bf%e7%94%a8%ef%bc%9f%ef%bc%8cipvsadm%e6%80%8e%e4%b9%88%e5%ae%89%e8%a3%85/

赞 (0)
if函数在Excel中是什么意思,具体怎么用
上一篇 2026年8月8日 13:28
IIS部署安装的具体步骤是什么,有哪些注意事项
下一篇 2026年8月8日 13:30

相关推荐

  • Ingress负载均衡策略有哪些?,如何配置?

    开篇答案Ingress负载均衡策略的核心是:通过Annotation配置和上游服务权重控制,在Kubernetes集群入口处实现流量分发,生产环境最常用的方案是Nginx Ingress Controller配合ingress-nginx注解,实现轮询、会话保持、灰度发布等多种策略,nginx ingress……

    2026年8月11日
    900
  • 服务器漏洞扫描报告怎么看?如何修复高危漏洞

    服务器漏洞扫描报告不仅是合规要求的“体检单”,更是识别高危风险、指导修复优先级的核心依据,建议企业建立常态化自动化扫描机制以确保持续安全,在数字化运营中,服务器安全不再是可选动作,而是业务连续性的生命线,许多运维人员面对堆积如山的日志感到无从下手,其实一份结构清晰、数据准确的服务器漏洞扫描报告能直接指明方向,它……

    2026年7月3日
    800
  • IT流程管理软件应该如何选择,哪个牌子好?

    IT流程管理软件是帮助企业自动化IT服务请求、事件管理和变更流程的工具,而管理软件中心则是统一监控、配置和优化这些软件运行环境的核心平台,二者结合能显著提升IT运维效率与业务连续性,it流程管理软件哪个好?选型关键要素与价格参考功能完整性:覆盖ITIL核心流程选型时首先要看软件是否覆盖了IT服务管理的关键环节……

    2026年8月18日
    400
  • 服务器硬件检测工具哪个最好用,有哪些免费软件可以下载?

    服务器硬件检测工具的核心价值在于快速定位硬件故障并预防潜在风险,主流选择包括AIDA64、HWiNFO、CrystalDiskInfo等,但实际部署需要根据运维场景、预算和系统环境进行组合,而非单一工具包打天下,服务器硬件检测工具哪个好?2026年主流工具横向对比面对市场上众多的检测工具,选择困难症是常态,行业……

    2026年7月18日
    1400
  • ipv6的动态地址_动态获取IPv6地址

    IPv6动态地址通过SLAAC或DHCPv6自动获取,无需手动配置,是目前最普及的IPv6地址分配方式,IPv6动态地址和静态地址哪个好这是很多人在配置网络时最先纠结的问题,动态地址和静态地址的核心区别在于是否由设备自主决定,动态地址靠网络中的路由器或服务器分配,设备即插即用;静态地址需要手动输入,一劳永逸但维……

    2026年8月11日
    1200
  • 服务器3c是什么?服务器3c认证流程及费用详解

    服务器3C性能的核心在于CPU算力、内存带宽与存储I/O的协同平衡,而非单一指标的堆砌,选择时需根据业务场景匹配硬件组合以实现性价比最大化,在数字化浪潮席卷各行各业的当下,服务器早已不再是机房里沉默冰冷的铁盒子,它们更像是企业数字世界的“心脏”与“大脑”,当我们谈论服务器3C时,其实是在探讨三个最基础也最关键的……

    2026年7月3日
    12600
  • idc虚拟主机系统_IDC专线通过域名挂载SFS Turbo文件系统

    SFS Turbo文件系统通过域名挂载到IDC虚拟主机,核心是打通云上VPC与本地IDC的网络链路,再利用DNS解析将域名映射到文件系统挂载地址,最终实现本地主机像访问本地磁盘一样访问云上存储,为什么IDC虚拟主机需要域名挂载SFS TurboIDC机房里的虚拟主机处理大数据、AI训练或容器化应用时,本地磁盘容……

    2026年8月11日
    800
  • icp备案查询网站_如何查询ICP备案号

    查询ICP备案号最直接的方法就是进入工信部ICP/IP地址/域名信息备案管理系统官网,或使用其官方授权的第三方平台,输入域名或备案号即可获取准确的备案信息,整个过程通常只需几秒钟,为什么ICP备案号查询如此重要无论是个人站长还是企业运营者,在网站上线前完成ICP备案是合法合规的基础,但备案完成不是终点,后续的备……

    2026年8月16日
    2000
  • filetime是什么?filetime命令怎么用

    “Filetime” 通常指的是 Windows 文件时间(Windows File Time),这是一种在 Windows 操作系统中用于表示文件创建、修改和访问时间的标准时间格式,什么是 Windows File Time?定义:Windows File Time 是一个 64 位整数,表示自 1601 年……

    2026年7月12日
    4700
  • AI大模型软件股票怎么选?2026年AI大模型概念股龙头有哪些

    2026年AI大模型软件股票的核心逻辑已从单纯的算力基建转向应用落地与垂直场景变现,投资者应重点关注拥有私有数据壁垒、具备清晰商业化闭环且估值合理的头部企业,而非盲目追逐概念炒作,AI大模型软件股票的核心驱动逻辑从算力焦虑到应用变现的范式转移过去几年,市场对于人工智能的投资热情主要集中在GPU芯片和数据中心建设……

    2026年6月14日
    2810

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注