首页/云/云平台与虚拟化速查/virsh list 查看虚机清单
虚拟化操作94 条

virsh list 查看虚机清单

virsh list 显示域清单与运行状态:默认可见运行中的域,--all 包含未启动域,--name 便于脚本取值,状态列可区分 running/shut off/paused 等。

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

virsh list 是什么

virsh list 用来查看域清单与运行状态:默认只显示运行中的域,加上参数才包含已停止的域。它是虚拟化环境里最常用的第一道命令——先确认虚机列表和状态,再决定下一步是启动、关机还是排查故障。

基本信息

默认行为只列出运行中的域,已停止的域需要额外参数
全部清单加上包含全部状态的参数才能看到已停止的域
脚本取值使用只输出名称的模式,避免解析人类可读的表格
状态过滤可按运行状态过滤,便于批量处理某一类虚机
单机查询查看单个域的状态及其原因码
连接前提结果取决于连接 URI 与权限,系统域需要相应授权

清单与状态命令

清单与状态命令
virsh list                          # 只看运行中的域
virsh list --all                    # 包含已停止的域
virsh list --name --state-running    # 只输出运行中的域名称,适合脚本取用
virsh domstate vm1                   # 查看指定域的状态
virsh domstate vm1 --reason          # 连同原因一起查看,便于判断卡在哪一步
virsh dominfo vm1                    # 查看域的详细信息与资源分配

状态含义与处置

状态含义处置方向
running正在运行正常,关注资源使用
shut off已停止,域定义仍在需要时启动即可,数据未丢失
paused已暂停,CPU 不再执行常见于存储异常或人工暂停,确认原因后恢复
crashed崩溃状态查看日志定位原因,再决定重启或重建
pmsuspended被电源管理挂起按业务需要唤醒
把已停止的域误当删除是常见误解:状态为已停止只代表进程不在运行,域定义与磁盘文件都还在,执行启动命令即可恢复。真正的删除需要显式执行取消定义的操作。

易错点

  • 把已停止误当已删除:重复创建同名虚机,导致磁盘文件与定义冲突
  • 脚本里解析人类可读的表格输出:列宽与字段随版本变化,应改用只输出名称的模式
  • 忘记指定连接:连到用户域后看不到系统域虚机,排查方向被带偏
  • 只看状态不看原因:暂停与崩溃的处理方式不同,不做区分容易误操作
  • 清理虚机时只删除定义不删除磁盘:磁盘文件长期残留在存储池中占容量

数据来源与参考

  • libvirt 文档:virsh list
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌