虚拟化 KVM 常用命令汇总

KVM(Kernel-based Virtual Machine)是一种开源的硬件虚拟化解决方案,它是 Linux 内核的一部分,允许在支持虚拟化技术的硬件(如 Intel VT-x 或 AMD-V)上运行虚拟机。

KVM 将 Linux 内核转变为一个裸机虚拟机监控器(Hypervisor),使用户可以运行多个隔离的虚拟机,并且每个虚拟机都可以运行自己的操作系统(如 Linux、Windows 或其他)。

1. 虚拟机基本操作

(1) 查看虚拟机列表

复制
virsh list --all1.

--all:显示所有虚拟机,包括运行中和停止的。

(2) 启动虚拟机

复制
virsh start <虚拟机名称或ID>1.

(3) 关闭虚拟机

复制
virsh shutdown <虚拟机名称或ID>1.

这是安全关闭,等效于按下虚拟机中的电源按钮。

(4) 强制关闭虚拟机

复制
virsh destroy <虚拟机名称或ID>1.

注意:这是强制操作,可能导致数据丢失。

(5) 重启虚拟机

复制
virsh reboot <虚拟机名称或ID>1.

等效:shutdown + start。

(6) 挂起和恢复虚拟机

挂起虚拟机:

复制
virsh suspend <虚拟机名称>1.

恢复挂起的虚拟机:

复制
virsh resume <虚拟机名称>1.

(7) 删除虚拟机

复制
virsh undefine <虚拟机名称>1.

注意:此命令仅删除虚拟机配置,不删除磁盘文件。

2. 虚拟机资源管理

(1) 查看虚拟机信息

复制
virsh dominfo <虚拟机名称>1.

输出信息包括 ID、状态、内存、CPU 等。

(2) 获取虚拟机的 XML 配置

复制
virsh dumpxml <虚拟机名称> virsh dumpxml my-vm > my-vm.xml1.2.3.

(3) 编辑虚拟机的 XML 配置

复制
virsh edit <虚拟机名称>1.

使用系统默认编辑器打开虚拟机的 XML 文件进行编辑。

(4) 定义新虚拟机

复制
virsh define <XML配置文件>1.

(5) 调整虚拟机内存

复制
virsh setmem <虚拟机名称> <内存大小>[K|M|G] virsh setmem my-vm 2G1.2.3.

(6) 调整虚拟机 CPU

复制
virsh setvcpus <虚拟机名称> <CPU数量> --config1.

--config:永久更改。

3. 存储管理

(1) 查看存储池

复制
virsh pool-list --all1.

(2) 创建存储池

复制
virsh pool-create <XML配置文件> virsh pool-create pool.xml1.2.3.

(3) 查看存储卷

复制
virsh vol-list <存储池名称> virsh vol-list default1.2.3.

(4) 创建存储卷

复制
virsh vol-create <存储池名称> <XML配置文件> virsh vol-create default volume.xml1.2.3.
4. 网络管理

(1) 列出网络

复制
virsh net-list --all1.

(2) 创建网络

复制
virsh net-create <XML配置文件>1.

(3) 删除网络

复制
virsh net-destroy <网络名称> virsh net-undefine <网络名称>1.2.
5. 快照管理

(1) 创建快照

复制
virsh snapshot-create-as <虚拟机名称> <快照名称> --description "<描述>"1.

(2) 恢复快照

复制
virsh snapshot-revert <虚拟机名称> <快照名称>1.
6. 镜像管理

(1) 创建磁盘镜像

复制
qemu-img create -f qcow2 <镜像路径> <大小> qemu-img create -f qcow2 /var/lib/libvirt/images/my-vm.qcow2 20G1.2.3.

(2) 查看镜像信息

复制
qemu-img info <镜像路径>1.
7. 虚拟机控制台

(1) 连接到虚拟机控制台

复制
virsh console <虚拟机名称>1.

退出控制台:按 Ctrl + ]。

8. 性能监控

(1) 查看实时性能

复制
virsh domstats <虚拟机名称>1.

(2) 查看虚拟机的 VCPU 信息

复制
virsh vcpuinfo <虚拟机名称>1.

(3) 查看虚拟机 I/O 信息

复制
virsh blkstat <虚拟机名称>1.

查看帮助信息:

复制
virsh help virsh help <命令>1.2.

这些命令适用于大多数 KVM 管理场景,配合 virt-manager 等图形化工具,可以更高效地管理 KVM 虚拟化环境。

阅读剩余
THE END