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
注意事项
操作前请确保系统已正确安装并启动libvirtd服务 创建虚拟机时需准备好系统ISO镜像文件 执行危险操作(如删除虚拟机)前请确认操作对象,避免误操作 对于生产环境,建议定期创建快照以备份重要数据
本文链接:https://www.kinber.cn/post/6278.html 转载需授权!
推荐本站淘宝优惠价购买喜欢的宝贝:

支付宝微信扫一扫,打赏作者吧~
