首页/云/云平台与虚拟化速查/virsh 连接与基础用法
虚拟化操作94 条

virsh 连接与基础用法

virsh 是 libvirt 的命令行客户端:通过 -c 指定连接 URI 即可管理本机或远端宿主上的域、网络与存储池,环境变量 LIBVIRT_DEFAULT_URI 可固化默认连接。

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

virsh 连接是什么

virsh 是 libvirt 的命令行客户端:通过连接参数指定 URI,就可以管理本机或远端宿主上的域、网络与存储池。URI 决定了权限与可见范围,也决定了你能看到哪些虚机——同一个命令换一个 URI,结果可能完全不同,这是新手最容易困惑的地方。

基本信息

本机系统域连接本机由守护进程管理的系统级资源
本机用户域面向当前用户,功能与可见范围受限
远端连接可通过 SSH 等传输方式连接远端宿主
默认连接可用环境变量固化默认 URI,避免每次输入
权限影响系统域需要相应授权,普通用户默认看不到
帮助查询内置帮助可按对象查看子命令清单

连接与信息核对

连接与信息核对
virsh -c qemu:///system version                # 查看客户端与服务端版本
virsh -c qemu:///system list --all            # 列出系统域下的全部虚机
export LIBVIRT_DEFAULT_URI=qemu:///system     # 固化默认连接,省去反复输入
virsh -c qemu+ssh://root@node2/system list --all   # 连接远端宿主
virsh help pool                               # 按对象查看可用子命令

连接方式对照

连接适用场景限制
本机系统域管理宿主上的生产虚机需要 root 或等效授权
本机用户域个人开发与实验网络与存储能力受限,与系统域隔离
远端 SSH从管理机统一操作节点依赖 SSH 免密与网络可达性
远端加密连接跨主机集中管理需要证书配置与端口放行
把常用连接写进脚本前先手工验证一遍:远端连接依赖 SSH 免密与网络可达性,未验证就写入自动化,失败会表现为脚本在无人值守时静默出错。固化默认连接的变量只在当前会话有效,需要写进配置文件才能长期生效。
连接失败时的排查顺序:先确认守护进程在运行,再用版本命令验证取读通道是否通;接着核对连接 URI 与权限,最后检查网络与免密登录。按这个顺序走一遍,能区分服务侧问题、权限问题与网络问题三类原因,避免在错误方向上反复试参数。

易错点

  • 忘记指定连接而连到默认用户域:看不到系统域虚机,误判虚机丢失
  • 远端连接受网络与免密登录制约:未验证就写进自动化脚本,定时任务静默失败
  • 环境变量只写进当前会话:重新登录后默认连接失效,行为前后不一致
  • 用普通用户执行系统域操作:权限被拒后误判为服务故障
  • 在生产与实验环境共用同一客户端配置:命令作用到错误的宿主上,操作对象混淆
  • 沿用旧版本教程里的服务名排查服务状态:模块化部署后守护进程已拆分,按旧名称检查会得出服务未运行的错误结论

数据来源与参考

  • libvirt 文档:virsh 手册(libvirt.org)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌