CentOS 7安装KVM虚拟机教程
时间:2026-04-24 23:09:47 157浏览 收藏
本文详细介绍了在CentOS 7系统上从零搭建企业级KVM虚拟化环境的完整实践路径,涵盖CPU虚拟化能力验证、KVM内核模块加载、libvirt服务部署、桥接网络配置、专用存储池创建及基于HTTP源的自动化虚拟机安装等核心环节,步骤清晰、命令可直接复用,特别适合运维工程师和系统管理员快速构建稳定、高性能且易于管理的生产级虚拟化平台。

如果您计划在CentOS 7系统上部署KVM虚拟化环境以支撑企业级应用,需确认硬件支持、内核模块加载、网络桥接配置及虚拟机创建等关键环节均正确就绪。以下是完成该目标的具体操作路径:
一、验证CPU虚拟化支持并启用KVM内核模块
KVM依赖于Intel VT-x(vmx标志)或AMD-V(svm标志)硬件辅助虚拟化能力,且必须由内核模块kvm与kvm-intel/kvm-amd提供运行时支持。缺失任一条件将导致libvirtd服务无法启动或虚拟机创建失败。
1、执行命令检查CPU是否具备虚拟化扩展:
grep -E '(vmx|svm)' /proc/cpuinfo
2、若无输出,需进入BIOS/UEFI界面启用Intel Virtualization Technology或SVM Mode
3、加载KVM核心模块:
modprobe kvm
modprobe kvm-intel
4、验证模块是否成功载入:
lsmod | grep -E 'kvm|kvm-intel'
5、确认/dev/kvm设备节点存在且可被libvirt访问:
ls -l /dev/kvm
二、安装KVM基础组件与管理工具
需同时安装QEMU后端、libvirt管理框架、virt-install命令行工具及可选的图形化管理界面,确保虚拟机生命周期管理功能完整可用。
1、运行yum命令一次性安装全部必需包:
yum -y install qemu-kvm libvirt virt-install bridge-utils virt-manager libvirt-client python-virtinst
2、如需通过图形界面操作,额外安装X Window System与字体支持:
yum groupinstall "X Window System"
yum install dejavu-lgc-sans-fonts
3、启动并设为开机自启libvirtd服务:
systemctl start libvirtd
systemctl enable libvirtd
4、验证libvirt守护进程状态:
systemctl status libvirtd | grep Active
三、配置桥接网络使虚拟机直连物理网络
桥接模式让虚拟机获得与宿主机同网段的独立IP地址,实现与局域网内其他设备无障碍通信,是企业生产环境中最常用且推荐的网络方案。
1、进入网络脚本目录:
cd /etc/sysconfig/network-scripts/
2、复制当前活动网卡配置为桥接接口模板(以ens33为例):
cp ifcfg-ens33 ifcfg-br0
3、编辑ifcfg-br0,设置为Bridge类型并填写静态IP参数:
DEVICE=br0
TYPE=Bridge
BOOTPROTO=static
IPADDR=192.168.1.100
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
ONBOOT=yes
4、修改原网卡ifcfg-ens33,仅保留以下字段:
DEVICE=ens33
TYPE=Ethernet
ONBOOT=yes
BRIDGE=br0
5、重启网络服务生效配置:
systemctl restart network
6、使用ip addr show确认br0已获取IP且ens33处于UP状态但无IP地址分配
四、创建专用存储池并准备虚拟磁盘镜像
将虚拟机磁盘文件集中存放在独立挂载点(如/kvm_data),可提升I/O性能、便于备份迁移,并避免占用系统根分区空间。
1、新增一块未格式化磁盘(例如/dev/sdb),执行分区与格式化:
fdisk /dev/sdb(创建主分区/dev/sdb1)
mkfs.ext4 /dev/sdb1
2、创建挂载目录并临时挂载:
mkdir -p /kvm_data
mount /dev/sdb1 /kvm_data
3、写入fstab实现开机自动挂载:
echo "/dev/sdb1 /kvm_data ext4 defaults 0 0" >> /etc/fstab
4、创建qcow2格式稀疏磁盘镜像(预分配元数据以提升性能):
qemu-img create -f qcow2 -o preallocation=metadata /kvm_data/centos7-vm.img 40G
5、验证镜像完整性:
qemu-img info /kvm_data/centos7-vm.img
五、使用virt-install命令行创建虚拟机
通过virt-install可全自动完成从网络引导、操作系统安装到初始配置的全过程,无需图形界面介入,适合批量部署与脚本集成场景。
1、执行以下命令启动基于HTTP源的CentOS 7文本安装:
virt-install \\
--name centos7-prod \\
--ram 4096 \\
--vcpus 2 \\
--disk path=/kvm_data/centos7-vm.img,format=qcow2 \\
--os-type linux \\
--os-variant rhel7 \\
--network bridge=br0 \\
--graphics none \\
--console pty,target_type=serial \\
--location 'http://mirrors.aliyun.com/centos/7/os/x86_64/' \\
--extra-args 'console=ttyS0,115200n8 serial'
2、安装过程中通过virsh console centos7-prod连接串口控制台完成交互式配置
3、安装完成后关闭虚拟机:
virsh shutdown centos7-prod
4、设置开机自启:
virsh autostart centos7-prod
理论要掌握,实操不能落!以上关于《CentOS 7安装KVM虚拟机教程》的详细介绍,大家都掌握了吧!如果想要继续提升自己的能力,那么就来关注golang学习网公众号吧!
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
393 收藏
-
157 收藏
-
170 收藏
-
276 收藏
-
497 收藏
-
258 收藏
-
454 收藏
-
214 收藏
-
184 收藏
-
267 收藏
-
246 收藏
-
253 收藏
-
- 前端进阶之JavaScript设计模式
- 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
- 立即学习 543次学习
-
- GO语言核心编程课程
- 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
- 立即学习 516次学习
-
- 简单聊聊mysql8与网络通信
- 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
- 立即学习 500次学习
-
- JavaScript正则表达式基础与实战
- 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
- 立即学习 487次学习
-
- 从零制作响应式网站—Grid布局
- 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
- 立即学习 485次学习