共用方式為


針對 Azure 本機的 Azure Arc VM 管理進行疑難解答

適用於:Azure 本機版本 23H2

本文提供如何收集記錄,並針對 Azure 本機實例上的 Azure Arc 虛擬機 (VM) 問題進行疑難解答的指引。 它也會列出 Azure Arc VM 管理目前存在的限制和已知問題。

針對 Azure Arc VM 進行疑難解答

本節說明與 Azure Arc VM 管理及其建議解決方案相關的錯誤。

嘗試啟用來賓管理時失敗

試著執行 命令以啟用來賓管理時,您會看到下列錯誤:

錯誤Deployment failed. Correlation ID: aaaa0000-bb11-2222-33cc-444444dddddd. VM Spec validation failed for guest agent provisioning: Invalid managed identity. A system-assigned managed identity must be enabled in parent resource: Invalid Configuration

此失敗是因為未為此 VM 建立受控識別。 需要系統指派的受控識別才能啟用來賓管理。

解決方法:

請遵循下列步驟來確認未為此 VM 建立受控識別,然後啟用系統指派的受控識別。

  1. 在 Azure 入口網站 中,移至 VM。 流覽至 [ 概觀 ] 頁面。 在 [屬性] 索引標籤的 [設定] 底下[來賓管理] 應該會顯示為 [已停用]。 從右上角選取 [JSON 檢視]。

    如何取得 JSON 檢視的螢幕快照。

  2. 在 參數下 Identity ,應該 type 會顯示為 None

    JSON 檢視的螢幕快照,指出受控識別不存在。

  3. 若要建立受控識別,請透過 RDP 連線到 Azure 本機電腦。 執行以下命令:

    az extension add --name connectedmachine
    
  4. 確認系統上已安裝連接的機器 CLI 擴充功能。 以下是已成功安裝延伸模組的範例輸出。 connectedmachine表示已安裝 0.7.0 版。

    [v-hostl]: PS C:\Clusterstorage\lnfrastructure_l\ArcHci> az version
    {
    "azure-cli": "2.53.0",
    "azure-cli-core": "2.53.0",
    "azure-cli-telemetry": "1.1.0",
    "extensions": {
        "akshybrid": "0.1.1",
        "arcappliance"^ "1.0.2",
        "connectedk8s": "1.5.4",
        "connectedmachine": "0.7.0",
        "customlocation": "0.1.3",
        "hybridaks": "0.2.4",
        "k8s-extension": "1.4.5",
        "stack-hci-vm": "0.1.8"
        }
    }
    [v-hostl]: PS C:\ClusterStorage\Infrastructure_l\ArcHci>
        ```
    
  5. 執行下列命令,將系統受控識別指派給 VM。

    az connectedmachine update --ids "<Resource Manager ID for the VM>" --set identity.type="SystemAssigned"
    
  6. 移至 Azure 入口網站 並流覽至 [概觀] 頁面。 JSON 檢視應該指出系統受控識別現在已指派給 VM。

    啟用受控識別時的 JSON 檢視螢幕快照。

從記憶體帳戶部署 VM 映像失敗

當您嘗試從 Azure 本機上的記憶體帳戶部署 VM 映射時,您會看到下列錯誤:

錯誤{"code":"moc-operator galleryimage serviceClient returned an error while reconciling: rpc error: code = Unknown desc = ===== RESPONSE ERROR (ErrorCode=AuthorizationPermissionMismatch) =====\nDescription=, Details: (none)\n","message":"moc-operator galleryimage serviceClient returned an error while reconciling: rpc error: code = Unknown desc = ===== RESPONSE ERROR (ErrorCode=AuthorizationPermissionMismatch) =====\nDescription=, Details: (none)\n"}

或者,您會看到此錯誤:

錯誤{"code":"moc-operator galleryimage serviceClient returned an error while reconciling: rpc error: code = Unknown desc = ===== RESPONSE ERROR (ErrorCode=NoAuthenticationInformation) =====\nDescription=, Details: (none)\n","message":"moc-operator galleryimage serviceClient returned an error while reconciling: rpc error: code = Unknown desc = ===== RESPONSE ERROR (ErrorCode=NoAuthenticationInformation) =====\nDescription=, Details: (none)\n"}

因為建立映像的用戶沒有從記憶體帳戶存取映像的正確許可權,因此會發生失敗。 用戶必須在您用於映像的記憶體帳戶上具有 記憶體 Blob 數據參與者 角色。 如需詳細資訊,請參閱 指派 Azure 角色 以存取 Blob 數據。

解決方法:

將記憶體 Blob 數據參與者 角色新增至需要從此記憶體帳戶建立映像的使用者。 新增角色之後,請重試部署映像。

您也可以在試著從記憶體帳戶部署 VM 映像時看到下列錯誤:

錯誤{"code":"moc-operator galleryimage serviceClient returned an error while reconciling: rpc error: code = Unknown desc = ===== RESPONSE ERROR (ErrorCode=InvalidBlobType) =====\nDescription=The blob type is invalid for this operation.\nRequestId:5e74055f-e01e-0033-66eb-ff9734000000\nTime:2024-09-05T23:32:56.3001852Z, Details: (none)\n","message":"moc-operator galleryimage serviceClient returned an error while reconciling: rpc error: code = Unknown desc = ===== RESPONSE ERROR (ErrorCode=InvalidBlobType) =====\nDescription=The blob type is invalid for this operation.\nRequestId:5e74055f-e01e-0033-66eb-ff9734000000\nTime:2024-09-05T23:32:56.3001852Z, Details: (none)\n","additionalInfo":[{"type":"ErrorInfo","info":{"category":"Uncategorized","recommendedAction":"","troubleshootingURL":""}}]}

此失敗是因為記憶體帳戶內的 Blob 類型不正確。 映射的類型必須為 page blob

解決方法:

在 中 page blob format 將映像上傳至您的記憶體帳戶,然後重試部署映射。

請確定使用者具有正確的許可權,且 Blob 的格式正確。 如需詳細資訊,請參閱從 Azure 儲存體 帳戶新增 VM 映射。

部署 Arc VM 失敗

嘗試在 Azure 本機上部署 Arc VM 時,您會看到下列錯誤:

錯誤{"code":"ConflictingOperation","message":"Unable to process request 'Microsoft.AzureStackHCI/virtualMachineInstances'. There is already a previous running operation for resource '/subscriptions/<subscription ID>/resourceGroups/<Resource group name>/providers/Microsoft.HybridCompute/machines/<VM name>/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default'. Please wait for the previous operation to complete."}

此失敗是因為 SystemAssigned 受控識別物件不在資源類型下 Microsoft.HybridCompute/machines

解決方法:

在部署範本中確認:

受控 SystemAssigned 識別對象位於資源類型之下 Microsoft.HybridCompute/machines ,而不是在資源類型下 Microsoft.AzureStackHCI/VirtualMachineInstances

部署範本應該符合提供的範例範本。 如需詳細資訊,請參閱在 Azure 本機上建立 Arc 虛擬機中的範例範本。

刪除記憶體路徑失敗

嘗試刪除 Azure 本機實例上的記憶體路徑時,您可能會看到類似下列訊息的錯誤。 您的案例中,資源號碼和版本可能會有所不同。

錯誤"errorMessage" serviceClient returned an error during deletion: The storage container service returned an error during deletion: rpc error: code = Unknown desc = Container is in ACTIVE use by Resources [6:
- linux-cblmariner-0.2.0.10503
- windows-windows2019-0.2.0.10503
- windows-windows2022-0.2.0.10503
].
Remove all the Resources from this container, before trying to delete: In Use: Failed,

解決方法:

錯誤訊息中列出的映像與一般工作負載不同,這些工作負載在 Azure 入口網站 和 CLI 上以 Azure Resource Manager (ARM) 物件表示。 之所以發生此錯誤,是因為這些映像會直接下載到無法辨識 Azure 的文件系統上。

請先遵循下列步驟,再嘗試移除記憶體路徑:

  1. 拿掉您想要刪除之記憶體路徑上相關聯的工作負載和映像。 在映像名稱上尋找下列前置詞:linux-cblmariner、、、windows-windows2019windows_k8swindows-windows2022aks-image-mergedlinux-K8s
  2. 在 Azure 入口網站 中提出支援票證。

無法辨識 Azure CLI 安裝

如果您的環境在安裝后無法辨識 Azure CLI,請執行下列程式代碼區塊,將 Azure CLI 安裝路徑新增至環境路徑。

        if ( -not( $env:PATH -like '*C:\Program Files (x86)\Microsoft SDKs\Azure\CLI2\wbin*') ) {
            $env:PATH += "C:\Program Files (x86)\Microsoft SDKs\Azure\CLI2\wbin;"
            Write-Host "Updated path $env:PATH"
        }

下一步