Azure Arc VM 管理のトラブルシューティング
適用対象: Azure Stack HCI バージョン 23H2
この記事では、Azure Stack HCI クラスターでログを収集し、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 に対してマネージド ID が作成されなかったためです。 ゲスト管理を有効にするには、システム割り当てマネージド ID が必要です。
解決策:
この VM に対してマネージド ID が作成されていないことを確認し、システム割り当てマネージド ID を有効にするには、次の手順に従います。
Azure portal で VM に移動します。 Overview ページに移動します。 Properties タブの Configuration で、Guest 管理は Disabled として表示されます。 右上隅から JSON ビュー を選択します。
パラメーター
Identity
、type
はNone
として表示されます。マネージド ID を作成するには、RDP 経由で Azure Stack HCI サーバーに接続します。 次のコマンドを実行します。
az extension add --name connectedmachine
接続されたマシン 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> ```
次のコマンドを実行して、システム マネージド ID を VM に割り当てます。
az connectedmachine update --ids "<Resource Manager ID for the VM>" --set identity.type="SystemAssigned"
Azure portal に移動し、 Overview ページを参照します。 JSON ビューは、システム マネージド ID が VM に割り当てられていることを示す必要があります。
ストレージ アカウントから VM イメージをデプロイできない
Azure Stack HCI クラスターのストレージ アカウントから 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"}
このエラーは、イメージを作成するユーザーがストレージ アカウントからイメージにアクセスするための適切なアクセス許可を持っていないために発生します。 ユーザーには、イメージに使用するストレージ アカウントに対する Storage BLOB データ共同作成者 ロールが必要です。 詳細については、「 Azure ロールの割り当て BLOB データへのアクセス」を参照してください。
解決策:
このストレージ アカウントからイメージを作成する必要があるユーザーに、 Storage 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 Storage アカウントからの VM イメージの追加」を参照してください。
Arc VM のデプロイに失敗しました
Azure Stack HCI クラスターに 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
マネージド ID オブジェクトが Microsoft.HybridCompute/machines
リソースの種類の下にないためです。
解決策:
デプロイ テンプレートで次のことを確認します。
SystemAssigned
マネージド ID オブジェクトは、リソースの種類ではなく、Microsoft.HybridCompute/machines
リソースの種類Microsoft.AzureStackHCI/VirtualMachineInstances
下にあります。
デプロイ テンプレートは、指定されたサンプル テンプレートと一致している必要があります。 詳細については、「 Azure Stack HCI 上の Arc 仮想マシンを作成するのサンプル テンプレートを参照してください。
ストレージ パスの削除に失敗しました
Azure Stack HCI クラスター上のストレージ パスを削除しようとすると、次のメッセージのようなエラーが表示されることがあります。 リソース番号とバージョンは、シナリオによって異なる場合があります。
エラー: "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 portal と CLI で Azure Resource Manager (ARM) オブジェクトとして表される一般的なワークロードとは異なります。 このエラーは、これらのイメージがファイル システムに直接ダウンロードされ、Azure で認識できなかったために発生します。
ストレージ パスを削除する前に、次の手順に従います。
- 関連付けられているワークロードと、削除するストレージ パスに存在するイメージを削除します。 イメージ名で、
linux-cblmariner
、windows-windows2019
、windows-windows2022
、windows_k8s
、aks-image-merged
、linux-K8s
のプレフィックスを探します。 - Azure portal で サポート チケットを提出。
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"
}