以下是 virsh
命令的详细汇总,涵盖 虚拟机管理、网络、存储、快照、迁移 等常用操作,适用于 KVM/QEMU 虚拟化环境。
1. 虚拟机管理
命令 | 说明 |
---|
virsh list | 列出正在运行的虚拟机 |
virsh list --all | 列出所有虚拟机(包括关闭的) |
virsh start <vm-name> | 启动虚拟机 |
virsh shutdown <vm-name> | 正常关机(发送 ACPI 信号) |
virsh destroy <vm-name> | 强制关闭(相当于断电) |
virsh reboot <vm-name> | 重启虚拟机 |
virsh suspend <vm-name> | 暂停虚拟机 |
virsh resume <vm-name> | 恢复暂停的虚拟机 |
virsh autostart <vm-name> | 设置虚拟机开机自启 |
virsh autostart --disable <vm-name> | 取消开机自启 |
virsh dominfo <vm-name> | 查看虚拟机基本信息 |
virsh edit <vm-name> | 编辑虚拟机 XML 配置 |
virsh dumpxml <vm-name> | 导出虚拟机 XML 配置 |
virsh define <xml-file> | 从 XML 文件定义虚拟机(不启动) |
virsh undefine <vm-name> | 删除虚拟机(但保留磁盘) |
| virsh undefine --remove-all-storage <vm-name> | 删除虚拟机并删除磁盘 |
2. 虚拟机控制台 & 显示
命令 | 说明 |
---|
virsh console <vm-name> | 进入虚拟机文本控制台(需配置 ttyS0 ) |
virsh vncdisplay <vm-name> | 查看 VNC 端口(如 :0 表示 5900 ) |
virsh domdisplay <vm-name> | 查看显示方式(如 vnc://127.0.0.1:0 ) |
3. 虚拟机 CPU & 内存管理
命令 | 说明 |
---|
virsh setvcpus <vm-name> <num> --config | 修改 CPU 数量(需重启生效) |
virsh setvcpus <vm-name> <num> --live | 热添加 CPU(立即生效) |
virsh setmem <vm-name> <size> --config | 修改内存大小(需重启生效) |
virsh setmem <vm-name> <size> --live | 热调整内存(立即生效) |
virsh vcpupin <vm-name> <vcpu> <cpu> | 绑定 vCPU 到物理 CPU |
4. 存储管理
命令 | 说明 |
---|
virsh vol-list <pool> | 列出存储池中的卷 |
virsh vol-create <pool> <xml-file> | 创建存储卷 |
virsh vol-delete <vol> --pool <pool> | 删除存储卷 |
virsh vol-resize <vol> <size> --pool <pool> | 调整存储卷大小 |
virsh pool-list | 列出所有存储池 |
virsh pool-info <pool> | 查看存储池信息 |
virsh pool-start <pool> | 启动存储池 |
virsh pool-destroy <pool> | 强制关闭存储池 |
virsh pool-autostart <pool> | 设置存储池开机自启 |
5. 快照管理
命令 | 说明 |
---|
virsh snapshot-list <vm-name> | 列出虚拟机快照 |
virsh snapshot-create <vm-name> | 创建快照 |
virsh snapshot-revert <vm-name> <snapshot> | 恢复到指定快照 |
virsh snapshot-delete <vm-name> <snapshot> | 删除快照 |
6. 网络管理
命令 | 说明 |
---|
virsh net-list | 列出所有虚拟网络 |
virsh net-info <network> | 查看网络信息 |
virsh net-start <network> | 启动虚拟网络 |
virsh net-destroy <network> | 强制关闭虚拟网络 |
virsh net-autostart <network> | 设置网络开机自启 |
virsh domiflist <vm-name> | 查看虚拟机网卡信息 |
7. 虚拟机迁移
命令 | 说明 |
---|
virsh migrate <vm-name> qemu+ssh://<target-host>/system | 冷迁移(需关机) |
virsh migrate --live <vm-name> qemu+ssh://<target-host>/system | 热迁移(不中断服务) |
8. 其他常用命令
命令 | 说明 |
---|
virsh version | 查看 libvirt 版本 |
virsh capabilities | 查看宿主机虚拟化能力 |
virsh nodeinfo | 查看宿主机 CPU/内存信息 |
virsh qemu-agent-command <vm-name> '{"execute":"guest-info"}' | 调用 QEMU Guest Agent |
总结
virsh
是管理 KVM 虚拟机的核心工具,支持 虚拟机、存储、网络、快照、迁移 等操作。
--config
修改配置(需重启生效),--live
热修改(立即生效)。
virsh edit <vm-name>
可修改 XML 配置(如调整 CPU、内存、磁盘等)。
如果有具体需求(如 热添加磁盘、调整网络、迁移问题),可以进一步讨论! 🚀
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。