Linux命令 virsh 虚拟化管理命令速查表
AI 概述
virsh是libvirt虚拟化管理工具的核心命令行接口,支持KVM、QEMU等虚拟化技术,覆盖虚拟化管理的方方面面,支持交互式和非交互式模式。其功能包括域管理、配置、存储、磁盘设备、网络、虚拟网络接口、快照、迁移与保存、监控与统计、主机与Hypervisor管理等。virsh命令众多,建议掌握域生命周期管理、配置查看和基本设备管理等核心命令,不常用命令可通过帮助文档查阅,且在生产环境操作前,建议先在测试环境验证命令效果。
目录
文章目录隐藏

virsh 是 libvirt 虚拟化管理工具的核心命令行接口,用于管理 KVM、QEMU、Xen 等虚拟化技术。通过 virsh,系统管理员可以完成从域(虚拟机)的创建、监控、修改到删除的全生命周期管理,同时还能管理存储池、网络、快照等虚拟化资源。
作为虚拟化环境中的瑞士军刀,virsh 提供了数百个子命令,覆盖了虚拟化管理的方方面面。它既支持交互式模式(直接输入 virsh 进入命令行环境),也支持非交互式模式(virsh 命令直接执行)。掌握 virsh 是 Linux 虚拟化运维的必备技能。
1. 基本语法与选项
| 命令/选项 | 说明 |
|---|---|
| virsh [选项]… [命令] | 基本语法格式 |
| -c URI 或 –connect=URI | 指定 hypervisor 连接 URI(如 qemu:///system) |
| -d NUM 或 –debug=NUM | 设置调试级别(0-4) |
| -e 字符 或 –escape 字符 | 设置控制台转义序列 |
| -h 或 –help | 显示帮助信息 |
| -q 或 –quiet | 安静模式 |
| -r 或 –readonly | 只读模式连接 |
| -v | 显示短版本信息 |
| -V | 显示长版本信息 |
2. 域管理(虚拟机生命周期)
| 命令 | 说明 |
|---|---|
| virsh list | 列出所有运行中的域 |
| virsh list –all | 列出所有域(包括未运行的) |
| virsh define 配置文件.xml | 从 XML 文件定义域(不启动) |
| virsh create 配置文件.xml | 从 XML 文件创建并启动域 |
| virsh start 域名 | 启动已定义的域 |
| virsh shutdown 域名 | 优雅关闭域 |
| virsh destroy 域名 | 强制停止域(相当于断电) |
| virsh reboot 域名 | 重启域 |
| virsh suspend 域名 | 挂起域 |
| virsh resume 域名 | 恢复被挂起的域 |
| virsh undefine 域名 | 取消定义域(删除配置) |
| virsh autostart 域名 | 设置域自动启动 |
| virsh autostart –disable 域名 | 禁用域自动启动 |
| virsh console 域名 | 连接到域的控制台 |
| virsh dominfo 域名 | 显示域基本信息 |
| virsh domstate 域名 | 显示域状态 |
3. 域配置管理
| 命令 | 说明 |
|---|---|
| virsh dumpxml 域名 | 导出域的 XML 配置 |
| virsh edit 域名 | 编辑域的 XML 配置 |
| virsh setvcpus 域名 数量 | 设置虚拟 CPU 数量 |
| virsh setmem 域名 内存大小 | 设置内存大小(单位 KB) |
| virsh setmaxmem 域名 最大内存 | 设置最大内存限制 |
| virsh vcpucount 域名 | 查看域 vCPU 数量 |
| virsh vcpuinfo 域名 | 查看 vCPU 详细信息 |
| virsh vcpupin 域名 vcpu CPU 核心 | 绑定 vCPU 到物理 CPU 核心 |
| virsh domrename 旧名 新名 | 重命名域 |
4. 存储管理
| 命令 | 说明 |
|---|---|
| virsh pool-list | 列出存储池 |
| virsh pool-list –all | 列出所有存储池(包括未激活的) |
| virsh pool-info 池名 | 查看存储池信息 |
| virsh pool-create-as 池名 类型 路径 | 创建并启动存储池 |
| virsh pool-destroy 池名 | 停止存储池 |
| virsh pool-delete 池名 | 删除存储池中的数据 |
| virsh pool-undefine 池名 | 取消定义存储池 |
| virsh vol-list 池名 | 列出存储池中的卷 |
| virsh vol-create-as 池名 卷名 容量 | 创建存储卷 |
| virsh vol-delete 卷名 –pool 池名 | 删除存储卷 |
| virsh vol-info 卷名 –pool 池名 | 查看存储卷信息 |
| virsh vol-resize 卷名 新容量 –pool 池名 | 调整存储卷大小 |
5. 磁盘设备管理
| 命令 | 说明 |
|---|---|
| virsh attach-disk 域名 源路径 目标设备 | 附加磁盘设备 |
| virsh detach-disk 域名 目标设备 | 分离磁盘设备 |
| virsh attach-device 域名 设备 XML 文件 | 从 XML 文件附加设备 |
| virsh detach-device 域名 设备 XML 文件 | 从 XML 文件分离设备 |
| virsh domblklist 域名 | 列出域的块设备 |
| virsh domblkinfo 域名 设备名 | 查看块设备大小信息 |
| virsh domblkstat 域名 设备名 | 查看块设备状态 |
| virsh blockresize 域名 设备名 新大小 | 调整块设备大小 |
6. 网络管理
| 命令 | 说明 |
|---|---|
| virsh net-list | 列出活跃网络 |
| virsh net-list –all | 列出所有网络 |
| virsh net-info 网络名 | 查看网络信息 |
| virsh net-create 网络 XML 文件 | 从 XML 文件创建并启动网络 |
| virsh net-define 网络 XML 文件 | 从 XML 文件定义网络 |
| virsh net-start 网络名 | 启动网络 |
| virsh net-destroy 网络名 | 停止网络 |
| virsh net-undefine 网络名 | 取消定义网络 |
| virsh net-autostart 网络名 | 设置网络自动启动 |
| virsh net-dumpxml 网络名 | 导出网络 XML 配置 |
| virsh net-edit 网络名 | 编辑网络 XML 配置 |
| virsh net-dhcp-leases 网络名 | 查看网络 DHCP 租约信息 |
7. 虚拟网络接口管理
| 命令 | 说明 |
|---|---|
| virsh attach-interface 域名 类型 源 | 附加网络接口 |
| virsh detach-interface 域名 类型 mac 地址 | 分离网络接口 |
| virsh domiflist 域名 | 列出域的虚拟接口 |
| virsh domifaddr 域名 | 查看域的网络接口地址 |
| virsh domifstat 域名 接口名 | 查看网络接口状态 |
| virsh domif-setlink 域名 接口名 状态 | 设置接口链接状态 |
| virsh domiftune 域名 接口名 | 查看/设置接口参数 |
8. 快照管理
| 命令 | 说明 |
|---|---|
| virsh snapshot-list 域名 | 列出域的快照 |
| virsh snapshot-create 域名 | 创建快照 |
| virsh snapshot-create-as 域名 快照名 | 指定名称创建快照 |
| virsh snapshot-revert 域名 快照名 | 恢复到指定快照 |
| virsh snapshot-delete 域名 快照名 | 删除快照 |
| virsh snapshot-current 域名 | 查看当前快照 |
| virsh snapshot-dumpxml 域名 快照名 | 导出快照 XML 配置 |
| virsh snapshot-edit 域名 快照名 | 编辑快照 XML 配置 |
| virsh snapshot-info 域名 快照名 | 查看快照信息 |
9. 迁移与保存
| 命令 | 说明 |
|---|---|
| virsh migrate 域名 目标 URI | 在线迁移域到另一台主机 |
| virsh migrate –live 域名 目标 URI | 实时迁移(默认就是 live) |
| virsh save 域名 状态文件 | 保存域状态到文件 |
| virsh restore 状态文件 | 从文件恢复域 |
| virsh managedsave 域名 | 管理域状态的保存 |
| virsh managedsave-remove 域名 | 删除域的管理保存 |
| virsh dump 域名 内核转储文件 | 转储域内核到文件 |
10. 监控与统计
| 命令 | 说明 |
|---|---|
| virsh domstats 域名 | 获取域统计信息 |
| virsh dommemstat 域名 | 获取域内存统计 |
| virsh cpu-stats 域名 | 显示域 CPU 统计 |
| virsh domjobinfo 域名 | 查看域任务信息 |
| virsh domtime 域名 | 查看/设置域时间 |
| virsh vncdisplay 域名 | 查看域 VNC 显示端口 |
| virsh domdisplay 域名 | 查看域显示连接 URI |
| virsh screenshot 域名 保存路径 | 截取域控制台屏幕 |
11. 主机与 Hypervisor 管理
| 命令 | 说明 |
|---|---|
| virsh nodeinfo | 显示节点信息 |
| virsh capabilities | 显示 hypervisor 能力 |
| virsh domcapabilities | 显示域能力 |
| virsh version | 显示版本信息 |
| virsh hostname | 显示 hypervisor 主机名 |
| virsh uri | 显示 hypervisor 典型 URI |
| virsh sysinfo | 显示 hypervisor sysinfo |
| virsh nodecpustats | 显示节点 CPU 统计 |
| virsh nodememstats | 显示节点内存统计 |
| virsh freecell | 显示 NUMA 可用内存 |
| virsh freepages | 显示 NUMA 空闲页 |
12. virsh 自身命令(交互模式)
| 命令 | 说明 |
|---|---|
| help | 显示帮助信息 |
| help 组名 | 显示指定组的命令详情 |
| 命令 –help | 显示特定命令的帮助 |
| quit 或 exit | 退出 virsh 交互模式 |
| cd 目录 | 更改当前目录 |
| pwd | 显示当前目录 |
| echo 参数 | 回显参数 |
| connect URI | 重新连接到 hypervisor |
13. 实用组合模式
| 命令 | 说明 |
|---|---|
| virsh list –all | grep running | 筛选运行中的域 |
| virsh list –all –name | 仅列出所有域的名称 |
| virsh dominfo 域名 grep -i uuid | 查看域的 UUID |
| for 域 in $(virsh list –name); do virsh dominfo $域; done | 批量查看所有运行中域的信息 |
| virsh dumpxml 域名 | grep -A 5 ‘disk type’ | 查看域磁盘配置 |
14. 故障排查指南
| 问题 | 解决方法 |
|---|---|
| 连接失败:无法连接到 hypervisor | 检查 libvirtd 服务状态:systemctl status libvirtd;确认用户是否在 libvirt 组:groups $USER |
| 权限不足 | 使用 sudo 执行,或确保用户已加入 libvirt 组:sudo usermod -aG libvirt $USER |
| 域无法启动 | 检查日志:journalctl -u libvirtd;验证 XML 配置:virsh edit 域名 |
| 迁移失败 | 确认目标主机 libvirtd 服务正常;检查网络连通性;查看迁移日志:virsh domjobinfo 域名 |
| 存储池无法激活 | 检查存储路径权限:ls -ld /存储/路径;查看 pool 信息:virsh pool-info 池名 |
| 快照操作失败 | 确认磁盘格式支持快照(qcow2 支持,raw 不支持);检查磁盘文件权限 |
温馨提示:
virsh 命令众多,不需要全部记忆。建议掌握域生命周期管理(start/shutdown/destroy)、配置查看(list/dominfo/dumpxml)和基本设备管理(attach/detach)即可。对于不常用的命令,随时可以使用 virsh help 和命令 –help 查阅。另外,在生产环境操作前,建议先在测试环境验证命令效果。
以上关于Linux命令 virsh 虚拟化管理命令速查表的文章就介绍到这了,更多相关内容请搜索码云笔记以前的文章或继续浏览下面的相关文章,希望大家以后多多支持码云笔记。
声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权/违法违规/事实不符,请将相关资料发送至 admin@mybj123.com 进行投诉反馈,一经查实,立即处理!
重要:如软件存在付费、会员、充值等,均属软件开发者或所属公司行为,与本站无关,网友需自行判断
码云笔记 » Linux命令 virsh 虚拟化管理命令速查表
如若内容造成侵权/违法违规/事实不符,请将相关资料发送至 admin@mybj123.com 进行投诉反馈,一经查实,立即处理!
重要:如软件存在付费、会员、充值等,均属软件开发者或所属公司行为,与本站无关,网友需自行判断
码云笔记 » Linux命令 virsh 虚拟化管理命令速查表
微信
支付宝