×

KVM虚拟机完整操作指南

hqy hqy 发表于2026-02-26 21:22:09 浏览5 评论0

抢沙发发表评论

KVM虚拟机完整操作指南

一、环境准备与检查

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

首先需要确认CPU是否支持虚拟化技术,输入以下命令,如果输出包含vmx(Intel处理器)或svm(AMD处理器),则表示支持虚拟化:

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

2. 查看KVM模块是否加载

检查KVM模块是否已正确加载:

lsmod | grep kvm
# 正常输出类似:
# kvm_intel             170086  0 
# kvm                   566340  1 kvm_intel
# irqbypass              13503  1 kvm

二、KVM安装与配置

3. 安装KVM相关组件

在CentOS 7系统上执行以下命令安装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:命令行安装虚拟机工具
  • virt-viewer:虚拟机显示工具

注:本文基于CentOS 7最小化安装环境,未安装GUI组件。

4. 启动并启用KVM服务

systemctl enable --now libvirtd
systemctl status libvirtd

三、虚拟机管理操作

5. 创建虚拟机

使用以下命令创建一个基于CentOS 7的虚拟机:

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 destroy njvm01   # 强制停止虚拟机
virsh undefine njvm01  # 删除虚拟机配置

10. 为虚拟机添加磁盘

# 1. 创建新磁盘镜像
qemu-img create -f qcow2 web-add.qcow2 20G  

# 2. 临时添加磁盘(重启后失效)
virsh attach-disk web /opt/web-add.qcow2 vdb --subdriver qcow2  

# 3. 永久添加磁盘(重启后仍然有效)       
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. 查看快照列表

virsh snapshot-list centos7 

14. 还原快照

virsh snapshot-revert centos7 centos7_init 

五、虚拟机资源调整

15. 扩容虚拟机内存

修改虚拟机内存大小(修改前需关闭虚拟机):

# 1. 先设置最大内存限制(如果需要)
virsh setmaxmem centos7 16G --config

# 2. 然后设置实际内存大小
virsh setmem centos7 16G --config

注意事项

  1. 操作前请确保系统已正确安装并启动libvirtd服务
  2. 创建虚拟机时需准备好系统ISO镜像文件
  3. 执行危险操作(如删除虚拟机)前请确认操作对象,避免误操作
  4. 对于生产环境,建议定期创建快照以备份重要数据


打赏

本文链接:https://www.kinber.cn/post/6278.html 转载需授权!

分享到:


推荐本站淘宝优惠价购买喜欢的宝贝:

image.png

 您阅读本篇文章共花了: 

群贤毕至

访客