虚拟机模板是什么
模板是从虚机派生的只读黄金镜像(在 vSphere 上注册为 .vmtx),用于批量部署:模板本身不能开机运行,部署时套用自定义规格注入主机名、IP、域名等参数,避免逐台手工初始化。内容库(Content Library)是较新的分发方式,可跨 vCenter 共享模板与 ISO。
基本信息
| 生成方式 | 把已就绪的虚机克隆为模板 |
|---|---|
| 存储形式 | 注册为 .vmtx,占用数据存储空间 |
| 部署方式 | 从模板部署并套用自定义规格 |
| 替代方案 | 内容库分发模板与 ISO |
| 维护要求 | 定期更新补丁与 VMware Tools 版本 |
| 只读特性 | 模板不能直接改配置,改动前要先转成虚机 |
典型使用场景
- 批量部署同规格业务虚机
- 建设标准化基线:时区、软件源、监控 agent 一次做好
- 跨环境交付:测试与生产使用同一模板
- 快速重建被回收或损坏的虚机
- 与自动化平台配合按模板批量出机
克隆为模板并从模板部署
克隆为模板并从模板部署
New-Template -VM (Get-VM base-golden) -Name tpl-rhel9 -Location (Get-Datacenter DC)
Get-Template | Select-Object Name,Guest,SizeGB # 查看模板清单
New-VM -Name web01 -Template (Get-Template tpl-rhel9) -ResourcePool Prod |
Set-VM -OSCustomizationSpec (Get-OSCustomizationSpec LinuxSpec) # 套用自定义规格
Get-OSCustomizationSpec | Select-Object Name,Type # 查看可用自定义规格
(Get-VM web01).Guest.HostName # 部署后核对主机名是否注入成功模板与克隆的差别
| 维度 | 模板 | 克隆 |
|---|---|---|
| 能否运行 | 不能开机,只能作为部署源 | 是独立虚机,可直接运行 |
| 存储占用 | 一份 .vmtx 占用数据存储 | 每台克隆各占一份完整磁盘 |
| 参数注入 | 部署时可套用自定义规格 | 需要手工或脚本修改 |
| 典型用途 | 标准化批量部署 | 单次复制或临时环境 |
Windows 模板要处理机器标识(SID)与激活相关清理;Linux 模板建议清理 machine-id 与 SSH 主机密钥。离线清理可以用 virt-sysprep 这类工具,也可以写进模板制作流程。
模板长期不更新补丁,部署出来的系统就带着过期组件与旧密钥。把模板更新纳入月度例行工作,更新后重新打版本号,避免分不清哪批机器来自哪个模板版本。