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 虚拟化实验。

相关推荐
小张同学a.12 分钟前
Docker 容器实战 2—— docker 仓库
linux·运维·服务器·docker·容器
Android系统攻城狮25 分钟前
Linux PipeWire深度解析之pw_core_get_registry调用流程与实战(九十一)
linux·运维·服务器·音频进阶·pipewire音频实战进阶
其实防守也摸鱼25 分钟前
智能体推荐:精选 AI Agent 工具与实战指南
运维·开发语言·人工智能·学习·web安全·自动化
小义_29 分钟前
JDK 深度解析
java·linux·开发语言·python·面试
邪修king31 分钟前
Re:Linux 系统编程篇 (十二):进程篇(一)基础与 fork 系统调用全解
linux·运维·服务器
牢姐与蒯35 分钟前
Linux进程(五).之环境变量
linux·运维·服务器·ubuntu
ZGi.ai35 分钟前
ZGI 文件产物:生成报告后怎样交付
大数据·运维·workflow·权限管理·zgi·智能体交付·文件产物
楠楠子呀1 小时前
号码状态核验:从数据清洗到合规处理的实现思路
运维·自动化
raindayinrain1 小时前
深入理解Linux内核--系统调用,性能优化
linux·性能优化·系统调用·返回值·入参·内核态用户态地址访问