KVM 虚拟机 virsh 日常管理命令速查表

功能 命令示例 说明
查看列表 virsh list --all 显示所有虚拟机及状态
开机 virsh start 启动虚拟机
关机 virsh shutdown 正常关机(ACPI 信号)
拔电源关机 virsh destroy 强制关闭(相当于断电)
重启 virsh reboot 重启虚拟机
导出配置 virsh dumpxml > vm1.xml 导出虚拟机 XML 配置文件
删除虚拟机 virsh undefine 删除虚拟机定义(不删磁盘)
导入配置 virsh define 通过 XML 导入虚拟机配置
修改配置 virsh edit 编辑虚拟机配置(vim 编辑)
挂起 virsh suspend 暂停虚拟机
恢复 virsh resume 恢复挂起的虚拟机
开机自启 virsh autostart 设置开机自启
控制台登录 virsh console 进入虚拟机控制台


Note

实验案例:CentOS8 下使用 virsh 管理 KVM 虚拟机

一、实验环境


二、实验目标

通过 virsh 命令对虚拟机进行日常管理,包括虚拟机的创建、启动、关机、配置修改、导出导入、控制台操作等。


三、实验步骤

1. 创建一台虚拟机(准备实验对象)

virt-install --name=centos8 --vcpus=1 --memory=1024 --disk path=/var/lib/libvirt/images/centos1.raw,size=10,format=raw --cdrom=/opt/CentOS-7-x86_64-Minimal-2207-02.iso --network network=default,model=virtio --os-variant=centos7.0 --graphics vnc,port=5900,listen=0.0.0.0 --noautoconsole

安装完成后有一台名为 centos8 的虚拟机。


2. 查看虚拟机列表

virsh list --all

结果示例:

 Id   Name       State
--------------------------------
 -    centos8    shut off

3. 启动与关机

# 启动虚拟机
virsh start centos8

# 正常关机
virsh shutdown centos8

# 强制关机(拔电源)
virsh destroy centos8

4. 重启虚拟机

virsh reboot centos8

5. 导出与导入配置

# 导出 XML 配置
virsh dumpxml centos8 > centos8.xml

# 删除虚拟机定义(不删除磁盘)
virsh undefine centos8

# 重新导入虚拟机配置
virsh define centos8.xml

6. 修改配置

virsh edit centos8

会打开 vim,可以修改内存大小、CPU 数量、磁盘、网络等配置。


7. 挂起与恢复

# 挂起虚拟机
virsh suspend centos8

# 恢复运行
virsh resume centos8

8. 设置开机自启

virsh autostart centos8
virsh autostart --disable centos8

9. 控制台登录

修改centos7的内核

grubby --update-kernel=ALL --args="console=ttyS0,115200n8"
reboot
virsh console centos8

如果虚拟机启用了 ttyS0 串口控制台,可以直接进入登录界面;退出方式:Ctrl + ]


四、实验总结

通过本实验,你已经掌握了: