KVM虚拟化实战|CentOS‑Stream8 两种安装方式+模板制作+基础使用
前言
前面我们学习了KVM虚拟化理论,知道KVM是Linux内核内置的虚拟化模块。想要动手做KVM实验,有两种部署思路:
- 安装系统时直接选择
Virtualization Host虚拟化主机环境,系统安装完毕KVM就已经就绪; - 最小化安装系统后,通过yum/dnf软件组安装虚拟化全套组件。
为了后续批量做实验,我们还需要制作一个干净的CentOS‑Stream8模板虚拟机,消除机器ID、SSH密钥,方便克隆多台KVM宿主机。
⚠️ 重要前提:VMware虚拟机里面嵌套KVM,必须开启虚拟化Intel VT‑x/EPT,否则无法启动KVM。
一、实验环境说明
- 宿主机:Windows + VMware Workstation Pro 17
- 虚拟机系统:CentOS‑Stream‑8 x86_64
- 虚拟机硬件配置建议:4核CPU、8G内存、100G磁盘、NAT网络模式
- 网络:VMnet8 NAT网段:
192.168.108.0/24
方式一:安装系统时直接安装KVM(Virtualization Host)
步骤1:VMware新建虚拟机
- 打开VMware Workstation,点击【创建新的虚拟机】
- 配置类型选择 自定义(高级) ,硬件兼容性保持默认
Workstation 17.5.x - 安装来源选择 稍后安装操作系统
- 客户机操作系统:
Linux,版本选择CentOS 8 64位 - 虚拟机名称:
KVM1,选择本地存放路径 - 处理器:4个处理器内核;内存分配8192MB(8G)
- 网络类型:NAT模式
- I/O控制器:默认
LSI Logic(推荐) - 磁盘类型:
NVMe(推荐),创建新虚拟磁盘,磁盘大小100GB - 进入【自定义硬件】
- 处理器 → 勾选:虚拟化 Intel VT‑x/EPT or AMD‑V/RVI(嵌套虚拟化必开!)
- CD/DVD设备,加载CentOS‑Stream‑8 ISO镜像文件
- 点击完成,开启此虚拟机。
步骤2:CentOS‑Stream‑8系统安装
- 启动虚拟机,菜单选择
Install CentOS Stream 8 - 语言选择英文,点击
Continue Installation Destination:磁盘直接默认自动分区,点击DoneTime & Date:时区设置为Asia‑Shanghai上海Network & Host Name:打开网卡开关,DHCP自动获取IP- Software Selection(重点) :基础环境选择
Virtualization Host(虚拟化主机)
选择该环境,系统安装过程自动把kvm、qemu、libvirt全套组件部署完成。
Root Password:设置root管理员密码- 全部配置完成,点击
Begin Installation开始安装系统。 - 安装结束,点击
Reboot System重启。
步骤3:验证KVM是否部署成功
重启后登录root账号,执行命令检查虚拟化组件版本:
bash
virsh version
输出示例(代表部署成功):
Compiled against library:libvirt 8.0.0
Using library:libvirt 8.0.0
Using API:QEMU 8.0.0
Running hypervisor:QEMU 6.2.0
出现
Running hypervisor:QEMU xxx说明KVM hypervisor正常运行。
方式二:最小化安装系统后yum/dnf安装KVM
该方式适合已经装好系统,后期追加虚拟化组件的场景。
步骤1:新建CentOS‑Stream‑8虚拟机
虚拟机创建硬件步骤和【方式一】完全一致,同样需要开启嵌套虚拟化VT‑x。
软件选择不要选Virtualization Host,可以选Server或者最小化安装。
步骤2:系统安装完成后配置本地YUM源(光盘作为源)
-
虚拟机设置CD/DVD挂载CentOS‑Stream8 ISO镜像。
-
登录root,查看光盘设备:
lsblk
可以看到光盘设备名为sr0。
-
将光盘挂载到
/mnt目录mount /dev/sr0 /mnt
-
清理原有repo源文件,创建本地dvd源
cd /etc/yum.repos.d/
rm -rf *
vim dvd.repo
写入下面配置:
[AppStream]
name=AppStream
baseurl=file:///mnt/AppStream
enabled=1
gpgcheck=0
[BaseOS]
name=BaseOS
baseurl=file:///mnt/BaseOS
enabled=1
gpgcheck=0
-
重建yum缓存
yum clean all
yum makecache
步骤3:yum安装虚拟化软件组
yum group install "Virtualization*" -y
该命令会安装kvm内核模块、qemu模拟器、libvirt管理套件、virsh命令行工具全套软件。
步骤4:验证安装结果
virsh version
能正常输出hypervisor版本,说明KVM安装完成。
实验环境建议执行
poweroff关机,拍摄快照保存当前干净状态,方便出错快速回滚。
三、制作CentOS‑Stream‑8实验模板虚拟机
模板虚拟机作用:后续做实验可以直接从模板克隆多台KVM宿主机,避免多台机器SSH冲突、machine‑id重复。模板要清理唯一标识信息。
3.1 VMware虚拟网络配置
打开VMware顶部菜单【编辑】→【虚拟网络编辑器】
- 选择VMnet8(NAT模式),子网IP设置
192.168.108.0,开启DHCP服务。
3.2 创建模板虚拟机硬件
- 新建虚拟机,命名
CentOS‑Stream‑8‑template - CPU:4核,内存4GB,磁盘200GB,网络NAT模式;
- CD/DVD挂载CentOS‑Stream‑8 ISO镜像;
- 处理器选项开启嵌套虚拟化VT‑x。
3.3 操作系统安装
- 启动虚拟机,
Install CentOS Stream 8 - 语言英文;磁盘自动分区;时区改为上海;网卡开启DHCP;
- Software Selection选择
Server基础环境; - 设置root密码;开始安装,完成后重启。
3.4 系统初始化模板清理(重点!克隆前必须操作)
登录root账号,执行下面全套操作:
1)配置阿里yum源(联网环境)
rm -rf /etc/yum.repos.d/*
cat <<EOF > /etc/yum.repos.d/os.repo
[baseos]
name=CentOS Stream 8 - BaseOS
baseurl=https://mirrors.aliyun.com/centos‑vault/8‑stream/BaseOS/x86_64/os/
gpgcheck=0
enabled=1
[appstream]
name=CentOS Stream 8 - AppStream
baseurl=https://mirrors.aliyun.com/centos‑vault/8‑stream/AppStream/x86_64/os/
gpgcheck=0
enabled=1
EOF
dnf clean all
dnf makecache
2)关闭SELinux
sed -i '/^SELINUX=/cSELINUX=disabled' /etc/selinux/config
3)清除SSH主机密钥(克隆机器会重新生成)
cd /etc/ssh/
rm -rf ssh_host_*
4)清空machine‑id,防止多台主机ID冲突
cat /dev/null > /etc/machine‑id
5)关机,拍摄快照
poweroff
VMware菜单:虚拟机 → 快照 → 拍摄快照
快照名称:模板完成
描述:
1.配置阿里yum源
2.关闭selinux
3.清除ssh主机密钥
4.清除machine‑id
5.root密码huawei
之后做实验直接恢复快照,快速得到干净的KVM实验环境。
四、KVM基础常用命令速查
libvirt管理下,虚拟机称为Domain,使用
virsh作为核心命令行工具。
1)查看hypervisor与虚拟机状态
virsh version # 查看kvm/libvirt版本
virsh list # 查看正在运行的虚拟机
virsh list --all # 查看全部虚拟机(含关机)
2)虚拟机生命周期管理
virsh start vm01 # 启动虚拟机
virsh shutdown vm01 # 优雅关机虚拟机
virsh destroy vm01 # 强制断电(相当于拔电源)
virsh reboot vm01 # 重启虚拟机
virsh suspend vm01 # 暂停虚拟机
virsh resume vm01 # 恢复暂停虚拟机
3)虚拟机配置管理
virsh dumpxml vm01 > vm01.xml # 导出虚拟机xml配置文件备份
virsh define vm01.xml # 通过xml文件定义注册虚拟机
virsh undefine vm01 # 删除虚拟机定义(磁盘文件不会自动删除)
virsh edit vm01 # 编辑虚拟机xml配置
4)存储与网络相关
virsh pool‑list --all # 查看存储池
virsh net‑list --all # 查看libvirt虚拟网络
小结
- KVM有两种安装途径:系统安装阶段选择
Virtualization Host软件组,或者装好系统后yum安装Virtualization*软件包组。 - VMware嵌套KVM,处理器设置必须勾选虚拟化Intel VT‑x,否则KVM无法工作。
- 制作实验模板虚拟机一定要清理
ssh_host_*密钥、machine‑id,否则克隆多台主机出现网络、SSH冲突。 virsh是libvirt提供的核心命令行,掌握list/start/shutdown/dumpxml/define等基础命令,完成虚拟机生命周期管理。
摘要
本文是一篇 KVM 虚拟化实战教程,以 CentOS‑Stream 8 为实验系统,系统讲解 KVM 的两种部署方式、实验模板虚拟机制作及基础命令使用。文章首先介绍两种安装思路:一是在系统安装阶段直接选择 Virtualization Host 虚拟化主机环境,安装完毕 KVM 即就绪;二是最小化安装系统后,通过 yum/dnf 软件组安装虚拟化全套组件。随后重点讲解实验模板虚拟机的制作流程,包括 VMware 虚拟网络配置、模板硬件创建、系统安装,以及克隆前必须执行的系统初始化清理(配置阿里 yum 源、关闭 SELinux、清除 SSH 主机密钥、清空 machine‑id、拍摄快照)。最后提供 KVM 基础常用命令速查,涵盖 hypervisor 状态查看、虚拟机生命周期管理、配置管理及存储网络相关操作,帮助读者快速上手 KVM 虚拟化实验。