可以使用 PowerCLI cmdlet 管理 vSphere Auto Deploy,进而创建将主机与映像配置文件、主机配置文件、自定义脚本以及 vCenter Server 目标上的位置相关联的规则。还可以通过测试规则合规性以及修复合规性问题来更新主机。

使用 PowerCLI cmdlet 管理 vSphere Auto Deploy

可以使用 PowerCLI cmdlet 管理 vSphere Auto Deploy,进而创建将主机与映像配置文件、主机配置文件、自定义脚本以及 vCenter Server 目标上的位置相关联的规则。还可以通过测试规则合规性以及修复合规性问题来更新主机。

通过使用 PowerCLI 执行 vSphere Auto Deploy 过程的概览

要开始使用 vSphere Auto Deploy,您需要了解 vSphere Auto Deploy 工作原理、安装 vSphere Auto Deploy 服务器、安装 PowerCLI、编写置备主机的 PowerCLI 规则以及打开要使用指定的映像配置文件进行引导的主机。可以自定义映像配置文件、主机配置文件和 vCenter Server 位置。

有关帮助您设置第一个 vSphere Auto Deploy 环境的逐步操作,请参见使用 vSphere PowerCLI 设置 vSphere Auto Deploy 和置备主机的场景

要在环境中使用 vSphere Auto Deploy 成功置备主机,可以遵循以下步骤。

  1. 部署 vCenter Server

    vSphere Auto Deploy 服务器包括在内。

  2. 配置 vSphere Auto Deploy 服务启动类型。

    请参见为系统准备 vSphere Auto Deploy

  3. 安装 PowerCLI,它包含 vSphere Auto Deploy 和 vSphere ESXi Image Builder cmdlet。

    请参见安装必备软件和配置 vSphere ESXi Image Builder使用 vSphere Auto Deploy Cmdlet使用 VMware.Image Builder Cmdlet

  4. 查找包含要部署到主机的 VIB 的映像配置文件。
    • 通常,将包含所需软件的库添加到 PowerCLI 会话,然后从其中一个库中选择映像配置文件。
    • 如果要创建自定义映像配置文件,可以使用 vSphere ESXi Image Builder cmdlet 克隆现有映像配置文件,然后将自定义 VIB 添加到克隆。将自定义映像配置文件添加到 PowerCLI 会话。

    仅当必须添加或移除 VIB 时,才必须使用 vSphere ESXi Image Builder 进行自定义。在大多数情况下,可以将 VMware 驻留映像配置文件的库作为 URL 添加到 PowerCLI 会话。

  5. 启动 PowerCLI 会话,连接到已注册了 vSphere Auto Deploy 的 vCenter Server 系统。
  6. 使用 New-DeployRule PowerCLI cmdlet 编写一个将映像配置文件分配给一个主机、同一模式指定的多个主机或所有主机的规则。
    New-DeployRule -Name "testrule" -Item image-profile -AllHosts

    请参见将映像配置文件分配给主机

    注: vSphere Auto Deploy 已经过优化,可以将具有固定 MAC 地址的主机置备到 DHCP(有时称作 DHCP 预留)中的 IP 地址映射。如果要使用静态 IP 地址,则必须设置主机配置文件,以提示主机自定义。有关详细信息,请参见 《vSphere 主机配置文件》文档。
  7. 打开要置备的主机的电源。
  8. 为主机配置文件设置置备为引用主机的主机。

    可以指定引用主机的 syslog 设置、防火墙设置、存储和网络连接等。

  9. 为主机配置文件设置置备为引用主机的主机。

    可以指定引用主机的 syslog 设置、防火墙设置、存储和网络连接等。请参见设置 vSphere Auto Deploy 引用主机

  10. 创建并导出引用主机的主机配置文件。

    请参见《主机配置文件》文档。

  11. 要使用主机配置文件置备多台主机,请使用 Copy-DeployRule cmdlet 编辑先前创建的规则。

    可以修改规则,使得不仅分配映像配置文件,还分配主机配置文件、vCenter Server 位置和自定义脚本包。

    Copy-DeployRule -DeployRule "testrule" -ReplaceItem my_host_profile_from_reference_host,my_target_cluster
                   -ReplacePattern  "ipv4=192.XXX.1.10-192.XXX.1.20"

    其中,my_host_profile_from_reference_host 是引用主机配置文件的名称,而 my_target_cluster 是目标集群的名称。

  12. 执行测试,修复合规性操作,以修复主机。

    请参见测试和修复规则合规性

  13. 验证您所置备的主机是否满足以下要求。
    • 每个主机已连接到 vCenter Server 系统。
    • 主机不处于维护模式。
    • 主机不存在合规性错误。
    • 每个具有主机配置文件(要求用户输入)的主机都具有最新的主机自定义信息。

    修正主机关联和合规性问题,然后重新引导主机,直到所有主机都满足要求。

有关引导过程的简介、首次引导和后续引导之间的区别以及使用主机自定义的概述,请阅读

使用 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-Helpcmdlet_name 获取有关任何 cmdlet 的帮助。
  • 请记住,PowerShell 不区分大小写。
  • 对 cmdlet 名称和参数名称使用 Tab 自动补全。
  • 使用 Format-ListFormat-Table,或者它们的缩写 flft 格式化任何变量和 cmdlet 输出。有关详细信息,请运行 Get-Help Format-List cmdlet。

通过名称传递参数

在大多数情况下,可以通过名称传递参数,并使用双引号将包含空格或特殊字符的参数值引起来。
 Copy-DeployRule -DeployRule testrule -ReplaceItem MyNewProfile

《vCenter Server 安装和设置》文档中的大多数示例均按名称传递参数。

将参数作为对象传递

如果希望执行脚本操作并实现自动化,则可以将参数作为对象传递。将参数作为对象传递对于返回多个对象和返回单个对象的 cmdlet 都有用。请参见下面的示例:

  1. 将封装主机规则集合规信息的对象绑定到变量。
    $tr = Test-DeployRuleSetCompliance MyEsxi42
  2. 查看对象的 itemlist 属性以查看规则集中的规则与主机当前使用的规则之间有何差异。
    $tr.itemlist
  3. 通过将 Repair-DeployRuleSetCompliance cmdlet 与变量结合使用来修复主机,从而使用修改后的规则集。
    Repair-DeployRuleSetCompliance $tr

该示例将在下次引导主机时修复主机。

vSphere Auto Deploy PowerCLI Cmdlet 概览

可以使用 PowerCLI 中包含的一组 PowerCLI cmdlet 指定一些规则,将映像配置文件和主机配置文件分配给主机。

如果您对 PowerCLI 不甚了解,请先阅读 PowerCLI 文档并查看使用 vSphere Auto Deploy Cmdlet。可以在 PowerShell 提示符下获取有关任何命令的帮助。

  • 基本帮助:Get-Help cmdlet_name
  • 详细帮助:Get-Help cmdlet_name -Detailed
注: 如果运行 vSphere Auto Deploy cmdlet,请在调用 cmdlet 时在命令行上提供所有参数。不建议以交互模式提供参数。
表 1. 规则引擎 PowerCLI Cmdlet
命令 描述
Get-DeployCommand 返回 vSphere Auto Deploy cmdlet 的列表。
New-DeployRule 使用指定的项和模式创建新规则。
Set-DeployRule 使用指定的项和模式更新现有规则。无法更新属于规则集的规则。
Get-DeployRule 检索具有指定名称的规则。
Copy-DeployRule 克隆和更新现有规则。
Add-DeployRule 将一个或多个规则添加到工作规则集中,默认情况下也添加到活动规则集中。使用 NoActivate 参数将规则仅添加到工作规则集中。
Remove-DeployRule 从工作规则集和活动工作集中移除一个或多个规则。将此命令与 -Delete 参数一起使用,将完全删除规则。
Set-DeployRuleset 明确设置工作规则集中的规则列表。
Get-DeployRuleset 检索当前工作规则集或当前活动规则集。
Switch-ActiveDeployRuleset 激活规则集,使得任何新请求都通过规则集进行评估。
Get-VMHostMatchingRules 检索与某个模式匹配的规则。例如,可以检索应用到一个或多个主机的所有规则。此 cmdlet 主要用于调试。
Test-DeployRulesetCompliance 检查与指定主机关联的项是否与活动规则集相符。
Repair-DeployRulesetCompliance 根据 Test-DeployRulesetCompliance 的输出情况,此 cmdlet 将为 vCenter Server 清单中的每个主机更新映像配置文件、主机配置文件和位置。此 cmdlet 可能会应用映像配置文件、应用主机配置文件或将主机移动到 vCenter Server 系统上预先指定的文件夹或集群。
Apply-EsxImageProfile 将指定的映像配置文件与指定的主机关联。
Get-VMHostImageProfile 检索指定主机正在使用的映像配置文件。此 cmdlet 不同于 vSphere ESXi Image Builder 中的 Get-EsxImageProfile cmdlet。
Repair-DeployImageCache 仅当意外删除 vSphere Auto Deploy 映像缓存时才使用此 cmdlet。
Get-VMHostAttributes 检索 vSphere Auto Deploy 服务器评估规则时使用的主机的属性。
Get-DeployMachineIdentity 返回字符串值,vSphere Auto Deploy 使用该值将 vCenter Server 中的 ESXi 主机逻辑链接到物理机。
Set-DeployMachineIdentity vCenter Server 数据库中的主机对象逻辑链接到物理机。使用此 cmdlet 添加主机,而无需指定规则。
Get-DeployOption 检索 vSphere Auto Deploy 全局配置选项。此 cmdlet 当前支持 vlan-id 选项,该选项为使用 vSphere Auto Deploy 置备的主机的 ESXi 管理网络指定默认的 VLAN ID。仅当主机在不使用主机配置文件的情况下引导时,vSphere Auto Deploy 才使用该值。
Set-DeployOption 设置全局配置选项的值。当前支持用于设置 ESXi 管理网络的默认 VLAN ID 的 vlan-id 选项。
Add-ProxyServer 向 vSphere Auto Deploy 数据库添加代理服务器。运行带有 -Address 参数的命令以指定 IPv4 或 IPv6 地址。该地址可以包括端口号。
List-ProxyServer 列出当前注册到 vSphere Auto Deploy 的代理服务器。
Delete-ProxyServer 从注册到 vSphere Auto Deploy 的代理服务器的列表中删除一个或多个代理服务器。可以运行带有 -id 参数(来自代理服务器列表)或带有 -Address 参数(通过指定要删除的代理服务器的 IPv4 或 IPv6 地址)的命令。
Add-ScriptBundle 向 vSphere Auto Deploy 服务器添加一个或多个脚本包。
Get-ScriptBundle 检索 vSphere Auto Deploy 服务器上可用的脚本包列表以及脚本包包含的脚本。
Remove-ScriptBundle 从 vSphere Auto Deploy 移除脚本包。适用于 vSphere 版本 6.7 及更高版本。
Get-CustomCertificate 检索上载到 AutoDeploy 的自定义主机证书。必须使用 -HostId [MAC_Address | BIOS_UUID] 参数运行命令。首次添加自定义证书时,将看不到此 cmdlet 返回的任何证书。
List-CustomCertificates 检索有关 Auto Deploy 使用的所有自定义主机证书的信息。该列表提供证书名称、Host IDAssociated Host Name 的详细信息,反映了 Auto Deploy 服务器的 vCenter Server 的名称。
Add-CustomCertificate 将自定义证书添加到 VMware 端点证书存储,并将其与 ESXi 主机关联。证书在主机重新引导后变为活动状态。可以使用 Get-CustomCertificate cmdlet 检索自定义主机证书密钥。您可以使用 -HostId [MAC_Address | BIOS_UUID] 参数运行命令,以将证书与主机关联,从而指定 -Key [file:///path/to/key.key]-Cert [file:///path/to/cert.crt]。使用此 cmdlet 需要对 vCenter Server 的根文件夹具有 AutoDeploy.Rule.Create 特权。
Remove-CustomCertificate 从 Auto Deploy 中移除一组自定义主机证书。将从数据库中删除证书条目,并从文件存储中移除证书文件。必须重新引导已使用自定义证书引导的主机才能接收新证书。您必须至少提供一个 -Cert-HostId 参数。使用此 cmdlet 需要对 vCenter Server 的根文件夹具有 AutoDeploy.Rule.Create 特权。

将映像配置文件分配给主机

必须先创建规则,将映像配置文件分配给要使用 vSphere Auto Deploy 进行置备的每个主机,然后才能置备主机。

vSphere Auto Deploy 可扩展性规则强制接受级别为由社区支持的 VIB 只能包含特定预定义位置中的文件,例如 ESXCLI 插件路径、jumpstart 插件路径等。如果将其他位置中的 VIB 添加到映像配置文件,将会发出警告。可以使用 force 选项替代警告。

如果在包含接受级别为由社区支持的 VIB 的映像配置文件上调用 New-DeployRule cmdlet 违反规则,请先设置 $DeployNoSignatureCheck = $true,再添加映像配置文件。进行该设置后,系统会忽略签名验证,但不执行扩展性规则检查。

注: 生产系统上不支持包含接受级别为由社区支持的 VIB 的映像配置文件。

过程

  1. PowerCLI 会话中,运行 Connect-VIServer cmdlet 以连接到已注册了 vSphere Auto Deploy 的 vCenter Server 系统。
    Connect-VIServer ipv4_or_ipv6_address
    Cmdlet 可能会返回服务器证书警告。在生产环境中,请确保不会产生服务器证书警告。在开发环境中,可以忽略此警告。
  2. 确定公用软件库的位置,或使用 vSphere ESXi Image Builder 定义自定义映像配置文件。
  3. 运行 Add-EsxSoftwareDepot 将包含映像配置文件的软件库添加到 PowerCLI 会话。
    库类型 Cmdlet
    远程库 运行 Add-EsxSoftwareDepot depot_url
    ZIP 文件
    1. 将 ZIP 文件下载到本地文件路径。
    2. 运行 Add-EsxSoftwareDepot C:\file_path\my_offline_depot.zip
  4. 在库中,通过运行 Get-EsxImageProfile cmdlet 查找要使用的映像配置文件。
    默认情况下, ESXi 库中包括一个含有 VMware Tools 的基础映像配置文件(其名称中含有字符串 standard)和一个不含有 VMware Tools 的基础映像配置文件。
  5. 定义一个规则,将具有某些属性(例如 IP 地址范围)的主机分配给映像配置文件。
    New-DeployRule -Name "testrule" -Item "My Profile25" -Pattern "vendor=Acme,Zven", "ipv4=192.XXX.1.10-192.XXX.1.20"

    如果名称包含空格,则必须使用双引号,否则可自由选择是否使用双引号。指定 -AllHosts(而非模式),将项应用于所有主机。

    Cmdlet 创建名为 testrule 的规则。该规则将名为 My Profile25 的映像配置文件分配给供应商为 Acme 或 Zven 且 IP 地址在指定范围内的所有主机。
  6. 将规则添加到规则集。
    Add-DeployRule testrule
    默认情况下,该规则将添加到工作规则集和活动规则集。如果使用 NoActivate 参数,则工作规则集不会成为活动规则集。

结果

主机从 iPXE 引导时,将向控制台报告计算机属性。编写部署规则时,请使用相同的属性格式。

******************************************************************
* Booting through VMware AutoDeploy...
*
* Machine attributes:
* . asset=No Asset Tag
* . domain=vmware.com
* . hostname=myhost.mycompany.com
* . ipv4=XX.XX.XXX.XXX
* . mac=XX:Xa:Xb:Xc:Xx:XX
* . model=MyVendorModel
* . oemstring=Product ID: XXXXXX-XXX
* . serial=XX XX XX XX XX XX...
* . uuid=XXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXX
* . vendor=MyVendor
******************************************************************

下一步做什么

  • 对于已使用 vSphere Auto Deploy 置备的主机,请执行合规性测试和修复操作,以使用新的映像配置文件对其进行置备。请参见测试和修复规则合规性
  • 打开未置备的主机,以使用新的映像配置文件对其进行置备。

编写规则并给主机分配主机配置文件

vSphere Auto Deploy 可以将一个主机配置文件分配给一个或多个主机。主机配置文件可能包含有关主机的存储配置、网络配置或其他特性的信息。如果将主机添加到集群,则将使用该集群的主机配置文件。

多数情况下,将主机分配给集群,而不用明确指定主机配置文件。主机使用集群的主机配置文件。

前提条件

  • 安装 PowerCLI 和所有必备软件。有关信息,请参见《《vCenter Server 安装和设置》》。
  • 导出要使用的主机配置文件。

过程

  1. PowerCLI 会话中,运行 Connect-VIServer cmdlet 以连接到已注册了 vSphere Auto Deploy 的 vCenter Server 系统。
    Connect-VIServer ipv4_or_ipv6_address
    Cmdlet 可能会返回服务器证书警告。在生产环境中,请确保不会产生服务器证书警告。在开发环境中,可以忽略此警告。
  2. 使用 vSphere Client 设置主机,使该主机具有您要使用的设置,然后从该主机创建主机配置文件。
  3. 通过运行 Get-VMhostProfilePowerCLI cmdlet,并进入您创建主机配置文件的 ESXi 主机,查找主机配置文件的名称。
  4. PowerCLI 提示符处,定义一个规则,以将主机配置文件分配给具有某些属性(例如 IP 地址范围)的主机。
    New-DeployRule -Name "testrule2" -Item my_host_profile -Pattern "vendor=Acme,Zven", "ipv4=192.XXX.1.10-192.XXX.1.20"
    将指定项分配给具有指定属性的所有主机。此示例指定了一个名为 testrule2 的规则。该规则将指定的主机配置文件 my_host_profile 分配给 IP 地址在指定范围内且制造商为 Acme 或 Zven 的所有主机。
  5. 将规则添加到规则集。
    Add-DeployRule testrule2
    默认情况下,工作规则集将成为活动规则集,规则集的所有更改将在添加规则时处于活动状态。如果使用 NoActivate 参数,则工作规则集不会成为活动规则集。

下一步做什么

  • 通过对已由 vSphere Auto Deploy 置备的主机执行合规性测试和修复操作,将其分配给新的主机配置文件。有关详细信息,请参见测试和修复规则合规性
  • 打开未置备的主机电源,以使用主机配置文件对其进行置备。

编写规则并将主机分配给文件夹或集群

vSphere Auto Deploy 可以将主机分配给文件夹或集群。当主机引导时,vSphere Auto Deploy 会将其添加到 vCenter Server 上的指定位置。分配给集群的主机将继承集群的主机配置文件。

前提条件

  • 准备系统并安装 Auto Deploy 服务器。有关详细信息,请参见为系统准备 vSphere Auto Deploy
  • 确认选择的文件夹位于数据中心或集群中。您无法将主机分配到独立的顶层文件夹中。

过程

  1. PowerCLI 会话中,运行 Connect-VIServer cmdlet 以连接到已注册了 vSphere Auto Deploy 的 vCenter Server 系统。
    Connect-VIServer ipv4_or_ipv6_address
    Cmdlet 可能会返回服务器证书警告。在生产环境中,请确保不会产生服务器证书警告。在开发环境中,可以忽略此警告。
  2. 定义一个规则,将具有某些属性(例如 IP 地址范围)的主机分配给文件夹或集群。
    New-DeployRule -Name testrule3 -Item "my folder"	-Pattern "vendor=Acme,Zven", "ipv4=192.XXX.1.10-192.XXX.1.20"
    此示例按名称在文件夹中传递。也可以在使用 Get-FolderGet-ClusterGet-Datacenter cmdlet 检索的文件夹、集群或数据中心对象中传递。
  3. 将规则添加到规则集。
    Add-DeployRule testrule3
    默认情况下,工作规则集将成为活动规则集,规则集的所有更改将在添加规则时处于活动状态。如果使用 NoActivate 参数,则工作规则集不会成为活动规则集。

下一步做什么

  • 通过执行测试和修复合规性操作,将已由 vSphere Auto Deploy 置备的主机分配给新的文件夹或集群位置。请参见测试和修复规则合规性
  • 打开未置备的主机电源,将其添加到指定的 vCenter Server 位置。

通过运行自定义脚本配置无状态系统

可通过将自定义脚本与 vSphere Auto Deploy 规则相关联来使用 vSphere Auto Deploy 配置一个或多个主机。

脚本在主机的初始 ESXi 引导工作流后按字母顺序运行。

前提条件

  • 确认要与 vSphere Auto Deploy 规则关联的脚本包采用 .tgz 格式、最大大小为 10 MB 且以 Python 或 BusyBox ash 脚本语言编写。

过程

  1. PowerCLI 会话中,运行 Connect-VIServer cmdlet 以连接到已注册了 vSphere Auto Deploy 的 vCenter Server 系统。
    Connect-VIServer ipv4_or_ipv6_address
    Cmdlet 可能会返回服务器证书警告。在生产环境中,请确保不会产生服务器证书警告。在开发环境中,可以忽略此警告。
  2. 运行 Add-ScriptBundle cmdlet 以将包含必要脚本的脚本包添加到 vSphere Auto Deploy 清单中。
    Add-ScriptBundle c:/temp/MyScriptBundle.tgz
    没有 .tgz 扩展名的脚本包名称是脚本包项的名称标识符或对象。可以使用 -Update 参数和 Add-ScriptBundle cmdlet 更新现有脚本包。
  3. (可选) 运行 Get-ScriptBundle cmdlet 以验证脚本包是否已添加到 vSphere Auto Deploy 清单。
  4. 定义一个规则,将具有某些属性(例如 IP 地址范围)的主机分配给脚本包。
    New-DeployRule -Name "testrule4" -Item "MyScriptBundle" -Pattern "vendor=Acme,Zven", "ipv4=192.XXX.1.10-192.XXX.1.20"

    如果名称包含空格,则必须使用双引号,否则可自由选择是否使用双引号。指定 -AllHosts(而非模式),将项应用于所有主机。

    将创建名为 testrule4 的规则。该规则将名为 My Script Bundle 的脚本包分配给供应商为 Acme 或 Zven 且 IP 地址在指定范围内的所有主机。您可以使用脚本包的名称标识符或 Get-ScriptBundle cmdlet 返回的对象来标识要与该规则关联的脚本包。
  5. 将规则添加到规则集。
    Add-DeployRule testrule4
    默认情况下,该规则将添加到工作规则集和活动规则集。如果使用 NoActivate 参数,则工作规则集不会成为活动规则集。

下一步做什么

  • 对于已使用 vSphere Auto Deploy 置备的主机,请执行合规性测试和修复操作,以使用新的脚本对其进行置备。请参见测试和修复规则合规性
  • 打开未置备的主机,以使用新的脚本对其进行置备。

测试和修复规则合规性

将规则添加到 vSphere Auto Deploy 规则集或修改一个或多个规则时,主机不会自动更新。仅当测试其规则合规性并执行修复时,vSphere Auto Deploy 才应用新规则。

前提条件

  • 准备系统并安装 Auto Deploy 服务器。有关详细信息,请参见为系统准备 vSphere Auto Deploy
  • 验证基础架构是否包含一个或多个使用 vSphere Auto Deploy 置备的 ESXi 主机,并验证安装了 PowerCLI 的主机是否可以访问这些 ESXi 主机。

过程

  1. PowerCLI 会话中,运行 Connect-VIServer cmdlet 以连接到已注册了 vSphere Auto Deploy 的 vCenter Server 系统。
    Connect-VIServer ipv4_or_ipv6_address
    Cmdlet 可能会返回服务器证书警告。在生产环境中,请确保不会产生服务器证书警告。在开发环境中,可以忽略此警告。
  2. 使用 PowerCLI 查看当前可用的 vSphere Auto Deploy 规则。
    Get-DeployRule
    系统返回规则及关联的项目和模式。
  3. 修改可用规则之一。

    例如,您可以更改映像配置文件和规则名称。

    Copy-DeployRule -DeployRule testrule -ReplaceItem MyNewProfile 
    			 
    无法编辑已添加到活动规则集中的规则。但可以复制规则并替换要更改的项目或模式。
  4. 验证您是否可以访问要测试规则集合规性的主机。
    Get-VMHost -Name MyEsxi42
  5. 运行 cmdlet 测试主机的规则集合规性,然后将返回值与变量绑定供以后使用。
    $tr = Test-DeployRuleSetCompliance MyEsxi42
  6. 检查规则集的内容与主机配置之间的区别。
    $tr.itemlist
    如果要对其测试新规则集合规性的主机符合活动规则集,则系统将返回包含当前项目和预期项目的表。
    CurrentItem                             ExpectedItem
    -----------                             ------------   
    My Profile 25                           MyNewProfile
    
  7. 修复主机,以便在下次引导主机时使用修改后的规则集。
    Repair-DeployRuleSetCompliance $tr

下一步做什么

如果您更改的规则指定了清单位置,则更改会在您修复合规性时生效。对于其他所有更改,请重新引导主机以使 vSphere Auto Deploy 应用新规则并实现规则集与主机之间的合规性。

将缓存代理服务器地址注册到 vSphere Auto Deploy

同时引导大量无状态主机将对 vSphere Auto Deploy 服务器造成过重的负载。可以在 vSphere Auto Deploy 服务器和注册到 vSphere Auto Deploy 的一个或多个代理服务器之间对请求进行负载平衡。

前提条件

过程

  1. PowerCLI 会话中,运行 Connect-VIServer cmdlet 以连接到已注册了 vSphere Auto Deploy 的 vCenter Server 系统。
    Connect-VIServer ipv4_or_ipv6_address
    Cmdlet 可能会返回服务器证书警告。在生产环境中,请确保不会产生服务器证书警告。在开发环境中,可以忽略此警告。
  2. 通过运行 Add-ProxyServer cmdlet 将缓存代理服务器地址注册到 vSphere Auto Deploy。
    Add-ProxyServer -Address 'https://proxy_server_ip_address:port_number'
    可以运行 cmdlet 多次以注册多个代理服务器。该地址可以包括端口号。
  3. (可选) 运行 List-ProxyServer cmdlet 以验证缓存代理服务器是否已注册到 vSphere Auto Deploy。