KVM 命令行虚拟机管理 核心总结
基于 libvirt 的 virsh 工具管理KVM虚拟机,包含虚拟机生命周期、配置、快照、磁盘、创建虚拟机、网络存储、删除、开机自启。
一、基础生命周期操作(virsh)
| virsh list | 查看运行中虚拟机 |
| virsh list –all | 查看全部(含关机)虚拟机 |
| virsh start 虚拟机名 | 启动虚拟机 |
| virsh shutdown 虚拟机名 | 优雅关机(ACPI,优先使用) |
| virsh destroy 虚拟机名 | 强制断电,虚拟机卡死时使用,相当于拔电源 |
| virsh reboot 虚拟机名 | 重启虚拟机 |
| virsh suspend | 挂起/暂停虚拟机,内存数据落磁盘 |
| virsh resume | 恢复挂起的虚拟机 |
命令详解:
- virsh list:仅显示当前处于运行状态的虚拟机,适合快速确认哪些虚拟机在线。
- virsh list –all:显示所有虚拟机,包括已关机(shut off)状态的,便于掌握整体资源分布。
- virsh start 虚拟机名:启动一台已定义但处于关机状态的虚拟机,相当于给虚拟机通电开机。
- virsh shutdown 虚拟机名:向虚拟机发送 ACPI 关机信号,让操作系统优雅退出,优先使用,避免数据损坏。
- virsh destroy 虚拟机名:直接强制断电,相当于拔掉电源线。仅当虚拟机卡死、无法响应 shutdown 时使用,否则可能造成文件系统损坏。
- virsh reboot 虚拟机名:重启虚拟机,相当于先关机再开机。
- virsh suspend:挂起虚拟机,将内存状态保存到磁盘,暂停 CPU 运行,适合临时腾出宿主机资源。
- virsh resume:恢复被挂起的虚拟机,从磁盘加载内存状态继续运行。
信息查询:
- virsh dominfo 虚拟机名:查看虚拟机基本信息,包括内存、CPU、状态、自动启动配置等。
- virsh domblklist 虚拟机名:列出虚拟机挂载的磁盘设备,确认磁盘路径与格式。
- virsh domiflist 虚拟机名:查看虚拟机网卡信息,包括 MAC 地址、网络类型与桥接关系。
- virsh vncdisplay 虚拟机名:查看虚拟机当前 VNC 端口号,用于远程图形界面连接。
交互模式:在终端输入 virsh 即可进入交互式命令行,此时可直接输入上述命令而无需重复输入 virsh 前缀,输入 quit 退出交互模式;virt-manager 可调出图形化管理界面,适合不熟悉命令行的用户进行可视化操作。
二、虚拟机配置导入导出(备份配置重点)
⚠️重点:undefine不会删磁盘,磁盘文件仍然保留。
三、快照管理
- virsh snapshot-create-as 虚拟机名 快照名 "描述":为虚拟机创建快照,记录当前磁盘与内存状态,可用于快速回滚。
- virsh snapshot-list 虚拟机名:列出该虚拟机的所有快照,显示快照名称、创建时间与状态。
- virsh snapshot-revert 虚拟机名 –snapshotname 快照名:将虚拟机恢复到指定快照时的状态,恢复前建议先关闭虚拟机,避免数据不一致。
- virsh snapshot-delete 虚拟机名 –snapshotname 快照名:删除指定快照,释放磁盘空间,删除后无法再恢复到该快照点。
四、qemu‑img磁盘镜像管理
⚠️磁盘操作建议虚拟机关闭,避免镜像损坏
五、virt‑install 命令行新建虚拟机
关键参数:
- –name虚拟机名称;–memory内存MiB;–vcpusCPU核心数
- –disk path=磁盘镜像路径
- –locationISO安装镜像路径
- –network network=default使用KVM默认NAT网络
- –noautoconsole不自动弹出控制台
- –vnc –vnclisten=0.0.0.0 –vncport=5903开启VNC远程访问
示例:
virt-install –name vm2 \\
–memory 4096 –vcpus 2 \\
–disk path=/disk/vm2.qcow2 \\
–location /iso/CentOS‑7‑x86_64‑Minimal‑1810.iso \\
–network network=default \\
–noautoconsole
VNC访问:宿主机IP:端口;监听0.0.0.0要放行防火墙,外部才能连接。
六、虚拟网络、存储池
虚拟网络
- virsh net‑list –all查看全部虚拟网络
- virsh net‑start default启动默认NAT网络
- virsh net‑autostart default设置default网络开机自启
- virsh net‑dumpxml default导出网络xml配置
存储池
- virsh pool‑list –all查看存储池
- virsh vol‑list default查看存储池内部磁盘镜像
KVM默认存储池路径:/var/lib/libvirt/images/
七、删除虚拟机流程
- virsh undefine vm3:仅注销xml配置,磁盘镜像保留
- virsh undefine vm3 –remove‑all‑storage:注销xml,同时自动删除关联磁盘
注意:运行状态虚拟机不能执行undefine。
八、虚拟机开机自启
- virsh autostart 虚拟机名:开启宿主机开机自启虚拟机
- virsh autostart –disable 虚拟机名:关闭开机自启
- virsh list –all –autostart:查看所有配置自启的虚拟机,必须带–all,关机虚拟机才会显示
- virsh dominfo 虚拟机名:查看单台虚拟机自启状态
网硕互联帮助中心



评论前必须登录!
注册