您必须先通过几个步骤准备环境,然后才能开始使用 vSphere Auto Deploy。
首先设置服务器并准备硬件。必须在计划用于管理置备的主机的 vCenter Server 系统中配置 vSphere Auto Deploy 服务启动类型,然后安装 PowerCLI。
vSphere Auto Deploy 预安装对照表
开始此 vSphere Auto Deploy 方案中的任务之前,请确保您的环境满足硬件和软件要求,并且您具有该安装中所包含组件的必要权限。
所需软件和硬件 | 详细信息 |
---|---|
vCenter Server | vSphere Auto Deploy 服务器是 vCenter Server 的一部分。必须在 vCenter Server 系统上启用和启动 vSphere Auto Deploy 服务。可以通过登录到 vCenter Server 来执行许多设置任务。请参见为系统准备 vSphere Auto Deploy。 |
存储 | ESXi 数据存储的存储(NFS、iSCSI 或光纤通道),对服务器和存储阵列进行配置,从而使服务器能够检测到 LUN。
|
主机信息(对于四个 ESXi 主机) | NFS 或 iSCSi 的目标 IP 地址的列表。 NFS 或 iSCSi 的目标卷信息的列表。
默认情况下,vSphere Auto Deploy 不会覆盖现有分区。 |
PowerCLI | 请参见安装 PowerCLI。 |
ESXi 软件库 | ESXi 软件库在 VMware 网站“下载”页面上的位置。使用 URL 指向该位置上存储的映像配置文件或下载 ZIP 文件以与本地库配合使用。请勿下载 ESXi 映像。 |
TFTP 服务器 | TFTP 安装程序软件,如 WinAgents TFTP 服务器。 |
DHCP 服务器 | vSphere 支持的 Windows Server 版本中包括 DHCP 服务器。 |
DNS 服务器 | 正常运行的 DNS 服务器。必须针对每个目标主机在正向(A 记录)和反向(PTR 记录)区域中添加条目。 |
还需要环境核心服务器的相关信息和管理员特权,核心服务器包括 ActiveDirectory 服务器、DNS 服务器、DHCP 服务器、NTP 服务器等。
必须能够完全控制将在其中部署设置的子网的广播域。请确保此子网中没有其他 DHCP、DNS 或 TFTP 服务器。
为系统准备 vSphere Auto Deploy
在可以通过 vSphere Auto Deploy 对 ESXi 主机进行 PXE 引导之前,必须安装必备软件并设置 vSphere Auto Deploy 与之交互的 DHCP 和 TFTP 服务器。
前提条件
- 验证计划使用 vSphere Auto Deploy 进行置备的主机是否满足 ESXi 的硬件要求。请参见ESXi 硬件要求。
- 验证 ESXi 主机是否已与 vCenter Server 建立网络连接,且满足所有端口要求。请参见vCenter Server。
- 确认您的环境中有 TFTP 服务器和 DHCP 服务器可以向 Auto Deploy 置备的 ESXi 主机发送文件并分配网络地址。请参见安装 TFTP 服务器和准备 DHCP 服务器以用于 vSphere Auto Deploy 置备。
- 验证 ESXi 主机与 DHCP、TFTP 和 vSphere Auto Deploy 服务器是否具有网络连接。
- 如果在 vSphere Auto Deploy 环境中要使用 VLAN,必须正确设置端到端网络。PXE 引导主机时,必须将固件驱动程序设置为使用适当的 VLAN ID 来标记帧。这必须通过在 UEFI/BIOS 界面中进行正确的更改来手动进行。还必须使用正确的 VLAN ID 来正确配置 ESXi 端口组。请咨询网络管理员以了解 VLAN ID 在环境中的使用方式。
- 验证您是否具有足够存储空间用于 vSphere Auto Deploy 存储库。vSphere Auto Deploy 服务器使用存储库存储其需要的数据,包括您创建的规则和规则集,以及在规则中指定的 VIB 和映像配置文件。
最佳做法是分配 2 GB 以具有足够的空间容纳四个映像配置文件和一些额外空间。每个映像配置文件大约需要 400 MB。通过考虑希望使用的映像配置文件数量来确定为 vSphere Auto Deploy 存储库预留多少空间。
- 获取对 DHCP 服务器(该服务器管理要从其进行引导的网络段)的管理特权。可以使用环境中已有的 DHCP 服务器或安装一台 DHCP 服务器。对于 vSphere Auto Deploy 设置,请将 gpxelinux.0 文件名替换为 snponly64.efi.vmw-hardwired(对于 UEFI)或 undionly.kpxe.vmw-hardwired(对于 BIOS)。有关 DHCP 配置的详细信息,请参见示例 DHCP 配置。
- 就像保护使用任何其他基于 PXE 的部署方法的网络一样保护您的网络。vSphere Auto Deploy 通过 SSL 传输数据,以防止意外干扰和侦听。但是,在 PXE 引导期间不会检查客户端或 vSphere Auto Deploy 服务器的真实性。
- 如果要使用 PowerCLI cmdlet 管理 vSphere Auto Deploy,请确认 Windows 计算机上装有 Microsoft .NET Framework 4.5 或 4.5.x 和 Windows PowerShell 3.0 或 4.0。请参见《vSphere PowerCLI 用户指南》。
- 设置远程 Syslog 服务器。有关 Syslog 服务器配置信息,请参见《vCenter Server 和主机管理》文档。将您引导的第一台主机配置为使用远程 Syslog 服务器并将主机的主机配置文件应用于所有其他目标主机。(可选)安装并使用 VMware vCenter Log Insight,它可为 VMware 产品和非 VMware 产品(虚拟和物理)提供日志聚合和分析,并提供准实时日志事件搜索和分析功能。
- 安装 ESXi Dump Collector 并设置第一台主机,以便所有核心转储都指向 ESXi Dump Collector 并将该主机的主机配置文件应用于所有其他主机。请参见使用 ESXCLI 配置 ESXi Dump Collector。
- 如果您计划使用 vSphere Auto Deploy 置备的主机带有旧版 BIOS,请验证 vSphere Auto Deploy 服务器是否采用 IPv4 地址。使用旧版 BIOS 固件进行 PXE 引导只能通过 IPv4 实现。使用 UEFI 固件进行 PXE 引导可以通过 IPv4 或 IPv6 实现。
过程
结果
在启动为 vSphere Auto Deploy 设置的 ESXi 主机时,该主机会与 DHCP 服务器联系并直接指向 vSphere Auto Deploy 服务器,这将使用活动规则集中指定的映像配置文件置备该主机。
下一步做什么
- 可以更改 Auto Deploy 服务的默认配置属性。有关详细信息,请参见《vCenter Server 和主机管理》文档中的“配置 vCenter Server”。
- 可以更改 Image Builder 服务的默认配置属性。有关详细信息,请参见《vCenter Server 和主机管理》文档中的“配置 vCenter Server”。
- 定义一个将映像配置文件和可选主机配置文件、主机位置或脚本包分配给主机的规则。要使用 PowerCLI cmdlet 管理 vSphere Auto Deploy,请参见使用 PowerCLI cmdlet 管理 vSphere Auto Deploy部分。要使用 vSphere Client 管理 vSphere Auto Deploy,请参见使用 vSphere Client 管理 vSphere Auto Deploy部分。
- (可选) 配置第一台置备为引用主机的主机。使用要针对目标主机共享的存储、网络和其他设置。为该引用主机创建主机配置文件,并编写将已测试的映像配置文件和主机配置文件分配给目标主机的规则。
- (可选) 如果要使 vSphere Auto Deploy 覆盖现有分区,请将引用主机设置为进行自动分区并将引用主机的主机配置文件应用于其他主机。请参见为引用主机配置自动分区。
- (可选) 如果必须配置特定于主机的信息,可以设置引用主机的主机配置文件,以便提示用户输入。有关主机自定义的详细信息,请参见《《vSphere 主机配置文件》》文档。
使用 vSphere Auto Deploy Cmdlet
vSphere Auto Deploy cmdlet 作为 Microsoft PowerShell cmdlet 实施并包含在 PowerCLI 中。vSphere Auto Deploy cmdlet 的用户可以利用所有的 PowerCLI 功能。
具有丰富经验的 PowerShell 用户可以像使用其他 PowerShell cmdlet 一样使用 vSphere Auto Deploy cmdlet。如果您是 PowerShell 和 PowerCLI 的新用户,以下提示可能对您有所帮助。
您可以在 PowerCLI shell 中键入 cmdlet、参数和参数值。
- 通过运行 Get-Help
cmdlet_name
获取有关任何 cmdlet 的帮助。 - 请记住,PowerShell 不区分大小写。
- 对 cmdlet 名称和参数名称使用 Tab 自动补全。
- 使用 Format-List 或 Format-Table,或者它们的缩写 fl 或 ft 格式化任何变量和 cmdlet 输出。有关详细信息,请运行 Get-Help Format-List cmdlet。
通过名称传递参数
Copy-DeployRule -DeployRule testrule -ReplaceItem MyNewProfile
《vCenter Server 安装和设置》文档中的大多数示例均按名称传递参数。
将参数作为对象传递
如果希望执行脚本操作并实现自动化,则可以将参数作为对象传递。将参数作为对象传递对于返回多个对象和返回单个对象的 cmdlet 都有用。请参见下面的示例:
- 将封装主机规则集合规信息的对象绑定到变量。
$tr = Test-DeployRuleSetCompliance MyEsxi42
- 查看对象的 itemlist 属性以查看规则集中的规则与主机当前使用的规则之间有何差异。
$tr.itemlist
- 通过将 Repair-DeployRuleSetCompliance cmdlet 与变量结合使用来修复主机,从而使用修改后的规则集。
Repair-DeployRuleSetCompliance $tr
该示例将在下次引导主机时修复主机。
设置批量许可
可以使用 vSphere Client 或 ESXi Shell 指定各个许可证密钥,或使用 PowerCLI cmdlet 设置批量许可。批量许可适用于所有 ESXi 主机,但对使用 vSphere Auto Deploy 置备的主机尤其有用。
通过 vSphere Client 分配许可证密钥和使用 PowerCLI cmdlet 分配许可的工作方式不同。
- 使用 vSphere Client 分配许可证密钥
- 将主机添加到 vCenter Server 系统时或主机由 vCenter Server 系统管理时,可为主机分配许可证密钥。
- 使用 LicenseDataManager PowerCLI 分配许可证密钥
- 可以指定添加到一组主机中的一组许可证密钥。这些许可证将添加到 vCenter Server 数据库中。每当将主机添加到 vCenter Server 系统或将主机重新连接到该系统时,都会为主机分配许可证密钥。通过 PowerCLI 分配的许可证密钥被视为默认的许可证密钥。添加或重新连接未获许可的主机时,将为主机分配默认的许可证密钥。如果主机已获得许可,则可保留其许可证密钥。
下面的示例为数据中心中的所有主机分配许可证。您也可将许可证与主机和集群关联。
以下示例适用于了解如何使用 PowerShell 变量的高级 PowerCLI 用户。
前提条件
过程
结果
所有分配到数据中心的主机现在均已自动获得许可。