Azure Stack HCI の登録のトラブルシューティング

適用対象: Azure Stack HCI バージョン 22H2 および 21H2

重要

この記事で説明するトラブルシューティング手順は、古いバージョンの Azure Stack HCI バージョン 22H2 に適用されます。 最新の一般公開バージョンである Azure Stack HCI バージョン 23H2 を実行している新しいデプロイのトラブルシューティングについては、「 Azure Stack HCI デプロイの問題のサポートを受ける」を参照してください。

Azure Stack HCI の登録に関する問題のトラブルシューティングを行うには、クラスター内の各サーバーから PowerShell 登録ログと hcisvc デバッグ ログの両方を調べる必要があります。

PowerShell 登録ログを収集する

Register-AzStackHCI および Unregister-AzStackHCI コマンドレットを実行すると、各試行に対して RegisterHCI_{yyyymmdd-hhss}.logUnregisterHCI_{yyyymmdd-hhss}.log という名前のログ ファイルが作成されます。 コマンドレットの パラメーターを使用してこれらのログ ファイルのログ ディレクトリを -LogsDirectory 設定し、 を Register-AzStackHCI 呼び出 Get-AzStackHCILogsDirectory して場所を取得できます。 既定では、これらのファイルは C:\ProgramData\AzureStackHCI\Registration で作成されます。 PowerShell モジュール バージョン 2.1.2 以前の場合、これらのファイルは、コマンドレットが実行される PowerShell セッションの作業ディレクトリに作成されます。

既定では、デバッグ ログは含まれません。 追加のデバッグ ログが必要な問題がある場合は、 または Unregister-AzStackHCIを実行Register-AzStackHCIする前に次のコマンドレットを実行して、デバッグ設定を [続行] に設定します。

$DebugPreference = 'Continue'

オンプレミスの hcisvc ログを収集する

hcisvc のデバッグ ログを有効にするには、クラスター内の各サーバーで、PowerShell で次のコマンドを実行します。

wevtutil.exe sl /q /e:true Microsoft-AzureStack-HCI/Debug

ログを取得するには、次のようにします。

Get-WinEvent -Logname Microsoft-AzureStack-HCI/Debug -Oldest -ErrorAction Ignore

登録できませんでした。 ノード {Node1,Node2} で自己署名証明書を生成できませんでした。 ノード {Node1,Node2} で登録証明書を設定および確認できませんでした

エラー状態の説明:

登録時には、クラスター内の各サーバーが、Azure への送信インターネット接続ができる状態で稼働している必要があります。 Register-AzStackHCI コマンドレットは、クラスター内の各サーバーと接続して証明書をプロビジョニングします。 各サーバーは、証明書を使用して、クラウド内の HCI サービスへの API 呼び出しを行って登録を検証します。

登録に失敗した場合、以下のようなメッセージが表示されることがあります。登録できませんでした。ノード {Node1、Node2} で自己署名証明書を生成できませんでした。ノード {Node1、Node2} で登録証明書を設定および確認できませんでした

エラー メッセージのノードで自己署名証明書を生成できませんでした部分の後にノード名がある場合は、システムでは、それらのサーバーで証明書を生成できていません。

修復アクション:

  1. 上記のメッセージに示されている各サーバーが稼働中であることを確認します。 sc.exe query hcisvc を実行して hcisvc の状態を確認し、必要な場合は start-service hcisvc で起動できます。

  2. エラー メッセージに示されている各サーバーが、Register-AzStackHCI コマンドレットが実行されているコンピューターに接続されていることを確認します。 これを確認するには、Register-AzStackHCI を実行しているコンピューターから次のコマンドレットを実行し、New-PSSession を使用してクラスター内の各サーバーに接続し、動作することを確認します。

    New-PSSession -ComputerName {failing nodes}
    

ノードで登録証明書を設定および確認できませんでしたというエラー メッセージの後にノード名がある場合は、サービスはサーバーで証明書を生成できましたが、サーバーは HCI クラウド サービス API を正常に呼び出すことができませんでした。 トラブルシューティング方法は次のとおりです。

  1. 各サーバーに、Azure Stack HCI クラウド サービスや、Microsoft Entra IDなどの他の必要な Azure サービスと通信するために必要なインターネット接続があり、ファイアウォールによってブロックされていないことを確認します。 Azure Stack HCI のファイアウォール要件に関するページを参照してください。

  2. AzStackHCI.EnvironmentChecker モジュールからコマンドレットを実行Invoke-AzStackHciConnectivityValidationして、成功したことを確認してください。 このコマンドレットは、接続をテストするための HCI クラウド サービスの正常性エンドポイントを呼び出します。

  3. エラー メッセージに表示されている各ノードの hcisvc デバッグ ログを確認します。

    • ExecuteWithRetry AADTokenFetch failed after all retries"(ExecuteWithRetry 操作の AADTokenFetch がすべての再試行後に失敗しました) またはExecuteWithRetry operation AADTokenFetch succeeded in retry"(ExecuteWithRetry 操作の AADTokenFetch が再試行に成功しました) のいずれかで失敗する前に、ExecuteWithRetry operation AADTokenFetch failed with retryable error"(ExecuteWithRetry 操作の AADTokenFetch が再試行可能なエラーで失敗しました) というメッセージが何度か表示されてもかまいません。
    • ログ内のすべての再試行の後に ExecuteWithRetry 操作 AADTokenFetch が失敗した場合、システムはすべての再試行後もサービスからMicrosoft Entra トークンをフェッチできませんでした。 このメッセージと共にログに記録されるMicrosoft Entra例外が関連付けられています。
    • AADSTS700027: クライアント アサーションに無効な署名が含まれてますと表示された場合。[理由 - 使用されているキーの有効期限が切れています。クライアントによって使用されるキーの拇印: '{SomeThumbprint}',Found key 'Start=06/29/2021 21:13:15, End=06/29/2023 21:13:15'、これはサーバーでの時刻の設定方法の問題です。 PowerShell で [System.DateTime]::UtcNow を実行してすべてのサーバーの UTC 時刻を確認し、実際の UTC 時刻と比較します。 時刻が正しくない場合は、サーバーで正しい時刻を設定し、もう一度登録を試してください。

ポータルから HCI リソースを削除し、同じクラスターを再登録すると問題が発生する

エラー状態の説明:

Windows Admin Center または PowerShell からクラスターの登録を解除せずに Microsoft Azure portal から Azure Sack HCI クラスター リソースを明示的に削除した場合、ポータルから直接 HCI Azure Resource Manager リソースを削除すると、クラスター リソースの状態が悪くなります。 登録解除は、クリーンな登録解除のためにUnregister-AzStackHCIコマンドレットを使用して、HCI クラスター内から常にトリガーする必要があります。 このセクションでは、HCI クラスター リソースがポータルから削除されたシナリオのクリーンアップ手順について説明します。

修復アクション:

  1. クラスター ユーザーの資格情報を使用して、オンプレミスの HCI クラスター サーバーにサインインします。
  2. クラスターでUnregister-AzStackHCIコマンドレットを実行して、クラスターの登録状態とクラスターの Arc 状態をクリーンアップします。
    • 登録解除が成功した場合は、Microsoft Entra ID アプリの登録 > (すべてのアプリケーション) に移動し、 とclusterName.arc一致するclusterName名前を検索します。 2 つのアプリ ID が存在する場合は削除します。
    • 登録解除がエラーエラーで失敗した場合: ノード<ノード名>で Azure Arc 統合を無効にできませんでした。ノードでDisable-AzureStackHCIArcIntegrationコマンドレットを実行してみてください。ノードがDisable-AzureStackHCIArcIntegrationを実行できない状態の場合は、クラスターからノードを削除し、Unregister-AzStackHCIコマンドレットをもう一度実行してみてください。個々のノードにサインインします。
      1. Arc エージェントがインストールされている場所にディレクトリを変更します。 cd 'C:\Program Files\AzureConnectedMachineAgent\'
      2. arcmagent.exe の状態を取得し、予測される Azure リソース グループを確認します。 .\azcmagent.exe show このコマンドの出力には、リソース グループの情報が表示されます。
      3. ノードから Arc エージェントを強制的に切断します.\azcmagent.exe disconnect --force-local-only
      4. Azure portal にサインインし、手順 ii で決定したリソース グループから Arc-for-Server リソースを削除します。

ユーザーが誤ってアプリ ID を削除した

エラー状態の説明:

クラスターが 8 時間以上切断されている場合は、HCI クラスターと Arc 登録を表す関連するMicrosoft Entra アプリ登録が誤って削除された可能性があります。 HCI クラスターと Arc のシナリオを適切に機能させるために、登録中にテナントに 2 つのアプリ登録が作成されます。

  • <clustername>アプリ ID が削除されると、Azure portal のクラスター リソース Azure 接続に、切断 - クラスターが 8 時間以上接続されていない状態と表示されます。 ノードの HCIsvc デバッグ ログを確認します。エラー メッセージは、識別子 'ID>' を持つアプリケーションがディレクトリ '<Default Directory' に見つかりませんでした。これは、アプリケーションがテナントの管理者によってインストールされていないか、テナント内の任意のユーザーによって同意されていない場合に発生する可能性があります。認証要求を間違ったテナントに送信した可能性があります。
  • Arc 有効化中に作成された<clustername>.arcが削除された場合、通常の操作中に表示されるエラーはありません。 この ID は、登録および登録解除プロセスの際にのみ必要です。 このシナリオでは、登録解除はエラーで失敗し、"ノード <ノード名>で Azure Arc 統合を無効にできませんでした" というエラーが表示されます。ノードで Disable-AzureStackHCIArcIntegration コマンドレットを実行してみてください。ノードが Disable-AzureStackHCIArcIntegration コマンドレットを実行できない状態の場合は、クラスターからノードを削除し、Unregister-AzStackHCI コマンドレットをもう一度実行してみてください。

これらのアプリケーションのいずれかを削除すると、HCI クラスターからクラウドへの通信に失敗します。

修復アクション:

  • のみが<clustername> AppId削除された場合は、クラスターで修復登録を実行して、Microsoft Entra アプリケーションを設定します。

    Register-AzStackHCI  -SubscriptionId "<subscription_ID>" -ComputerName Server1 -RepairRegistration
    

    登録を修復すると、必要なMicrosoft Entra アプリケーションが再作成され、リソース名、リソース グループ、その他の登録の選択肢などの他の情報が保持されます。

  • <clustername>.arcアプリ ID が削除された場合、ログに表示されるエラーはありません。 が削除された場合 <clustername>.arc 、登録解除は失敗します。 登録解除が失敗した場合は、 このセクションで説明されているのと同じ修復アクションに従います。

ポリシー外エラー

エラー状態の説明:

以前に登録されたクラスターに OutOfPolicy の状態が表示されている場合、システム構成を変更すると、Azure Stack HCI の登録状態がポリシーから外れる可能性があります。

たとえば、システムの変更には次のものが含まれますが、これらに限定されるわけではありません。

  • 登録済みノードでセキュア ブート設定の競合をオフにする。
  • トラステッド プラットフォーム モジュール (TPM) の解除。
  • システム時間の大幅な変更。

注意

KB5010421 を適用した Azure Stack HCI 21H2 以降のバージョンでは、OutOfPolicy 状態からの自動的な回復が試行されます。 現在の OutOfPolicy 状態とその他の情報に関する詳細については、Microsoft-AzureStack-HCI/Admin イベント ログを確認してください。

登録中に表示される 'OutOfPolicy' イベント ID メッセージは何ですか?

イベント ID メッセージには、情報、警告、エラーの 3 種類があります。

次のメッセージは、KB5010421を使用した Azure Stack HCI 21H2 の更新プログラムであり、この KB がインストールされていない場合は表示されません。

情報イベント ID

登録中に発生する情報イベント ID メッセージ。 メッセージ内の提案を確認し、フォローアップします。

  • (情報) イベント ID 592: "Azure Stack HCI データの修復が開始されました。 現時点ではユーザーの追加操作は必要ありません。"

  • (情報) イベント ID 594: "Azure Stack HCI のデータへのアクセスでエラーが発生しました。 修復するには、影響を受けるノードをチェックします。クラスター全体が OutOfPolicy (Get-AzureStackHCI を実行) の場合は、クラスターで Unregister-AzStackHCI を実行し、再起動してから Register-AzStackHCI を実行します。 このノードのみが影響を受けている場合は、クラスターからこのノードを削除し、再起動して修復が完了するまで待ち、クラスターに再び追加します。"

警告イベント ID

警告メッセージでは、登録の状態は完了していません。 問題が存在する場合と、しない場合があります。 トラブルシューティングのステップを実行する前に、まずイベント ID メッセージを確認します。

(警告) イベント ID 585: "Azure Stack HCI で Azure からライセンスを更新できませんでした。 具体的なエラーの詳細を取得するには、Microsoft-AzureStack-HCI/Debug イベント チャネルを有効にしてください。"

注意

自動修復が成功した後に Azure への完全な接続の再確立で遅延が発生ことが予想され、イベント ID 585 が表示される可能性があります。 これは、ノードのワークロードやライセンスには影響しません。 つまり、ノードが自動修復の前に 30 日間の期間を過ぎていない限り、インストール済みのライセンスが引き続き存在します。

注意

Azure Stack HCI の自動復旧が成功しない場合があります。 これは、クラスター内のすべてのノードの登録状態がポリシーから外れている場合に発生する可能性があります。 いくつかの手動の手順が必要です。 Microsoft-AzureStack-HCI/Admin イベント ID メッセージを参照してください。

エラー イベント ID

イベント ID エラー メッセージは、登録プロセスのエラーを識別します。 エラー メッセージは、エラーを解決する方法を示します。

  • (エラー) イベント ID 591: "Azure Stack HCI が Azure に接続できませんでした。 このエラーが表示され続ける場合は、Register-AzStackHCI-RepairRegistrationパラメータで再度実行してみてください。"

  • (エラー) イベント ID 594: "Azure Stack HCI のデータへのアクセスでエラーが発生しました。 修復するには、影響を受けたノードを確認してください。クラスター全体が OutOfPolicy (Get-AzureStackHCIを実行) の場合、クラスターで Unregister-AzStackHCIを実行して再起動し、次に Register-AzStackHCI を実行してください。 このノードのみが影響を受けている場合は、クラスターからこのノードを削除し、再起動して修復が完了するまで待ち、クラスターに再び追加します。"

Microsoft Azure portal にクラスターと Arc リソースが存在するが、Get-AzureStackHCIの状態に "まだ登録されていません" と表示される

エラー状態の説明:

この問題は、間違ったクラウド環境で HCI クラスターの登録を解除するか、サブスクリプション情報が正しくない場合に発生します。 ユーザーがクラスターに対して正しくない -EnvironmentName または -SubcriptionId パラメーターを使用して Unregister-AzStackHCI コマンドレットを実行した場合、クラスターの登録状態はオンプレミス クラスター自体から削除されますが、Azure portal のクラスターと Arc リソースは元の環境またはサブスクリプションに残ります。

次に例を示します。

  • 間違っている -EnvironmentName <value>: 次の例のように -EnvironmentName AzureUSGovernment にクラスターを登録しました。 既定値 -EnvironmentName は "Azurecloud" です。 たとえば、次のコマンドを実行しました。

    Register-AzStackHCI  -SubscriptionId "<subscription_ID>" -EnvironmentName AzureUSGovernment
    

    ただし、その時次のように Unregister-AzStackHCI コマンドレットを -EnvironmentName Azurecloud (既定値) で実行しました。

    Unregister-AzStackHCI -SubscriptionId "<subscription_ID>"
    
  • 間違っている -SubscriptionId <value>: 次のようにクラスター -SubscriptionId "<subscription_id_1>" を登録しました。

    Register-AzStackHCI  -SubscriptionId "<subscription_id_1>"
    

    ただし、その時別のサブスクリプション ID に対して Unregister-AzStackHCI コマンドレットを実行しました。

    Unregister-AzStackHCI -SubscriptionId "<subscription_id_2>"
    

修復アクション:

  1. ポータルからクラスターと Arc リソースを削除します。
  2. Microsoft Entra ID アプリの登録 > (すべてのアプリケーション) に移動し、名前の一致<clusterName><clusterName>.arcを検索し、2 つのアプリ ID を削除します。

クラスターのノードの再起動直後に Sync-AzureStackHCI を発行すると、Arc リソースが削除されます

エラー状態の説明:

ノード同期の前に国勢調査同期を実行すると、同期が Azure に送信される可能性があります。この場合、ノードは含まれません。 これにより、そのノードの Arc リソースが削除されます。 Sync-AzureStackHCIコマンドレットは、HCI クラスターのクラウド接続のデバッグにのみ使用する必要があります。 HCI クラスターは、クラスターの状態を調整するために、再起動後のウォームアップ時間が小さくなります。そのため、ノードの再起動後すぐには実行 Sync-AzureStackHCI しないでください。

修復アクション:

  1. Azure portal で、[インストールされていません] と表示されるノードにサインインします。

  2. 次の 2 つのコマンドを使用して Arc エージェントを切断します。

    cd "C:\Program Files\AzureConnectedMachineAgent"
    

    .\azcmagent.exe disconnect --force-local-only
    
  3. 登録を修復します。

    Register-AzStackHCI  -SubscriptionId "<subscription_ID>" -ComputerName Server1  -RepairRegistration
    
  4. 修復操作の後、ノードは接続状態に戻ります。

登録は正常に完了するが、ポータルで Azure Arc 接続がインストールされていないと表示される

シナリオ 1

エラー状態の説明:

これは、必要なロール Azure Connected Machine Resource Managerが Arc-for-Server リソース グループの HCI リソース プロバイダーから削除された場合に発生する可能性があります。

アクセス許可は、Azure portalのリソース グループの [Access Control] ブレードにあります。 次の図は、アクセス許可を示しています。

アクセス制御ブレードのスクリーンショット。

修復アクション:

修復登録コマンドレットを実行します。

Register-AzStackHCI -TenantId "<tenant_ID>" -SubscriptionId "<subscription_ID>" -ComputerName Server1  -RepairRegistration

シナリオ 2

エラー状態の説明:

このメッセージは、Azure Stack HCI 登録の実行中に発生する一時的な問題が原因である可能性もあります。 その場合、コマンドレットには Register-AzStackHCI 次の警告メッセージが表示されます。

コマンドレットからの出力メッセージ Register-AzStackHCI スクリーンショット。

修復アクション:

登録後、問題が自動的に解決されるまで 12 時間待ちます。

シナリオ 3

エラー状態の説明:

これは、HCI ノードから Azure ARC クラウド サービスに接続するためにプロキシが正しく構成されていない場合にも発生する可能性があります。 Arc エージェント ログに次のエラーが表示される場合があります。

Arc エージェント ログのスクリーンショット。

修復アクション:

この問題を解決するには、ガイドラインに従って プロキシ設定を更新します。 その後、Azure Stack HCI クラスターを再登録します。

Fairfax と Mooncake で証明書をローテーションできない

エラー状態の説明:

  1. Azure portal から、クラスター リソース の Azure 接続[切断済み] と表示されます。
  2. ノード上の HCIsvc デバッグ ログを確認します。 エラー メッセージは 例外です。AADSTS700027: クライアント アサーションの署名検証に失敗しました
  3. このエラーは、 RotateRegistrationCertificate failed: 無効な対象ユーザー として表示される場合もあります。

修復アクション:

クラスターで修復登録を実行して、Microsoft Entra アプリケーションに新しい証明書を追加します。

Register-AzStackHCI  -SubscriptionId "<subscription_ID>" -ComputerName Server1 -RepairRegistration

登録を修復すると、リソース名、リソース グループ、その他の登録の選択肢などの他の情報を保持しながら、Microsoft Entra アプリケーションで新しい置換証明書が生成されます。

OnPremisesPasswordValidationTimeSkew

エラー状態の説明:

Microsoft Entraトークンの生成が失敗し、ローカル ノードの時刻が実際の現在時刻 (UTC) と同期しない場合、時刻エラーが発生します。 Microsoft Entra IDは次のエラーを返します。

AADSTS80013: OnPremisePasswordValidationTimeSkew - 認証エージェントを実行しているコンピューターと AD の間に時間のずれがあるため、認証の試行を完了できませんでした。 時刻同期の問題を解決してください。

修復アクション:

時刻が既知の正確なタイム ソースに同期されていることを確認します。

エラーが発生したテナントのトークンを取得できません

エラー状態の説明:

登録に使用するユーザー アカウントが複数のMicrosoft Entra テナントの一部である場合は、クラスターの登録時と登録解除時に を指定-TenantIdする必要があります。それ以外の場合は、エラーでテナントのトークンを取得できませんというエラーで失敗します。テナントにアクセスするには、多要素認証を使用する必要があります。追加のパラメーター -TenantIdを指定して再実行Connect-AzAccountしてください。

修復アクション:

  • クラスター登録の場合は、 パラメーターを -TenantId 指定します。

    Register-AzStackHCI  -SubscriptionId "<subscription_ID>" -ComputerName Server1 -TenantId <Tenant_ID>
    
  • 登録解除の場合は、 パラメーターを -TenantId 指定します。

    Unregister-AzStackHCI -ComputerName ClusterNode1 -SubscriptionId "<subscription ID GUID>" -ResourceName HCI001 -TenantId <Tenant_ID>
    

Azure に接続できない 1 つ以上のクラスター ノード

エラー状態の説明:

この問題は、登録後に 1 つ以上のクラスター ノードに接続の問題があり、長時間 Azure に接続できなかった場合に発生します。 接続の問題が解決した後でも、証明書の有効期限が切れているため、ノードは Azure に再接続できません。

修復アクション:

  1. 切断されたノードにサインインします。

  2. Disable-AzureStackHCIArcIntegration を実行します。

  3. を実行 Get-AzureStackHCIArcIntegration して ARC 統合の状態を確認し、切断されたノードに対して "無効" と表示されていることを確認します。

    コマンドレットの出力 Get-AzureStackHCIArcIntegration スクリーンショット。

  4. Azure portalにサインインし、このノードの Arc サーバーを表す Azure Resource Manager リソースを削除します。

  5. 切断されたノードにもう一度サインインし、 を実行 Enable-AzureStackHCIArcIntegrationします。

  6. ノードで を実行 Sync-AzureStackHCI します。

VM を作成しようとするとジョブが失敗する

エラー状態の説明:

デプロイ時にクラスターが Azure に登録されていない場合、またはクラスターが登録されていても、30 日を超えて Azure に接続されていない場合、システムでは新しい仮想マシン (VM) の作成や追加は許可されません。 この場合、VM を作成しようとすると、次のエラー メッセージが表示されます。

There was a failure configuring the virtual machine role for 'vmname'. Job failed. Error opening "vmname" clustered roles. The service being accessed is licensed for a particular number of connections. No more connections can be made to the service at this time because there are already as many connections as the service can accept.

修復アクション:

HCI クラスターを Azure に登録します。 クラスターを登録する方法については、 Register-AzStackHCI ドキュメントの手順を参照してください

クラスターリソースと Arc-for-Server リソースに共通リソース グループを使用する

最新の PowerShell モジュールでは、クラスターリソースと Arc-for-Server リソースの両方に共通のリソース グループを用意することも、Arc-for-Server リソースに既存のリソース グループを使用することもできます。

PowerShell モジュール バージョン 1.4.1 以前に登録されているクラスターの場合は、次の手順を実行して新機能を使用できます。

  1. いずれかのノードからを実行 Unregister-AzStackHCI して、クラスターの登録を解除します。 「PowerShell を使用した Azure Stack HCI の登録解除」を参照してください。
  2. 最新の PowerShell モジュールをインストールします。 Install-Module Az.StackHCI -Force
  3. -ArcForServerResourceGroupNameの適切なパラメーター-ResourceGroupNameを渡して実行Register-AzStackHCIします。

注意

Arc-for-Server リソースに別のリソース グループを使用している場合は、Azure Stack HCI にのみ関連する Arc-for-Server リソースを持つリソース グループを使用することをお勧めします。 Azure Stack HCI リソース プロバイダーには、 ArcServerResourceGroup 内の他の Arc-for-Server リソースを管理するためのアクセス許可があります。

次の手順