虚拟化KVM常用命令汇总

艺帆风顺 发布于 2025-04-07 16 次阅读


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

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

1. 虚拟机基本操作

1.1 查看虚拟机列表

virsh list --all

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

1.2 启动虚拟机

virsh start 

1.3 关闭虚拟机

virsh shutdown 

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

1.4 强制关闭虚拟机

virsh destroy 

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

1.5 重启虚拟机

virsh reboot 

等效:shutdown + start。

1.6 挂起和恢复虚拟机

挂起虚拟机:

virsh suspend 

恢复挂起的虚拟机:

virsh resume 

1.7 删除虚拟机

virsh undefine 

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

2. 虚拟机资源管理

2.1 查看虚拟机信息

virsh dominfo 

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

2.2 获取虚拟机的 XML 配置

virsh dumpxml 

virsh dumpxml my-vm > my-vm.xml

2.3 编辑虚拟机的 XML 配置

virsh edit 

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

2.4 定义新虚拟机

virsh define 

2.5 调整虚拟机内存

virsh setmem [K|M|G]

virsh setmem my-vm 2G

2.6 调整虚拟机 CPU

virsh setvcpus --config

--config:永久更改。

3. 存储管理

3.1 查看存储池

virsh pool-list --all

3.2 创建存储池

virsh pool-create 

virsh pool-create pool.xml

3.3 查看存储卷

virsh vol-list 

virsh vol-list default

3.4 创建存储卷

virsh vol-create 

virsh vol-create default volume.xml

4. 网络管理

4.1 列出网络

virsh net-list --all

4.2 创建网络

virsh net-create 

4.3 删除网络

virsh net-destroy 
virsh net-undefine

5. 快照管理

5.1 创建快照

virsh snapshot-create-as --description ""

5.2 恢复快照

virsh snapshot-revert 

6. 镜像管理

6.1 创建磁盘镜像

qemu-img create -f qcow2 

qemu-img create -f qcow2 /var/lib/libvirt/images/my-vm.qcow2 20G

6.2 查看镜像信息

qemu-img info 

7. 虚拟机控制台

7.1 连接到虚拟机控制台

virsh console 

退出控制台:按 Ctrl + ]。

8. 性能监控

8.1 查看实时性能

virsh domstats 

8.2 查看虚拟机的 VCPU 信息

virsh vcpuinfo 

8.3 查看虚拟机 I/O 信息

virsh blkstat 

查看帮助信息

virsh help
virsh help 

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