您可以在 PowerCLI 会话中,更改适用于主机的规则并执行测试和修复合规性操作,以便使用 vSphere Auto Deploy 用新的映像配置文件重新置备主机。

重新置备主机存在多个选项。

  • 如果要使用的 VIB 支持实时更新,则可以使用 esxcli software vib 命令。在这种情况下,还必须更新规则集以使用包含新 VIB 的映像配置文件。
  • 测试过程中,可以使用 Apply-EsxImageProfile cmdlet 将映像配置文件应用于单个主机并重新引导主机以使更改生效。Apply-EsxImageProfile cmdlet 可更新主机和映像配置文件之间的关联,但不在主机上安装 VIB。
  • 在其他所有情况下,请使用此过程。

前提条件

过程

  1. 在 PowerShell 提示符下,运行 Connect-VIServer PowerCLI 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 文件下载到本地文件路径,或者在 PowerCLI 计算机本地创建一个挂载点。
    2. 运行 Add-EsxSoftwareDepot C:\file_path\my_offline_depot.zip
  4. 运行 Get-EsxImageProfile 查看映像配置文件列表,并决定要使用的配置文件。
  5. 运行 Copy-DeployRule 并指定 ReplaceItem 参数以更改将映像配置文件分配给主机的规则。
    以下 cmdlet 使用 my_new_imageprofile 配置文件替换规则分配给主机的当前映像配置文件。cmdlet 完成后, myrule 会将新映像配置文件分配给主机。重命名并隐藏旧版本的 myrule
    Copy-DeployRule myrule -ReplaceItem my_new_imageprofile
  6. 测试要将映像部署到的每个主机的规则合规性。
    1. 验证您是否可以访问要测试规则集合规性的主机。
      Get-VMHost -Name ESXi_hostname
    2. 运行 cmdlet 测试主机的规则集合规性,然后将返回值与变量绑定供以后使用。
      $tr = Test-DeployRuleSetCompliance ESXi_hostname
    3. 检查规则集的内容与主机配置之间的区别。
      $tr.itemlist
      如果要为其测试新规则集合规性的主机与活动规则集相符,系统将返回一个当前和预期项目表。
      CurrentItem                             ExpectedItem
      -----------                             ------------   
      my_old_imageprofilemy_new_imageprofile
    4. 修复主机,以便在下次引导主机时使用修改后的规则集。
      Repair-DeployRuleSetCompliance $tr
  7. 重新引导主机,以使用新映像配置文件置备主机。