Azure Stack HCI の登録のトラブルシューティング
適用対象: Azure Stack HCI バージョン 22H2
重要
この記事で説明するトラブルシューティング手順は、古いバージョンの Azure Stack HCI バージョン 22H2 に適用されます。 一般公開されている最新バージョンの Azure Stack HCI バージョン 23H2 を実行している新しいデプロイのトラブルシューティングについては、「 Get support for Azure Stack HCI deployment issuesを参照してください。
Azure Stack HCI の登録に関する問題のトラブルシューティングを行うには、クラスター内の各サーバーから PowerShell 登録ログと hcisvc デバッグ ログの両方を調べる必要があります。
PowerShell 登録ログを収集する
Register-AzStackHCI
および Unregister-AzStackHCI
コマンドレットを実行すると、各試行に対して RegisterHCI_{yyyymmdd-hhss}.log と UnregisterHCI_{yyyymmdd-hhss}.log という名前のログ ファイルが作成されます。 これらのログ ファイルのログ ディレクトリは、Register-AzStackHCI
コマンドレットの -LogsDirectory
パラメーターを使用して設定し、Get-AzStackHCILogsDirectory
を呼び出して場所を取得できます。 既定では、これらのファイルは C:\ProgramData\AzureStackHCI\Registration に作成されます。 PowerShell モジュール バージョン 2.1.2 以前の場合、これらのファイルは、コマンドレットが実行される PowerShell セッションの作業ディレクトリに作成されます。
既定では、デバッグ ログは含まれません。 追加のデバッグ ログが必要な問題がある場合は、Register-AzStackHCI
またはUnregister-AzStackHCI
を実行する前に次のコマンドレットを実行してデバッグ設定を Continue に設定します。
$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} で登録証明書を設定および確認できませんでした
エラー メッセージのノードで自己署名証明書を生成できませんでした部分の後にノード名がある場合は、システムでは、それらのサーバーで証明書を生成できていません。
修復アクション:
上記のメッセージに示されている各サーバーが稼働中であることを確認します。
sc.exe query hcisvc
を実行して hcisvc の状態を確認し、必要な場合はstart-service hcisvc
で起動できます。エラー メッセージに示されている各サーバーが、
Register-AzStackHCI
コマンドレットが実行されているコンピューターに接続されていることを確認します。 これを確認するには、Register-AzStackHCI
を実行しているコンピューターから次のコマンドレットを実行し、New-PSSession
を使用してクラスター内の各サーバーに接続し、動作することを確認します。New-PSSession -ComputerName {failing nodes}
ノードで登録証明書を設定および確認できませんでしたというエラー メッセージの後にノード名がある場合は、サービスはサーバーで証明書を生成できましたが、サーバーは HCI クラウド サービス API を正常に呼び出すことができませんでした。 トラブルシューティングを行うには:
各サーバーが、Azure Stack HCI クラウド サービスやその他の必要な Azure サービス (Microsoft Entra ID など) と通信するために必要なインターネット接続を備え、ファイアウォールによってブロックされていないことを確認します。 Azure Stack HCI のファイアウォール要件に関するページを参照してください。
AzStackHCI.EnvironmentChecker モジュールから
Invoke-AzStackHciConnectivityValidation
コマンドレットを実行して、成功したことを確認します。 このコマンドレットは、接続をテストするための HCI クラウド サービスの正常性エンドポイントを呼び出します。エラー メッセージに表示されている各ノードの 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 クラスター リソースがポータルから削除されたシナリオのクリーンアップ手順について説明します。
修復アクション:
- クラスター ユーザーの資格情報を使用して、オンプレミスの HCI クラスター サーバーにサインインします。
- クラスターで
Unregister-AzStackHCI
コマンドレットを実行して、クラスターの登録状態とクラスターの Arc 状態をクリーンアップします。- 登録解除が成功した場合は、Microsoft Entra ID > アプリの登録 (すべてのアプリケーション)に移動し、
clusterName
とclusterName.arc
に一致する名前を検索します。 2 つのアプリ ID が存在する場合は削除します。 - エラー ERROR: ノード <node 名で Azure Arc 統合を無効にできませんでした>登録解除が失敗した場合は、ノードで
Disable-AzureStackHCIArcIntegration
コマンドレットを実行してみてください。ノードがDisable-AzureStackHCIArcIntegration
実行できない状態にある場合は、クラスターからノードを削除し、Unregister-AzStackHCI
コマンドレットをもう一度実行してみてください。 各ノードにサインインします。- Arc エージェントがインストールされている場所にディレクトリを変更します。
cd 'C:\Program Files\AzureConnectedMachineAgent\'
。 - arcmagent.exeの状態を取得し、予測される Azure リソース グループを決定します:
.\azcmagent.exe show
。 このコマンドの出力には、リソース グループの情報が表示されます。 - ノードから Arc エージェントを強制的に切断します。
.\azcmagent.exe disconnect --force-local-only
。 - Azure portal にサインインし、手順 ii で決定したリソース グループから Arc-for-Server リソースを削除します。
- Arc エージェントがインストールされている場所にディレクトリを変更します。
- 登録解除が成功した場合は、Microsoft Entra ID > アプリの登録 (すべてのアプリケーション)に移動し、
ユーザーが誤ってアプリ 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) の解除。
- システム時間の大幅な変更。
Note
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 イベント チャネルを有効にしてください。"
Note
自動修復が成功した後に Azure への完全な接続の再確立で遅延が発生ことが予想され、イベント ID 585 が表示される可能性があります。 これは、ノードのワークロードやライセンスには影響しません。 つまり、ノードが自動修復の前に 30 日間の期間を過ぎていない限り、インストール済みのライセンスが引き続き存在します。
Note
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>"
修復アクション:
- ポータルからクラスターと Arc リソースを削除します。
- Microsoft Entra ID > アプリの登録 (すべてのアプリケーション)に移動し、
<clusterName>
と<clusterName>.arc
に一致する名前を検索してから、2 つのアプリ ID を削除します。
クラスターのノードの再起動直後に Sync-AzureStackHCI を発行すると、Arc リソースが削除されます
エラー状態の説明:
ノード同期の前に国勢調査同期を実行すると、同期が Azure に送信される可能性があり、ノードは含まれません。 これにより、そのノードの Arc リソースが削除されます。 Sync-AzureStackHCI
コマンドレットは、HCI クラスターのクラウド接続のデバッグにのみ使用する必要があります。 HCI クラスターは、再起動後のウォームアップ時間が少なく、クラスターの状態を調整します。そのため、ノードの再起動後すぐに Sync-AzureStackHCI
を実行しないでください。
修復アクション:
Azure portal で、[インストールされていません] と表示されるノードにサインインします。
次の 2 つのコマンドを使用して Arc エージェントを切断します。
cd "C:\Program Files\AzureConnectedMachineAgent"
と
.\azcmagent.exe disconnect --force-local-only
登録を修復します。
Register-AzStackHCI -SubscriptionId "<subscription_ID>" -ComputerName Server1 -RepairRegistration
修復操作の後、ノードは接続状態に戻ります。
登録は正常に完了するが、ポータルで Azure Arc 接続がインストールされていないと表示される
シナリオ 1
エラー状態の説明:
これは、Arc-for-Server リソース グループ Azure Connected Machine Resource Manager の必要なロールが HCI リソース プロバイダーから削除された場合に発生する可能性があります。
アクセス許可は、Azure portal のリソース グループの Access Control ブレードにあります。 次の図は、アクセス許可を示しています。
修復アクション:
修復登録コマンドレットを実行します。
Register-AzStackHCI -TenantId "<tenant_ID>" -SubscriptionId "<subscription_ID>" -ComputerName Server1 -RepairRegistration
シナリオ 2
エラー状態の説明:
このメッセージは、Azure Stack HCI 登録の実行中に発生する一時的な問題が原因である可能性もあります。 その場合、 Register-AzStackHCI
コマンドレットには次の警告メッセージが表示されます。
修復アクション:
登録後、問題が自動的に解決されるまで 12 時間待ちます。
シナリオ 3
エラー状態の説明:
これは、HCI ノードから Azure ARC クラウド サービスに接続するためにプロキシが正しく構成されていない場合にも発生する可能性があります。 Arc エージェント ログに次のエラーが表示される場合があります。
修復アクション:
この問題を解決するには、ガイドラインに従ってプロキシ設定を更新します。 その後、Azure Stack HCI クラスターを再登録します。
Fairfax と Mooncake で証明書をローテーションできない
エラー状態の説明:
- Azure portal から、クラスター リソース の Azure 接続 に [切断済み] と表示されます。
- ノード上の HCIsvc デバッグ ログを確認します。 エラー メッセージは exception: AADSTS700027: Client assertion failed signature validation です。
- このエラーは、 RotateRegistrationCertificate failed: 無効な対象ユーザー として表示される場合もあります。
修復アクション:
クラスターで修復登録を実行して、Microsoft Entra アプリケーションに新しい証明書を追加します。
Register-AzStackHCI -SubscriptionId "<subscription_ID>" -ComputerName Server1 -RepairRegistration
登録を修復すると、Microsoft Entra アプリケーションで新しい置換証明書が生成され、リソース名、リソース グループ、その他の登録の選択肢などの他の情報が保持されます。
OnPremisesPasswordValidationTimeSkew
エラー状態の説明:
ローカル ノードの時刻が実際の現在時刻 (UTC) と同期していない場合、Microsoft Entra トークンの生成は時間エラーで失敗します。 Microsoft Entra ID は、次のエラーを返します。
AADSTS80013: OnPremisePasswordValidationTimeSkew - 認証エージェントを実行しているコンピューターと AD の間に時間のずれがあるため、認証の試行を完了できませんでした。 時刻同期の問題を解決してください。
修復アクション:
時刻が既知の正確なタイム ソースに同期されていることを確認します。
エラーが発生したテナントのトークンを取得できません
エラー状態の説明:
登録に使用するユーザー アカウントが複数の Microsoft Entra テナントの一部である場合は、クラスターの登録時と登録解除時に-TenantId
を指定する必要があります。それ以外の場合は、エラーが発生したテナントのトークンを取得するためにエラー Unable で失敗します。テナントにアクセスするには、多要素認証を使用する必要があります。追加のパラメーター -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 に再接続できません。
修復アクション:
切断されたノードにサインインします。
Disable-AzureStackHCIArcIntegration
を実行します。Get-AzureStackHCIArcIntegration
を実行して ARC 統合の状態を確認し、切断されたノードに対して "無効" と表示されていることを確認します。Azure portal にサインインし、このノードの Arc サーバーを表す Azure Resource Manager リソースを削除します。
切断されたノードにもう一度サインインし、
Enable-AzureStackHCIArcIntegration
実行します。ノードで
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 以前に登録されているクラスターの場合は、次の手順を実行して新機能を使用できます。
- いずれかのノードから
Unregister-AzStackHCI
を実行して、クラスターの登録を解除します。 PowerShell を使用した Azure Stack HCI の登録解除を参照してください。 - 最新の PowerShell モジュール (
Install-Module Az.StackHCI -Force
) をインストールします。 -ResourceGroupName
と-ArcForServerResourceGroupName
の適切なパラメーターを渡して、Register-AzStackHCI
を実行します。
Note
Arc-for-Server リソースに別のリソース グループを使用している場合は、Azure Stack HCI にのみ関連する Arc-for-Server リソースを持つリソース グループを使用することをお勧めします。 Azure Stack HCI リソース プロバイダーには、 ArcServerResourceGroup 内の他の Arc-for-Server リソースを管理するためのアクセス許可があります。