針對 Azure 本機版本 23H2 的 Azure 入口網站 部署驗證問題進行疑難解答
適用於:執行 2405 或更新版本的 Azure 本機版本 23H2
本文提供如何針對透過 Azure 入口網站 部署 Azure 本機期間遇到的部署驗證問題進行疑難解答的指引。
錯誤 - 部署驗證失敗
透過 Azure 入口網站 部署 Azure 本機版本 23H2 時,您可能會遇到部署驗證失敗。 「Azure 局域網路 - 檢查網路需求」驗證工作失敗,並出現下列錯誤:
Could not complete the operation. 400: Resource creation validation failed. Details:
[{"Code":"AnswerFileValidationFailed","Message":"Errors in Value Validation:\r\nPhysicalNodesValidator
found error at deploymentdata.physicalnodes[0].ipv4address: The specified for
\u0027deploymentdata.physicalnodes[0].ipv4address\u0027 is not a valid IPv4 address.
Example: 192.168.0.1 or 192.168.0.1","Target":null,"Details":null}].
如果您在 Azure 入口網站 部署中移至 [網络] 索引標籤,請在 [網络意圖] 組態內看到下列錯誤:
The selected physical network adapter is not binded to the management virtual switch.
原因
此問題會在 8 月 6 日之後觸發的部署上發生。 如果系統上觸發部署驗證且驗證結果失敗,後續的驗證重試就會發生此問題。
發生此問題的原因如下:
- 裝置上的驗證會建立網路相關測試的 VM 交換器,並在測試結束時刪除。
DeviceManagementExtension
擴充功能不會偵測 VM 交換器的刪除。
建議的解決方案
多重步驟解決程式包含下列步驟:
注意
本文中的所有步驟都必須在種子節點上執行。
從種子節點移除鎖定
請遵循下列步驟,從種子節點移除鎖定:
- 若要移除鎖定,請在 Azure 入口網站 中,透過資源群組或機器 - Azure Arc 內移至物件。
- 在左窗格中,移至 [ 設定 > 鎖定]。 您應該會看到名為 DoNotDelete 的鎖定。 這是節點上線時所建立的自動資源鎖定。
- 針對鎖定選取 [ 刪除 ]。
如果您在未移除鎖定的情況下嘗試下一節中的步驟, Delete 命令會失敗,並出現下列錯誤:
Some resources failed to be deleted (run with `--verbose` for more information):
/subscriptions/<subid>/resourceGroups/<rgname>/providers/Microsoft.HybridCompute/machines/<Machine Name>/providers/Microsoft.AzureStackHCI/edgeDevices/default
以下是使用 --verbose
參數執行時的範例輸出:
(ScopeLocked) The scope '/subscriptions/<Subscription ID>/resourceGroups/<Resource Group Name>/providers/Microsoft.HybridCompute/machines/<Machine Name>/providers/Microsoft.AzureStackHCI/edgeDevices/default' cannot perform delete operation because following scope(s) are locked: '/subscriptions/<subid>/resourceGroups/<rgname>/providers/Microsoft.HybridCompute/machines/<Machine Name>'. Please remove the lock and try again.
Code: ScopeLocked
Message: The scope '/subscriptions/<subid>/resourceGroups/<rgname>/providers/Microsoft.HybridCompute/machines/<Machine Name>/providers/Microsoft.AzureStackHCI/edgeDevices/default' cannot perform delete operation because following scope(s) are locked: '/subscriptions/<subid>/resourceGroups/<rgname>/providers/Microsoft.HybridCompute/machines/<Machine Name>'. Please remove the lock and try again.
拿掉驗證錯誤
拿掉鎖定后,請遵循下列步驟來移除驗證錯誤。
聯機到種子節點。 執行下列 PowerShell 命令:
Get-VMSwitch
檢查命令的
Get-VMSwitch
輸出是否有任何未預期的 VM 交換器,例如,在網路驗證步驟期間建立的交換器,且名稱類似:"ConvergedSwitch(compute_management)"
。 交換器的確切名稱取決於所選的網路意圖組態。如果您未刻意建立的 VM 交換器存在,請移除交換器。 執行下列 PowerShell 命令:
Remove-VMSwitch -Name "<VM Switch Name>" -Force
請務必從
Get-VMSwitch
命令使用 VM 交換器名稱。 如果您未刻意建立 VM 參數,Get-VMSwitch
則命令沒有結果。 失敗是因為網路驗證步驟已清除 VM 交換器,但DeviceManagementExtension
未偵測到清除。
繼續進行清除步驟。
使用不正確的 VM 交換器資訊清除 Edge 裝置 Azure 資源
拿掉裝置上的 VM 交換器之後,請清除 Edge Device ARM 資源,其中包含透過 Azure CLI 不正確的 VM 交換器資訊。
在可存取 Azure 的用戶端上,確認安裝或安裝 AZ CLI: 在 Windows 上安裝 Azure CLI
- 您可以執行下列命令來確認安裝:
az
- 如果已安裝,這會輸出具有
"Welcome to Azure CLI!"
可用命令的訊息。
- 您可以執行下列命令來確認安裝:
使用 Azure CLI 登入 Azure。 執行以下命令:
az login --tenant <tenant ID> --use-device-code
如需詳細資訊, 請使用 Azure CLI 以互動方式登入
若要設定特定的訂用帳戶,請執行下列命令:
az account set --subscription "<Subscription ID>"
將上述範例命令中的值取代為
<Subscription ID>
的適當值。輸出儲存在資源中的數據
edgeDevices
,該資源中儲存的 VM 交換器資訊不正確。 執行以下命令:az resource show --ids "/subscriptions/<Subscription ID>/resourceGroups/<Resource Group Name>/providers/Microsoft.HybridCompute/machines/<Machine Name>/providers/Microsoft.AzureStackHCI/edgeDevices/default"
將上述範例命令中的值取代為 :
<Subscription ID>
、<Resource Group Name>
和<Machine Name>
的適當值。以下為範例輸出:
az resource show --ids "/subscriptions/<Subscription ID>/resourceGroups/<Resource Group Name>/providers/Microsoft.HybridCompute/machines/ASRR1N26R15U33/providers/Microsoft.AzureStackHCI/edgeDevices/default"
此命令的輸出會顯示命令中所用計算機名稱>的相當詳細<數據。 在輸出底部附近,會有一個 區段
"switchDetails"
,其可能會顯示下列內容(這是在裝置上建立和清除的驗證 VM 交換器,但未由 DeviceManagementExtension 和更新的雲端偵測到):"switchName": "ConvergedSwitch(managementcompute)",
"switchType": "External"
確認
show
命令的運作方式是輸出edgeDevices
數據,並可能確認"switchDetails"
,現在是從 ARM 取得資源的時間delete
,以便從種子節點適當地重新整理它。注意
edgeDevices
刪除數據是執行的安全動作,但只有在明確表示時才應該執行。 除非建議這麼做,否則請勿執行此動作。刪除資源
edgeDevices
,其儲存的 VM 交換器資訊不正確。 執行以下命令:az resource delete --ids "/subscriptions/<Subscription ID>/resourceGroups/<Resource Group Name>/providers/Microsoft.HybridCompute/machines/<Machine Name>/providers/Microsoft.AzureStackHCI/edgeDevices/default"
將值取代為適當的值,以下列專案取代這些值(請記得移除 <> 字元)
<subGUID>
<resourceGROUPNAME>
<Machine Name>
這是 來自的
show
相同資源--ids
,因此您可以只使用相同的字串。 事實上,您可以直接在控制台中「向上箭號」,並將 取代show
為delete
。以下為範例輸出:
`az resource delete --ids "/subscriptions/<Subscription ID>/resourceGroups/<Resource Group Name>/providers/Microsoft.HybridCompute/machines/<Machine Name>/providers/Microsoft.AzureStackHCI/edgeDevices/default"
執行時,此命令沒有輸出。 此命令可運作並傳回命令提示字元,或顯示錯誤。 它不應該顯示錯誤,但如果發生錯誤,則需要進行更多疑難解答。
再次執行
show
命令來確認刪除資源。 以下為範例輸出:(ResourceNotFound) The resource 'Microsoft.HybridCompute/machines/<Machine Name>/providers/Microsoft.AzureStackHCI/edgeDevices/default' could not be found. Code: ResourceNotFound Message: The resource 'Microsoft.HybridCompute/machines/<Machine Name>/providers/Microsoft.AzureStackHCI/edgeDevices/default' could not be found.
重新整理雲端 edgeDevices
數據
拿掉 ARM 資源及所有非預期的 VM 交換器後,請重新整理雲端端 edgeDevices
數據。
請遵循下列步驟來重新整理雲端資料:
DeviceManagementService
在種子節點上重新啟動 。 執行下列 PowerShell 命令:Restart-Service DeviceManagementService
等候幾分鐘,然後確認雲端
edgeDevices
數據已更新並反映目前狀態。 再次執行show
命令並檢閱輸出。 請確定輸出不再包含任何非預期的 VM 交換器,也就是:"switchName": "ConvergedSwitch(managementcompute)",
"switchType": "External"
透過 Azure 入口網站 重新啟動部署
使用裝置和雲端數據現在會同步處理,您可以移至 Azure 入口網站 並提供部署輸入。 上一個步驟會防止先前嘗試的任何快取資訊。
在 Azure 入口網站中遵循以下步驟:
在 [ 基本] 索引 標籤上,提供您的輸入(再次從下拉式清單選取)到頂端的欄位。
取消核取頁面底部的節點。
重新驗證重新選取的節點。
確認後續頁面上的資訊。 您應該會看到下列變更:
- 在 [ 網络] 頁面上,您不應該再看到
The selected physical network adapter is not binded to the management virtual Switch
先前可能看到的錯誤。 - 在結尾的 [ 驗證] 頁面上,如果您超過原始問題,
deploymentdata.physicalnodes[0].ipv4address is not a valid IPv4 address
就不會顯示錯誤。
- 在 [ 網络] 頁面上,您不應該再看到
如果沒有其他驗證問題發生,請啟動部署。
在種子節點資源上重新建立鎖定
風險降低完成後,強烈建議您在資源上重新建立鎖定。
請遵循下列步驟來重新建立鎖定:
- 在 Azure 入口網站 中,透過資源群組或機器 - Azure Arc 內移至物件。
- 移至 [ 設定 > 鎖定]。
- 選取 頁面頂端的 [+ 新增 ]。
- 針對 [鎖定名稱],輸入 DoNotDelete。
- 針對 [鎖定類型],從下拉式清單中選取 [ 刪除 ]。
- 選取 [ 確定 ] 以儲存鎖定。