是什么
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 后若远程管理也走同一网络,将失去修复入口。