KVM virsh命令管理虚拟机汇总

以下是 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、内存、磁盘等)。
    如果有具体需求(如 热添加磁盘、调整网络、迁移问题),可以进一步讨论! 🚀

发表回复

后才能评论