首页/云/云平台与虚拟化速查/virsh 启停与软硬关机
虚拟化操作94 条

virsh 启停与软硬关机

域的生命周期命令区分软硬两种路径:shutdown/reboot 发送 ACPI 或 agent 信号由 guest 完成关机,destroy 则立即断电,用于卡死时的强制处理。

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

virsh 生命周期命令

virsh 把域的生命周期操作分成软硬两条路径:软路径(shutdown、reboot)向客体发送关机或重启信号,由客体自己的操作系统完成流程,文件系统能正常卸载;硬路径(destroy、reset)相当于直接断电或按复位键,只在客体已卡死、软关机无效时使用。

基本信息

启动virsh start <域>
软关机virsh shutdown <域>,默认走 ACPI 信号
代理关机virsh shutdown <域> --mode agent,需客体安装并运行代理
硬断电virsh destroy <域>,等同于拔电源
复位virsh reset <域>,硬复位,不做有序关机
持久化参数加 --live 影响当前运行实例,加 --config 写入定义文件

常用启停组合

常用启停组合
virsh start vm1                     # 启动域
virsh shutdown vm1                  # 先试软关机,等待客体自行完成
virsh shutdown vm1 --mode agent     # 代理可用时走代理,兼容性更好
virsh domstate vm1 --reason          # 查看状态与原因,判断是否卡在关机中
virsh destroy vm1                   # 长时间无响应才硬断电,注意数据风险
virsh reboot vm1                     # 软重启,仍由客体完成流程

命令对照与风险

命令机制风险与适用性
shutdown发送电源按钮事件,客体触发有序关机安全,但客体未响应时无效果
shutdown --mode agent通过客体内代理执行关机需先安装代理,关机更可靠
destroy立即停止域进程,等同断电有文件系统损坏风险,仅用于卡死场景
reset硬复位,不做关机流程可绕过挂起状态,但仍属非有序操作
start创建并运行域定义损坏或被锁定时启动失败

典型使用场景

  • 例行维护:变更前先软关机,确认状态为已关闭再进行配置调整
  • 补丁与升级:用软重启或关机后启动完成内核更新
  • 故障恢复:客体完全无响应时用硬断电后再启动
  • 批量关停:维护窗口内按清单逐个软关机并核对结果
反复发送软关机没有效果时,先确认客体内是否启用了电源管理或安装运行了代理,而不是继续发送命令。确认无响应后再考虑硬断电,并在事后检查文件系统一致性。

易错点

  • 软关机无效就反复发送:命令排队但客体仍未响应,正确做法是先查客体侧电源管理与代理状态
  • 把硬断电当常规停止手段:未同步的文件系统可能受损,重启后需要做一致性检查甚至恢复
  • 只加 --live 不写定义文件:变更在宿主重启后失效,配置回到旧状态
  • 关机后直接拔掉存储或改动磁盘:客体状态与存储不一致,再次启动可能失败
  • 批量关停未逐个核对结果:部分域实际未关闭,后续维护操作建立在其已停止的错误前提上

数据来源与参考

  • libvirt 文档:virsh domain 生命周期命令
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌