使用 Set-ToolsRepo run 命令

本文將教你如何從頭到尾使用 Set-ToolsRepo run 指令、如何下載並架設正確的 VMware Tools ZIP 檔 GuestStore 版本,以及如何驗證成功。

何時使用 Set-ToolsRepo run 指令

當您想要執行下列操作時,請使用 Set-ToolsRepo 執行命令:

  • 提供特定的 VMware Tools 版本,供 Azure VMware 解決方案 私有雲中安裝及升級 VM 訪客工具使用。
  • 集中發布 VMware Tools ZIP 檔案的 GuestStore 版本至 VMware Tools 的 vSAN 中央位置,讓所有相關主機都能參考該套件。

先決條件

  • 一個公開可存取的 HTTP 或 HTTPS URL,指向你 VMware Tools ZIP 檔案的 GuestStore 版本。 執行 Azure VMware 解決方案 指令時,URL 必須能從執行環境中存取。
  • 可在 Azure 入口網站中,針對目標私人雲端執行 Azure VMware 解決方案 執行命令套件的權限。

預期的 ZIP 內容

您上傳的 ZIP 檔案必須:

  • 在預期的目錄結構中加入 VMware Tools 的承載目錄。
  • 請將版本化資料夾放在該 vmware/apps/vmtools/windows64/vmtools-<version>/ 區塊下方。 資料夾名稱必須遵循格式 vmtools-<version> (例如, vmtools-12.4.0。

-驗證選項

此 -Validate 選項啟用 VMware Tools 儲存庫的唯讀稽核模式。 當你指定此選項時,Set-ToolsRepo 會檢查目前的資料存放區中繼資料檔案,而不會對你的環境進行任何變更。

何時使用 -Validate 選項

  • 在執行 Set-ToolsRepo 之前,先進行基準檢查
  • 執行 Set-ToolsRepo後,確認一切同步
  • 如果你懷疑存放庫或同步有問題,並且想要快速進行唯讀檢查

-Validate 選項會檢查哪些項目

  • 識別出軟體定義資料中心(SDDC)中的所有 vSAN 資料存放區
  • 讀取儲存庫中繼資料(top-level-metadata.json 和 version-metadata.json)
  • 驗證元資料與資料儲存狀態的一致性與同步

-Validate 選項執行的結果

  • PASS:版本相符且資料儲存庫同步。
  • FAIL:偵測到不匹配或不一致。

常見的 Validate 選項失敗

  • 中繼資料不符:請使用有效的 VMware Tools ZIP URL(不使用 -Validate 選項)重新執行 Set-ToolsRepo,以重新部署或修復存放庫。 然後執行 Set-ToolsRepo -Validate 確認元資料是否同步。
  • 找不到 GuestStore 路徑:儲存庫可能遺失或無法存取。 執行 Set-ToolsRepo 並提供有效的 ZIP URL(不使用 -Validate 選項),即可部署或重新初始化。 然後執行 Set-ToolsRepo -Validate 執行,確認儲存庫是否存在且同步。

VMware Tools ZIP 網址

Set-ToolsRepo run 指令接受可公開存取的 HTTP 或 HTTPS URL,該 URL 指向 GuestStore 版本的 VMware Tools ZIP 檔;此 ZIP 檔將會發佈到 vSAN 的 VMware Tools 中央位置。

在指令進行任何變更之前,先對以下項目進行驗證:

  • 網址使用 HTTP 或 HTTPS 格式,且為直接下載連結。
  • 該檔案可無需互動式認證即可存取,且可端對端下載。

端對端工作流程

  1. 下載所需的 VMware Tools 版本。

    取得您要發佈到 vSAN 的 VMware Tools 中央位置之特定版本的 GuestStore 版 VMware Tools ZIP 檔案。

  2. 將 ZIP 寄存於公開可存取的 HTTP 或 HTTPS URL。 例如,使用任何能在無需互動認證的情況下提供檔案的網頁伺服器或物件儲存。

    接著,提供該直接下載的網址,方便搭配 run 指令使用。

    這很重要

    該 URL 必須是直接下載連結,且無需互動式認證即可存取,這樣 run 指令才能取得 ZIP 檔。

  3. 執行 Azure VMware 解決方案 Set-ToolsRepo run 命令。 提供第二步的 ZIP 網址。

    當指令結束時,其輸出會顯示成功或顯示錯誤訊息。

  4. VMware 工具套件已發布。

    所要求的版本可從 VMware Tools 的 vSAN 中央位置取得,適用於私有雲。

  5. 主機已設定為使用 vSAN 儲存庫。

    作為執行指令的一部分,私有雲中相關的 ESXi 主機會更新為使用 vSAN 中央位置作為 VMware 工具的來源。

驗證

成功執行 Set-ToolsRepo run 命令後,請依照以下驗證步驟進行:

  1. 到你的 vCenter 用戶端,瀏覽 vSAN 資料儲存庫。 確認版本資料夾是否存在於 GuestStore/vmware/apps/vmtools/windows64/。

  2. 確認正確的 VMware Tools 版本可安裝或升級,並可從訪客測試虛擬機(VM)中安裝或升級。

  3. 如果在執行指令操作成功後,VMware 工具出現任何問題,請擷取指令輸出並開啟支援請求。

Troubleshooting

如果執行指令失敗,最常見的客戶端原因包括:

  • 該網址無法公開直接下載連結。
  • ZIP 檔案沒有包含預期的資料夾結構。

請使用錯誤訊息並配合以下故障排除步驟。

網址或下載問題

  • 網址無法存取或下載失敗。 確認該網址是從外部網路開啟,且是直接下載連結。 也請確認該網址不需要登入、多重驗證或限時令牌。
  • TLS/SSL 錯誤。 確保 HTTPS 端點支援現代 TLS 並提供有效的憑證。

ZIP 結構問題

  • 找不到預期資料夾。 請確認 ZIP 檔案中包含 vmware/apps/vmtools/windows64/vmtools-<version>(包括最上層的 vmware/ 目錄)。
  • 多個版本都集中在一個 ZIP 檔裡。 架設一個只包含你打算發佈的單一版本的 ZIP 檔,並設有一個 vmtools-<version> 資料夾。

資料儲存問題

  • 服務端發佈或設定錯誤。 如果 URL 和 ZIP 結構正確但執行指令仍然失敗,請擷取指令的完整輸出並開啟支援請求。
  • 間歇性故障。 確認 ZIP URL 仍然有效且可存取後,再重新嘗試執行執行指令。

VMware Tools 升級選項目前版本無法使用,且不存在

vCenter 中的虛擬機器可能會提供 VMware Tools 安裝或升級選項 (顯示為灰色)。 這種情況可能發生在 VMware Tools 資料庫中 vSAN 資料儲存庫的元資料不一致或錯誤時。

為了解決,請使用以下程序。

檢查 GuestStore 中的儲存庫元資料

  1. 前往 vSAN 資料存放區>\GuestStore>\vmware>\apps>\vmtools>\windows64。

    vSAN 資料庫中 GuestStore 路徑的截圖。

  2. 請查閱以下檔案:

    • 頂層元資料: windows64/metadata.json。

      Windows 64 目錄中頂層 metadata.json 檔案的截圖。

    • 版本專屬的元資料: windows64/vmtools-<version>/metadata.json。

      vmtools 版本資料夾內版本專屬 metadata.json 檔案的截圖。

驗證元資料一致性

頂層 metadata.json 檔案與特定 metadata.json 版本檔案應:

  • 符合相同的 VMware Tools 版本。
  • 彼此之間要保持一致(如參考截圖所示)。

如果匹配,元資料就是一致的。 如果不匹配,元資料就會不一致。

修正元資料不一致(若已偵測到)

如果 頂層檔案 錯誤:

  1. 刪除 windows64/metadata.json (例如, vSAN Datastore/GuestStore/vmware/apps/vmtools/windows64/metadata.json)。

  2. 上傳你已上傳的最高版本 VMware Tools 套件中的正確 windows64/metadata.json 檔案。

如果 特定版本檔案 有誤:

  1. 刪除 windows64/vmtools-<version>/metadata.json (例如, vSAN Datastore/GuestStore/vmware/apps/vmtools/windows64/vmtools-<version>/metadata.json)。

  2. 從先前上傳的最高版本 VMware Tools 套件中,上傳正確 windows64/vmtools-<version>/metadata.json 檔案。

同時也要確保兩個元資料檔案都符合 VMware Tools 版本。

等待主機刷新

給時間讓變更在主機間傳播。 最多可能需要 24 小時。

驗證解析度

在 vCenter 裡重新檢查虛擬機。 VMware 工具 的安裝 或 升級 選項現在應該已經開放了。

確認一致性(可選)

執行 Set-ToolsRepo -Validate 以確認中繼資料一致性。