首页/云/云平台与虚拟化速查/virsh setlink 模拟网线断开
虚拟化操作94 条

virsh setlink 模拟网线断开

setlink 把虚拟网卡链路置 up/down,用于演练断网、验证应用重连与高可用切换;domif-getlink 查询当前链路状态。

云平台与虚拟化速查云更新于 2026-10-13

是什么

virsh setlink 把虚机的虚拟网卡链路状态置为 up 或 down,效果相当于给这台虚机拔网线或插回网线,但虚机本身仍保持运行。它适合做网络中断演练:验证应用重连逻辑、验证高可用组件是否真的触发切换、验证监控能否在链路断开时告警。查询当前链路状态用 domif-getlink。

基本信息

查网卡virsh domiflist 域,列出接口名、类型、源与型号
查链路virsh domif-getlink 域 接口名,输出 up 或 down
断开virsh setlink 域 接口名 down
恢复virsh setlink 域 接口名 up
接口标识必须用 domiflist 查到的接口名或 MAC 精确匹配

典型使用场景

  • 演练应用断线重连:确认客户端是否按预期重试而不是直接报错退出
  • 验证集群切换:断开某一节点网络,观察主备是否正常接管
  • 验证监控与告警链路:确认断网能在预期时间内产生告警
  • 复现线上偶发故障:模拟链路抖动,观察业务表现与日志
  • 变更前预检:在维护窗口前先确认业务对网络中断的容忍度

演练一次断网

演练一次断网
virsh domiflist vm1                     # 先确认接口名与对应网桥
virsh domif-getlink vm1 vnet0           # 记录演练前状态
virsh setlink vm1 vnet0 down            # 断开链路,等同于拔网线
# 观察 guest 内应用日志、集群状态与监控告警
virsh domif-getlink vm1 vnet0           # 复核已置为 down
virsh setlink vm1 vnet0 up              # 恢复链路并确认业务自愈

状态判读

检查项输出或入口判读要点
接口清单domiflist 的 Interface 列接口名形如 vnet0,多网卡虚机要认准对应网段
链路状态domif-getlink 输出up 为通、down 为断,演练前后各查一次
guest 侧感知guest 内 ip link 与日志链路断开后接口通常显示无载波
业务表现应用日志与集群事件确认切换或重连在预期时间内完成
断开链路与关闭虚机不同:虚机进程仍在运行、CPU 与内存占用照旧,只是收发不了数据包;这正好用来区分“网络问题”与“虚机宕机”两类故障表现。
对生产虚机执行前必须先确认带外管理路径可用,否则链路置为 down 后若远程管理也走同一网络,将失去修复入口。

易错点

  • 接口标识填错,实际操作到别的虚机或别的网卡上
  • 演练结束忘记恢复链路,虚机长期处于断网状态
  • 在存储与业务共用同一网络的虚机上演练,断开链路导致存储访问中断
  • 没有提前准备恢复路径,链路断开后连带管理通道一起失联

数据来源与参考

  • virsh 手册:setlink / domif-getlink
  • libvirt 文档:链路状态
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌