KVM虚拟化实战|CentOS‑Stream8 两种安装方式+模板制作+基础使用

KVM虚拟化实战|CentOS‑Stream8 两种安装方式+模板制作+基础使用

前言

前面我们学习了KVM虚拟化理论,知道KVM是Linux内核内置的虚拟化模块。想要动手做KVM实验,有两种部署思路:

  1. 安装系统时直接选择Virtualization Host虚拟化主机环境,系统安装完毕KVM就已经就绪;
  2. 最小化安装系统后,通过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新建虚拟机

  1. 打开VMware Workstation,点击【创建新的虚拟机】
  2. 配置类型选择 自定义(高级) ,硬件兼容性保持默认Workstation 17.5.x
  3. 安装来源选择 稍后安装操作系统
  4. 客户机操作系统:Linux,版本选择CentOS 8 64位
  5. 虚拟机名称:KVM1,选择本地存放路径
  6. 处理器:4个处理器内核;内存分配8192MB(8G)
  7. 网络类型:NAT模式
  8. I/O控制器:默认LSI Logic(推荐)
  9. 磁盘类型:NVMe(推荐),创建新虚拟磁盘,磁盘大小100GB
  10. 进入【自定义硬件】
    • 处理器 → 勾选:虚拟化 Intel VT‑x/EPT or AMD‑V/RVI(嵌套虚拟化必开!)
    • CD/DVD设备,加载CentOS‑Stream‑8 ISO镜像文件
  11. 点击完成,开启此虚拟机。

步骤2:CentOS‑Stream‑8系统安装

  1. 启动虚拟机,菜单选择Install CentOS Stream 8
  2. 语言选择英文,点击Continue
  3. Installation Destination:磁盘直接默认自动分区,点击Done
  4. Time & Date:时区设置为Asia‑Shanghai上海
  5. Network & Host Name:打开网卡开关,DHCP自动获取IP
  6. Software Selection(重点) :基础环境选择 Virtualization Host(虚拟化主机)

选择该环境,系统安装过程自动把kvm、qemu、libvirt全套组件部署完成。

  1. Root Password:设置root管理员密码
  2. 全部配置完成,点击Begin Installation开始安装系统。
  3. 安装结束,点击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源(光盘作为源)

  1. 虚拟机设置CD/DVD挂载CentOS‑Stream8 ISO镜像。

  2. 登录root,查看光盘设备:

    lsblk

可以看到光盘设备名为sr0。

  1. 将光盘挂载到/mnt目录

    mount /dev/sr0 /mnt

  2. 清理原有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
  1. 重建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 创建模板虚拟机硬件

  1. 新建虚拟机,命名CentOS‑Stream‑8‑template
  2. CPU:4核,内存4GB,磁盘200GB,网络NAT模式;
  3. CD/DVD挂载CentOS‑Stream‑8 ISO镜像;
  4. 处理器选项开启嵌套虚拟化VT‑x。

3.3 操作系统安装

  1. 启动虚拟机,Install CentOS Stream 8
  2. 语言英文;磁盘自动分区;时区改为上海;网卡开启DHCP;
  3. Software Selection选择Server基础环境;
  4. 设置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虚拟网络

小结

  1. KVM有两种安装途径:系统安装阶段选择Virtualization Host软件组,或者装好系统后yum安装Virtualization*软件包组。
  2. VMware嵌套KVM,处理器设置必须勾选虚拟化Intel VT‑x,否则KVM无法工作。
  3. 制作实验模板虚拟机一定要清理ssh_host_*密钥、machine‑id,否则克隆多台主机出现网络、SSH冲突。
  4. 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 虚拟化实验。

相关推荐
HideF1 小时前
Linux
linux·服务器·网络
万联WANFLOW2 小时前
海外网络故障怎么排查?Cloudflare 三季度断网报告解读与 mtr 实战
运维·网络·故障分析
Ruiery3 小时前
Linux 6.6内核内存管理深度解析(十三):slab/slub 分配器
linux·运维·服务器
乌恩大侠4 小时前
从 AI-RAN 到 AI Agent:基于 NVIDIA Nemotron 构建 5G/6G 智能网络故障诊断系统
服务器·人工智能·5g·o-ru·ai-ran·电信大模型
Decay__5 小时前
04_MySQL DBA 日常运维手册 —— 会话管理、锁与阻塞、事务监控、慢查询与日志巡检
运维·数据库·sql·mysql·架构
丰锋ff6 小时前
压缩命令笔记
linux
江华森6 小时前
数据中心基础设施运维实战:概述与实验环境搭建
运维
迪菲赫尔曼6 小时前
【基础篇 11】把官方源码放到服务器:版本、解压层级和安装位置,一次弄清楚
运维·服务器·开发语言·人工智能·python·yolo·目标检测
GeW7 小时前
产业新优势基础软件的人才底盘,从Linux与数据库开始
linux·数据库
by209997 小时前
Linux GCC/G++ 编译与 Makefile 构建
linux·运维·服务器·经验分享