透過變更主機的規則並執行測試,您可以在 PowerCLI 工作階段中使用 vSphere Auto Deploy 來重新佈建使用新映像設定檔的主機,並修復符合性作業。

執行這項作業的原因和時機

存在多個用於重新佈建主機的選項。

  • 如果要使用的 VIB 支援即時更新,則可以使用 esxcli software vib 命令。在這種情況下,您還必須更新規則集才能使用包含新 VIB 的映像設定檔。

  • 在測試期間,您可以使用 Apply-EsxImageProfile cmdlet 將映像設定檔套用到個別主機,然後將主機重新開機,變更即可生效。Apply-EsxImageProfile cmdlet 可更新主機和映像設定檔之間的關聯,但不會在主機上安裝 VIB。

  • 在所有其他情況下,請使用此程序。

先決條件

  • 確認想要用於重新佈建主機的映像設定檔都是可以使用的。在 PowerCLI 工作階段中使用 vSphere ESXi Image Builder。請參閱使用 vSphere ESXi Image Builder 自訂安裝

  • 確認首次開機作業期間所執行的設定保持不變。

程序

  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_imageprofile                           my_new_imageprofile
      
    4. 修復主機,下次將主機開機時即可使用修訂的規則集。
      Repair-DeployRuleSetCompliance $tr
  7. 重新開機主機以使用新映像設定檔佈建該主機。