KVM虚拟机命令行常用操作及说明

 更新时间:2026年03月03日 09:15:00   作者:文静小土豆  
文章详细介绍了在CentOS 7上安装和配置KVM虚拟机的步骤,包括验证虚拟化支持、安装KVM相关软件、创建和启动虚拟机、设置虚拟机参数、克隆虚拟机、快照管理以及扩容内存等操作

1.首先验证CPU是否支持虚拟化

输入有vmx或svm就支持,支持虚拟化则就支持KVM

 cat /proc/cpuinfo | egrep 'vmx|svm'

2.查看KVM模块是否加载

lsmod | grep kvm
# kvm_intel             170086  0 
# kvm                   566340  1 kvm_intel
# irqbypass              13503  1 kvm

3.安装KVM虚拟机

yum -y install qemu-kvm qemu-img libvirt libvirt-python  libvirt-client virt-install virt-viewer
  • qemu-kvm: KVM模块
  • libvirt: 虚拟管理模块
  • virt-manager: 图形界面管理虚拟机
  • virt-install: 虚拟机命令行安装工具

我的centos7 系统是最小安装的没有安装GUI所以没有安装KVM图形管理程序

4.启动KVM虚拟机

systemctl enable --now libvirtd
systemctl status libvirtd

5.创建虚拟机

virt-install --virt-type=kvm --name=centos7 --vcpus=4 --memory=1024 --location=/data/iso/CentOS-7-x86_64-Minimal-2009.iso --disk path=/var/lib/libvirt/images/centos7.qcow2,size=30,format=qcow2 --network bridge=virbr0 --graphics none  --extra-args='console=ttyS0' --force

如有以下报错修改:/etc/libvirt/qemu.conf

## 直接在文件最后面添加即可
echo 'user = "root"
group = "root"
dynamic_ownership = 0 ' >> /etc/libvirt/qemu.conf

# 重启 libvirtd 服务
systemctl restart libvirtd
systemctl status libvirtd

报错:

[root@wangweili ~]# virt-install --virt-type=kvm --name=centos7.9 --vcpus=4 --memory=2048 --location=/root/wangwl/CentOS-7-x86_64-Minimal-2009.iso --disk path=/var/lib/libvirt/images/centos7.qcow2,size=30,format=qcow2 --network bridge=virbr0 --graphics none  --extra-args='console=tty0 console=ttyS0,115200n8 serial' --force 
WARNING  未检测到操作系统,虚拟机性能可能会受到影响。使用 --os-variant 选项指定操作系统以获得最佳性能。

开始安装......
搜索文件 .treeinfo......                                                                                                                               |  354 B  00:00:00     
搜索文件 vmlinuz......                                                                                                                                 | 6.5 MB  00:00:00     
搜索文件 initrd.img......                                                                                                                              |  53 MB  00:00:00     
正在分配 'centos7.qcow2'                                                                                                                               |  30 GB  00:00:00     
ERROR    内部错误:qemu unexpectedly closed the monitor: 2023-06-28T07:40:12.582803Z qemu-kvm: -drive file=/root/wangwl/CentOS-7-x86_64-Minimal-2009.iso,format=raw,if=none,id=drive-ide0-0-1,readonly=on: could not open disk image /root/wangwl/CentOS-7-x86_64-Minimal-2009.iso: Could not open '/root/wangwl/CentOS-7-x86_64-Minimal-2009.iso': Permission denied
正在删除磁盘 'centos7.qcow2'                                                                                                                         |    0 B  00:00:00     
域安装失败,您可以运行下列命令重启您的域:
'virsh start virsh --connect qemu:///system start centos7.9'
否则请重新开始安装。

6.设置虚拟机的启动停止等等

virsh console xxx # 进入指定的虚拟机,进入的时候还需要按一下回车
virsh start xxx # 启动虚拟机
virsh shutdown xxx # 关闭虚拟机
virsh destroy xxx # 强制停止虚拟机
virsh undefine xxx # 彻底销毁虚拟机,会删除虚拟机配置文件,但不会删除虚拟磁盘
virsh autostart xxx # 设置宿主机开机时该虚拟机也开机
virsh autostart --disable xxx # 解除开机启动
virsh suspend xxx # 挂起虚拟机
virsh resume xxx # 恢复挂起的虚拟机
退出虚拟终端,按Ctrl + ]

7.克隆虚拟机

# 使用 virt-clone 克隆新的虚拟机(虚拟机需要先关闭)
virt-clone -o njvm02 -n njvm03 -f /data/kvm-img/njvm03.img

8.克隆完查看 所有的虚拟机以及状态

virsh list --all

9.删除虚拟机

virsh undefine njvm01 
virsh destroy njvm01

10.给虚拟机添加一块磁盘

qemu-img create -f qcow2 web-add.qcow2 20G  

#  临时添加磁盘
virsh attach-disk web /opt/web-add.qcow2 vdb --subdriver qcow2  

# 永久添加磁盘        
virsh attach-disk web /opt/web-add.qcow2 vdb --subdriver qcow2   --config    

11.创建快照

virsh snapshot-create-as centos7 centos7_init

12.删除快照

virsh snapshot-delete centos7 centos7_init

13.查看centos7所有快照

 virsh snapshot-list centos7 

14.还原快照

virsh snapshot-revert centos7 centos7_init 

15.扩容虚拟机内存

一般常用于修改虚拟机的内存大小。

注意修改之前要关闭虚拟机。

修改内存大小配置用以下命令:

virsh setmem centos7 16G --config

有时可能会报错:“错误:无效参数:无法将内存设置为高于最大内存”。

这时用下面命令设置最大内存:

virsh setmaxmem centos7 16G --config

然后再执行第一个命令。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • KVM安装部署全过程

    KVM安装部署全过程

    本文介绍KVM虚拟化技术的架构与原理,阐述其与QEMU的协作机制,涵盖Red Hat Linux下的安装步骤、环境配置及web管理界面部署,重点说明KVM支持硬件加速、资源超分和多种管理工具的集成应用
    2025-09-09
  • kvm 透传显卡至win10虚拟机的方法

    kvm 透传显卡至win10虚拟机的方法

    这篇文章主要介绍了kvm 透传显卡至win10虚拟机,本文通过命令脚本实例代码相结合给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-09-09
  • kvm虚拟化学习笔记(一)之kvm虚拟化环境安装的步骤

    kvm虚拟化学习笔记(一)之kvm虚拟化环境安装的步骤

    这篇文章主要介绍了kvm虚拟化学习笔记(一)之kvm虚拟化环境安装的步骤,非常具有实用价值,需要的朋友可以参考下。
    2016-12-12
  • 详细介绍kvm虚拟机静态和动态迁移(图文介绍)

    详细介绍kvm虚拟机静态和动态迁移(图文介绍)

    本篇文章主要详细介绍kvm虚拟机静态和动态迁移,具有一定的参考价值,有需要的可以了解一下。
    2016-11-11
  • 详解在 KVM 上安装 Win7 虚拟机

    详解在 KVM 上安装 Win7 虚拟机

    这篇文章主要介绍了详解在 KVM 上安装 Win7 虚拟机,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。
    2017-03-03
  • 详解基于KVM的SRIOV直通配置及性能测试

    详解基于KVM的SRIOV直通配置及性能测试

    这篇文章主要介绍了详解基于KVM的SRIOV直通配置及性能测试,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-10-10
  • 详解CentOS7.2部署KVM虚拟机(图文)

    详解CentOS7.2部署KVM虚拟机(图文)

    这篇文章主要介绍了详解CentOS7.2部署KVM虚拟机(图文),小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-02-02
  • 详解基于本地存储的kvm虚拟机在线迁移

    详解基于本地存储的kvm虚拟机在线迁移

    本篇文章主要介绍了基于本地存储的kvm虚拟机在线迁移,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-12-12
  • KVM 虚机镜像扩容和压缩的操作

    KVM 虚机镜像扩容和压缩的操作

    这篇文章主要介绍了KVM 虚机镜像操作中的扩容和压缩问题,通过例子演示了如何将vm_n01.qcow2这个镜像扩容到40G,给大家讲解了使用RAW格式对镜像扩容的问题,需要的朋友可以参考下
    2022-03-03
  • KVM虚拟化Linux Bridge环境部署的方法步骤

    KVM虚拟化Linux Bridge环境部署的方法步骤

    本文主要介绍了KVM虚拟化Linux Bridge环境部署的方法步骤,使虚拟机连接到网络,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-05-05

最新评论