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