KVM 虚拟化环境
文章目录
- KVM 虚拟化环境
- 虚拟化技术核心基础
- 1. 核心术语解析
- 2. 虚拟化的 4 个核心优势
- VMware Workstation 网络配置
- KVM 两种安装方式(基于 CentOS Stream 8)
- 前置:创建 CentOS Stream 8 虚拟机(VMware Workstation 17.5.x)
- 方式 1:系统自带方式(简单高效,适合快速部署)
- 步骤 1:安装 CentOS Stream 8 并勾选虚拟化组件
- 步骤 2:验证 KVM 安装成功
- 方式 2:YUM 安装方式(灵活可控,适合自定义配置)
- 步骤 1:安装纯净 CentOS Stream 8
- 步骤 2:配置本地 YUM 源(依赖 ISO 镜像)
- 步骤 3:YUM 安装 KVM 组件
- 四、两种安装方式对比与避坑指南
- 1. 方式对比
- 2. 避坑指南(新手必看!)
KVM 虚拟化环境
在云计算和运维领域,虚拟化技术是提升硬件资源利用率、实现环境隔离的核心手段。KVM(Kernel-based Virtual Machine)作为 Linux 内核原生的开源虚拟化方案,凭借轻量、高效、与 Linux 系统深度融合的优势,成为企业级虚拟化的热门选择。而 VMware Workstation 则是搭建本地实验环境的常用工具 —— 今天我们就以CentOS Stream 8为基础,结合虚拟化技术原理、VMware 网络配置,详细拆解 KVM 的两种安装方式,帮你从零掌握 KVM 环境搭建。
虚拟化技术核心基础
在动手安装前,我们需要明确几个关键概念,避免后续操作 “知其然不知其所以然”(内容源自《虚拟化技术.pdf》)。
1. 核心术语解析
- 物理机(Host Machine):我们实际操作的电脑 / 服务器,是虚拟化环境的 “载体”;
- 虚拟机(Guest Machine):在物理机上通过软件模拟的独立计算机,拥有自己的 “虚拟硬件”(CPU、内存、磁盘等);
- Hypervisor(虚拟机监控机):介于物理机硬件和虚拟机之间的软件层,负责资源分配与隔离,KVM 就是一种 Hypervisor;
- 硬件辅助虚拟化:当前主流的虚拟化技术,依赖 CPU 支持(Intel 的 VT-x 指令集、AMD 的 AMD-V 指令集),无需修改虚拟机操作系统,兼顾兼容性与性能(文档明确 “目前全部使用硬件辅助虚拟化”)。
2. 虚拟化的 4 个核心优势
- 分区:一台物理机可同时运行多台虚拟机,每个虚拟机对应独立操作系统(如 CentOS、Ubuntu),提升硬件利用率;
- 隔离:虚拟机间互不影响 —— 哪怕一台虚拟机蓝屏或中病毒,其他虚拟机正常运行;
- 封装:虚拟机的所有配置(硬件、系统状态)都储存在独立文件中,复制 / 迁移只需拷贝文件;
- 硬件独立:虚拟机不依赖特定物理硬件,在不同 x86 服务器上无需修改即可运行。
VMware Workstation 网络配置
安装 KVM 前,我们需要用 VMware 创建 CentOS 虚拟机,而网络模式选择直接影响后续虚拟机联网与 KVM 子机通信(内容源自《vmware workstation 网络讲解.docx》)。
VMware 提供 3 种核心网络模式,我们安装 KVM 时选择NAT 模式(适合测试环境,无需手动分配局域网 IP),先对比清楚 3 种模式的差异:
网络模式 | 原理 | 适用场景 | 关键配置(以文档推荐网段为例) |
---|---|---|---|
桥接模式(VMnet0) | 虚拟机通过虚拟网桥直接连接主机网卡,相当于 “独立物理机”,需与主机同网段 | 需外部设备访问虚拟机(如生产环境) | 虚拟机 IP 与主机同网段(如主机 192.168.1.101,虚拟机 192.168.1.105) |
NAT 模式(VMnet8) | 虚拟机通过虚拟 NAT 设备共享主机 IP 联网,外部无法直接访问虚拟机 | 测试环境、无需独立 IP | 虚拟机网段 192.168.80.0,DHCP 自动分配 IP(如 192.168.80.128-254) |
仅主机模式(VMnet1) | 虚拟机仅与主机通信,无法联网(需手动共享主机网卡才能联网) | 纯内网测试、无需外部联网 | 虚拟机网段 192.168.10.0,仅主机可访问 |
**为什么选 NAT 模式?**无需手动配置 IP、网关,虚拟机可自动联网(方便后续安装依赖),且不会占用局域网真实 IP,适合本地实验环境 —— 这也是我们安装 KVM 时的默认选择。
KVM 两种安装方式(基于 CentOS Stream 8)
无论是哪种方式,前置步骤(创建 VMware 虚拟机)完全一致,先统一完成这部分操作,再分方式安装 KVM。
前置:创建 CentOS Stream 8 虚拟机(VMware Workstation 17.5.x)
- 新建虚拟机向导:选择 “自定义(高级)”(推荐高级配置,方便后续调整硬件);
- 硬件兼容性:默认 “Workstation 17.5.x”(兼容主流设备);
- 操作系统选择:勾选 “稍后安装操作系统”→客户机系统 “Linux”→版本 “CentOS 8 64 位”;
- 命名与存储:虚拟机名 “KVM1”,存储路径建议选非系统盘;
- 硬件配置
- 处理器:“处理器数量 1”,“每个处理器的内核数量 4”(总数 4 核,满足 KVM 资源需求);
- 内存:8192MB(8G,避免内存不足导致虚拟机卡顿);
- 网络类型:“使用网络地址转换(NAT)”;
- I/O 控制器:“LSI Logic(推荐)”;
- 虚拟磁盘:“NVMe(推荐)”→“创建新虚拟磁盘”→容量 100GB→“将虚拟磁盘拆分成多个文件”(方便迁移);
- 启用虚拟化引擎:点击 “自定义硬件”→“处理器”→勾选 “虚拟化 Intel VT-x/EPT 或 AMD-V/RV”(硬件辅助虚拟化的关键,不勾 KVM 无法启动!);
- 挂载系统镜像:“新 CD/DVD(IDE)”→“使用 ISO 映像文件”→选择 CentOS Stream 8 的 ISO 文件;
- 点击 “完成”,虚拟机创建完成。
方式 1:系统自带方式(简单高效,适合快速部署)
核心逻辑:CentOS Stream 8 安装镜像内置了 KVM 相关软件包,安装系统时直接勾选 “虚拟化主机” 组件,无需后续手动安装。
步骤 1:安装 CentOS Stream 8 并勾选虚拟化组件
- 启动虚拟机,选择 “Install CentOS Stream 8”;
- 语言选择:默认 “English”,点击 “Continue”;
- 关键配置:
- 时间与日期:时区搜索 “Shanghai”,设置正确时间;
- 安装位置:默认选中 100GB NVMe 磁盘,选择 “自动分区”;
- 网络与主机名:点击 “Network & Host Name”→开启网卡,系统自动获取 NAT 模式 IP;
- 软件选择(核心!):点击 “Software Selection”→左侧 “Base Environment” 选择 “Virtualization Host”;
- Root 密码:点击 “Root Password”→设置密码;
- 所有配置完成后,点击 “Begin Installation”,等待安装完成;
- 安装完成后,点击 “Reboot System” 重启虚拟机。
步骤 2:验证 KVM 安装成功
-
重启后,用 Root 账号登录;
-
执行验证命令:
virsh version
; -
若输出以下内容,说明安装成功:
[root@localhost ~]# 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
方式 2:YUM 安装方式(灵活可控,适合自定义配置)
核心逻辑:先安装纯净 CentOS 系统,再通过 “本地 ISO 镜像” 配置 YUM 源,手动安装 KVM 组件。
步骤 1:安装纯净 CentOS Stream 8
- 启动虚拟机,选择 “Install CentOS Stream 8”,语言、时区、安装位置、网络配置与 “方式 1” 一致;
- 关键差异:“Software Selection” 选择 “Minimal Install”(最小化安装,仅保留基础系统,不预装虚拟化组件);
- 设置 Root 密码,点击 “Begin Installation”,完成后重启。
步骤 2:配置本地 YUM 源(依赖 ISO 镜像)
因为是最小化安装,系统没有默认 YUM 源,需通过挂载 ISO 镜像配置本地源(避免联网依赖):
-
登录 Root 账号,先查看 ISO 镜像是否已挂载:执行
lsblk
,若看到 “sr0”(光盘设备),说明已挂载; -
若未挂载,执行挂载命令:
mount /dev/sr0 /mnt
; -
备份并删除默认 YUM 源:
cd /etc/yum.repos.d/ # 进入YUM源配置目录 rm -rf * # 删除所有默认repo文件
-
创建本地 YUM 源配置文件:
vim dvd.repo
(用 vim 编辑,输入以下内容);
[AppStream] name=AppStream # 源名称 baseurl=file:///mnt/AppStream # 源路径(ISO中的AppStream目录) enabled=1 # 启用该源 gpgcheck=0 # 关闭GPG校验(本地源无需校验)[BaseOS] name=BaseOS # 源名称 baseurl=file:///mnt/BaseOS # 源路径(ISO中的BaseOS目录) enabled=1 # 启用该源 gpgcheck=0 # 关闭GPG校验
-
保存退出:按
Esc
,输入:wq
(保存并退出 vim); -
清理并生成 YUM 缓存:
yum clean all # 清理旧缓存 yum makecache # 生成新缓存(加载本地源)
步骤 3:YUM 安装 KVM 组件
-
执行安装命令(安装所有虚拟化相关组件):
yum group install "Virtualization*" -y # "-y"表示自动确认安装
-
安装完成后,关机并拍摄快照(可选但推荐):执行
poweroff
关机→在 VMware 中右键 “KVM1”→“快照”→“拍摄快照”→名称 “kvm ok”; -
重启虚拟机,执行
virsh version
验证。
四、两种安装方式对比与避坑指南
1. 方式对比
对比维度 | 方式 1(系统自带) | 方式 2(YUM 安装) |
---|---|---|
操作复杂度 | 简单(安装系统时勾选即可) | 稍复杂(需配置 YUM 源、手动安装) |
灵活性 | 低(依赖系统内置包,无法自定义) | 高(可修改 YUM 源,选择安装组件) |
适用场景 | 快速部署、测试环境 | 自定义配置、生产环境前置准备 |
依赖 | 安装镜像内置源 | 本地 ISO 镜像(无需联网) |
2. 避坑指南(新手必看!)
- 坑 1:忘记启用虚拟化引擎症状:KVM 无法启动,执行
virsh version
报错。解决:在 VMware “自定义硬件”→“处理器” 中,务必勾选 “虚拟化 Intel VT-x/EPT 或 AMD-V/RV”(需 CPU 支持,可通过 LeoMoon CPU-V 工具验证)。 - 坑 2:YUM 源配置错误症状:方式 2 中
yum makecache
报错,无法安装组件。解决:检查dvd.repo
中的baseurl
路径是否正确(必须是file:///mnt/AppStream
和file:///mnt/BaseOS
),且 ISO 已挂载到/mnt
。 - 坑 3:网络模式选错导致无法联网症状:虚拟机无法获取 IP,
ping baidu.com
失败。解决:确认网络模式为 “NAT”,且在 CentOS 中已开启网卡(nmcli connection up ens160
,ens160 为网卡名,可通过ip addr
查看)。