虚拟化实战:KVM 热迁移 + VMware ESXivCenter 实验全记录
虚拟化实战:KVM 热迁移 + VMware ESXi/vCenter 实验全记录
前言
在云计算与虚拟化技术中,虚拟机迁移是保障业务连续性、服务器硬件维护、资源弹性调度的核心能力。 KVM 是开源主流虚拟化方案,ESXi 是企业级商业虚拟化代表。本文基于两套完整实验,带你分别实操KVM 基于 NFS 共享存储的热迁移,以及在 VMware Workstation 模拟环境下部署 ESXi7.0 + vCenter Server (VCSA),理解虚拟化共享存储、虚拟机生命周期、企业虚拟化平台搭建的核心思想。
实验环境说明:全部实验运行在 VMware Workstation Pro 17,使用 NAT 网络,网段规划:
192.168.108.0/24,适合学习、练习虚拟化原理,生产环境需要做硬件、网络、存储的进一步优化。
一、KVM 热迁移实验:业务不中断搬迁虚拟机
什么是热迁移?
热迁移(Live Migration):虚拟机业务运行状态下,从一台宿主机搬迁到另外一台宿主机,业务只产生极短时间的卡顿,不需要关机停机。
✅ 典型生产使用场景
- 服务器硬件维护、版本升级:把主机上所有虚拟机迁移走,再对物理机操作,规避停机风险。
- 节能减排:整合业务到少量服务器,关闭空闲服务器,降低电力消耗。
- 负载均衡:将虚拟机从高负载主机调度到空闲主机,平衡集群资源。
⚠️核心硬性前提:共享存储源宿主机、目标宿主机不能使用本地磁盘存放虚拟机磁盘文件,必须使用 NFS、Ceph RBD、iSCSI 等共享存储。磁盘数据本身不迁移,只迁移虚拟机内存页、CPU 寄存器、设备运行状态。
热迁移内部工作流程
- 目标宿主机创建一台硬件规格完全一致的空虚拟机。
- 迭代拷贝源虚拟机内存:第一轮拷贝全部内存,后续循环拷贝迁移过程中新产生变更的内存脏页;
- 当脏页数据量缩小到阈值,短暂暂停源虚拟机,把剩余少量状态数据迁移完成;
- 在目标主机拉起虚拟机,源主机清理旧虚拟机实例,业务切换完成。
实验环境规划
表格
| 虚拟机 | IP 地址 | 角色 |
|---|---|---|
| KVM1 | 192.168.108.101 | 源 KVM 虚拟化宿主机 |
| KVM2 | 192.168.108.102 | 目标 KVM 虚拟化宿主机 |
| NFS | 192.168.108.100 | NFS 共享存储服务器 |
实验搭建步骤:
- 在 VMware Workstation 对 KVM1 做好快照,通过完整克隆快速生成 KVM2、NFS 三台虚拟机。
注意:不要使用链接克隆,链接克隆虚拟机存在依赖,实验环境容易出现异常。
- 修改主机名、静态 IP,三台机器统一
/etc/hosts域名解析,使用 scp 命令把 hosts 配置批量分发到另外两台机器,保证主机名互通。 - NFS 服务端配置共享目录 编辑
/etc/exports配置共享权限:
/nfs *(rw,no_root_squash,no_subtree_check)启动 nfs‑server 服务,关闭防火墙,使用showmount -e localhost验证共享发布成功。
- KVM1、KVM2 客户端:创建本地挂载目录
/NFS。打开virt‑manager(虚拟机管理器),添加netfs(NFS)类型存储池,对接 NFS 服务器共享目录。两台 KVM 宿主机看到同一套共享存储。 - 在 KVM1 上,选择 NFS 共享存储池创建一台 CentOS7 虚拟机,虚拟机磁盘文件存放在 NFS,不能放在 KVM 本地磁盘。
执行热迁移实操
- KVM1、KVM2 关闭防火墙,避免迁移端口被拦截。
- virt‑manager 图形界面,右键正在运行的虚拟机,选择
Migrate迁移。 - 目标主机选择 KVM2,迁移模式 Direct,端口 49152,点击 Migrate。
- 等待迁移完成,观察界面:运行中的虚拟机从 KVM1 节点转移到 KVM2 节点,虚拟机业务不会关机。
❗排坑要点
- 虚拟机磁盘必须放在共享存储,本地磁盘无法热迁移;
- 两台宿主机 CPU 型号尽量一致,异构 CPU 需要开启 CPU 兼容模式;
- 防火墙、selinux 会阻碍迁移,实验环境可以直接关闭。
二、企业虚拟化:VMware ESXi7.0 + vCenter Server (VCSA) 部署
KVM 是开源虚拟化,而 VMware vSphere 是企业生产环境广泛使用的虚拟化栈,ESXi 是底层 Hypervisor,vCenter(VCSA)实现多 ESXi 集中管理、vMotion 迁移、HA 高可用等高级特性。
注意:真实生产 ESXi 直接安装物理服务器,本文是在 Workstation 中嵌套运行 ESXi,用于学习实验。
1. ESXi7.0 虚拟机安装
在 Workstation 新建虚拟机,客户机操作系统选择
VMware ESXi 7;配置 CPU、内存,添加 4 块网卡,挂载 ESXi 安装 ISO 镜像。开机进入 ESXi 安装程序,接受 EULA 许可,选择磁盘安装,设置 root 密码,完成后重启。
按
F2进入系统定制界面,输入 root 密码,配置管理网络:
- 将多块网卡加入管理网络;
- 设置静态 IPv4 地址、网关、DNS;保存网络配置。
浏览器打开
https://ESXi‑IP访问 ESXi Web 客户端。ESXi 默认 60 天评估模式,可以导入许可证解锁全部功能。
2. ESXi 基础存储与虚拟机管理
- 给 ESXi 虚拟机新增硬盘,网页端新建VMFS‑6 数据存储。
VMFS 是 VMware 专属文件系统,专门存放虚拟机磁盘。
- 在数据存储中创建 iso、vm 目录,上传 Windows ISO 镜像。
- 创建 Windows10 虚拟机:选择上传好的 ISO 镜像,配置 CPU、内存、磁盘。这里重点理解三种磁盘置备模式:
表格
| 置备模式 | 特点 | 适用场景 |
|---|---|---|
| 精简置备 | 创建速度快,磁盘空间按需分配,实际占用小于设定大小 | 数据盘、测试环境 |
| 厚置备‑延迟置零 | 一次性分配全部空间,但不做格式化,使用的时候再清零 | 非核心业务盘 |
| 厚置备‑置零 | 创建时完成全盘格式化,IO 性能最好,耗时较长 | 系统盘,生产虚拟机 |
- Windows 系统安装完成之后优化:
- 使用
lusrmgr.msc开启内置Administrator管理员账户,删除安装过程新建普通账号; - 安装
VMware Tools,实现虚拟机监控时间同步、鼠标优化、资源状态采集。
- 使用
- ESXi 常用功能:监控虚拟机 CPU / 内存 / 网络资源;设置虚拟机开机自启;拍摄快照做备份,快照可以快速回滚系统中毒、配置错误的故障环境。
3. 部署 vCenter Server Appliance (VCSA)
单台 ESXi 只能单机管理,多台 ESXi 集群、vMotion、HA 高级功能,需要部署 VCSA。VCSA7.0 已经不再提供 Windows 版本,是独立 Linux 虚拟机设备。
前置准备
- ESXi 主机增加硬盘、扩容内存;新建独立 VMFS 数据存储用于存放 VCSA 虚拟机。
部署流程
- Windows 主机挂载 VCSA 完整 ISO 镜像,进入目录
vcsa‑ui‑installer\win32,运行installer.exe。 - 选择【安装】,接受许可协议;填写要部署的 ESXi 主机 IP、root 账号密码。
⚠️注意区分两个密码:ESXi 主机 root 密码 和VCSA 虚拟机自身 root 密码,二者相互独立,新手极易混淆。
- 选择部署规模,实验环境选择微型;选择刚刚准备好的数据存储,可开启精简置备。
- 配置 VCSA 静态 IP、网关、DNS,确认配置,执行第一阶段部署,自动在 ESXi 上创建 VCSA 虚拟机。
部署完成后,就可以登录 vCenter 网页,添加多台 ESXi 主机,后续就可以体验企业级的 vMotion 迁移、集群高可用等高级特性。
三、KVM vs VMware ESXi 核心对比总结
表格
| 对比项 | KVM(Libvirt/virt‑manager) | VMware ESXi+vCenter |
|---|---|---|
| 许可证 | 完全开源免费 | ESXi 免费版功能受限,高级特性需要商业授权 |
| 热迁移 | libvirt 热迁移,依赖 NFS/Ceph 共享存储 | vMotion,依赖共享存储(VMFS/NFS/vSAN) |
| 管理工具 | virt‑manager、virsh 命令行 | ESXi WebUI,vCenter Server 集中管理多主机 |
| 适用场景 | 中小企业、私有云、开源云平台 OpenStack | 大型政企、数据中心,成熟稳定企业虚拟化 |
| 实验环境 | Linux 宿主机运行 KVM | 可嵌套部署在 VMware Workstation 做学习 |
四、学习感悟
- 共享存储是虚拟机热迁移的基石。不管是开源 KVM 还是商业 VMware vMotion,热迁移不能依靠拷贝本地磁盘,磁盘必须多台主机同时可访问。
- 虚拟化两大价值:资源池化 + 业务不中断运维。热迁移就是 “业务不中断运维” 的代表性技术,服务器升级、硬件故障规避都靠它。
- 嵌套虚拟化(VMware 里面跑 KVM、VMware 里面跑 ESXi)适合做学习实验,但嵌套会损耗性能,绝对不能用于生产业务。
拓展思考:热迁移也有局限性,内存变化极其剧烈的高负载业务,脏页无法收敛,会迁移失败,此时只能使用冷迁移(关机迁移)。