虚拟机克隆
虚拟机克隆是 ESXi 环境中,快速部署相同配置虚拟机的重要功能,通过克隆技术,可以大幅提升虚拟机部署效率,确保环境一致性。
前言¶
介绍虚拟机克隆前,需明白 ESXi 虚拟机中几个重要的文件,分别为 xxx.vmdk
、xxx.vmx
、xxx.ovf
、xxx.mf
、xxx.nvram
,理解这些文件的作用对于成功克隆至关重要。
核心文件类型详解¶
VMDK(Virtual Machine Disk)文件代表虚拟硬盘,xxx.vmdk
肯定大家不陌生,ESXi 进阶操作 - 镜像转换 中见过。
功能: 虚拟机的硬盘文件,存储操作系统和数据
- 文件类型: Virtual Machine Disk
- 存储内容: 操作系统、应用程序、用户数据
- 数量特点: 可能有多个,取决于磁盘分配策略
- 包含组件: 基础磁盘映像、快照文件等
- 重要性: ⭐⭐⭐⭐⭐ (克隆必需)
VMX(Virtual Machine Configuration File)是虚拟机的主配置文件,采用文本格式(通常是 UTF-8 编码的文本),包含了虚拟机的绝大部分设置信息。
功能: 虚拟机的主配置文件,定义硬件规格
- 文件格式: UTF-8 编码的文本文件
- 内容结构: 键值对列表
- 配置项目:
- 虚拟机名称和操作系统类型
- CPU 数量和核心数配置
- 内存大小设置
- 网络适配器配置(桥接、NAT、仅主机等)
- 存储控制器和磁盘映射
- 外设配置(光驱、USB、声卡等)
- 启动选项和快照设置
- 重要性: ⭐⭐⭐⭐⭐ (克隆必需)
提示
VMX 本质上是一个键值对的列表(可用文本编辑器打开),.vmx
是虚拟机的 “身份证” 和 “说明书”,定义了虚拟机的硬件配置,VMX 是一个内部使用的配置文件,适用于 VMware 自家的产品系列。
OVF(Open Virtualization Format)文件包含了虚拟机的配置信息,如CPU数量、内存大小、存储需求等。
功能: 跨平台虚拟机描述文件
- 标准类型: Open Virtualization Format
- 用途: 虚拟机的可移植描述
- 包含信息: CPU、内存、存储需求等
- 适用场景: 跨平台迁移和分发
- 重要性: ⭐⭐⭐ (导出时需要)
这个文件是 OVF 文件的消息摘要(通常是 SHA-1 或 SHA-256 哈希值),用于验证 OVF 文件的完整性,确保它没有被篡改并且是从可信来源获取的。
功能: 文件完整性验证
- 内容: SHA-1 或 SHA-256 哈希值
- 作用: 验证 OVF 文件完整性
- 安全性: 防止文件篡改
- 验证方式: 哈希值比对
- 重要性: ⭐⭐ (安全验证)
NVRAM(Non-Volatile RAM)文件包含了虚拟机 BIOS 或 EFI 固件的设置信息。
功能: BIOS/EFI 固件配置存储
- 存储内容: 固件设置信息
- 配置项: 启动顺序、硬件配置等
- 生成时机: 首次启动时创建
- 更新机制: 设置修改时自动保存
- 重要性: ⭐⭐ (固件配置)
总结¶
ESXi 中每个虚拟机都由多个关键文件组成,虚拟机正常运行的最小文件集合包括:
- 必需文件:
xxx.vmdk
+xxx.vmx
- 可选文件:
xxx.nvram
(首次启动会自动生成) - 导出文件:
xxx.ovf
+xxx.mf
(用于跨平台迁移)
克隆方式对比¶
ESXi 提供多种克隆方式,每种方式都有其适用场景和特点:
克隆方式 | 适用场景 | 优点 | 缺点 | 推荐度 |
---|---|---|---|---|
直接复制 | 同一 ESXi 主机内快速克隆 | 操作简单、速度快 | 仅限本地、需手动配置 | ⭐⭐⭐ |
导出映像 | 跨平台迁移、备份存档 | 标准化、可移植 | 文件较大、传输耗时 | ⭐⭐⭐⭐ |
vCenter 克隆 | 企业环境批量部署 | 功能完整、自动化高 | 需要 vCenter 许可 | ⭐⭐⭐⭐⭐ |
克隆方式一:直接复制方式克隆¶
如果仅需在同一个 ESXi 中,克隆一台一模一样的虚拟机,可以采用直接复制方式克隆,确保复制的虚拟机环境一致,陈大剩以 Ubuntu 虚拟机为例。
选择源虚拟机¶
第一步选择需克隆的虚拟机,陈大剩选择主机名为 u2 的 Ubuntu 虚拟机,选择虚拟机后,对 虚拟机进行关机
复制核心文件文件¶
导航至【存储】-【数据存储浏览器】,再创一个存放克隆之后虚拟机的文件夹,陈大剩这创建一个 u3 文件夹
将 u2 虚拟机文件下的
xxx.vmdk
、xxx.vmx
复制 u3 文件
提示
复制时需要修改主机名或 xxx.vmdk
的位置,可通过 SSH 连接 ESXi 主机,使用 VI 编辑器
修改参数,其中:displayName
参数为主机名;scsi0:0.fileName
参数为 xxx.vmdk
位置;
注册虚拟机¶
复制成功后,【右键】-【注册虚拟机】
注册成功后虚拟机则会出现在虚拟机列表中
克隆后需点【编辑设置】手动检查所有参数,注册后的虚拟机会继承源虚拟机的所有配置,建议进行全面检查:
,如果需要改主机名,可虚拟机选项中修改:
检查无误后可点击【打开电源】开机,回答问题选择【我已复制】,不出意外顺利克隆成功。
克隆方式二:导出映像方式克隆¶
导出映像方式适用于跨平台迁移、长期备份和标准化部署场景。
导出虚拟机¶
选择导出选项¶
在虚拟机列表中选择要导出的虚拟机,对 虚拟机进行关机,右键点击【虚拟机】-【导出】
导出选项中默认会选择
xxx.ovf
和 xxx.mf
,如果需要导出磁盘文件和启动选项可以继续选择 xxx.vmdk
和 xxx.nvram
配置导出参数¶
特点: 文件分离,便于管理、支持增量传输、标准化程度高。
包含文件: .ovf
(描述文件)、.vmdk
(磁盘文件)、.mf
(校验文件)。
特点: 单一文件,便于传输、文件较大、适合一次性部署。
文件结构: 单个 .ova
文件、内部包含所有组件。
执行导出操作¶
选择导出位置和格式后,ESXi 将开始导出过程:
- 导出时间: 取决于虚拟磁盘大小
- 网络影响: 可能影响网络性能
- 存储要求: 需要足够的存储空间
导入虚拟机¶
上传映像文件¶
在 ESXi Web 界面中,选择【创建/注册虚拟机】【从 OVF 或 OVA 文件部署虚拟机】将导出的映像文件通过数据存储浏览器上传到目标 ESXi 主机中。
部署 OVF 模板¶
验证部署结果¶
部署完成后进行验证:检查虚拟机配置、验证网络连接、测试应用程序功能、确认数据完整性,不出意外顺利克隆成功。