Azure Local バージョン 23H2 のソリューション更新プログラムのトラブルシューティング
適用対象: Azure Local 2311.2 以降
この記事では、Azure Local に適用されるソリューションの更新をトラブルシューティングして最新の状態に保つ方法について説明します。
更新プログラムのトラブルシューティングについて
Azure Local バージョン 23H2 の新しいデプロイを使用してシステムが作成された場合、デプロイ中にオーケストレーターがインストールされました。 オーケストレーターは、OS、ドライバー、ファームウェア、エージェント、サービスなど、プラットフォームのすべての更新プログラムを管理します。
新しい更新ソリューションには、再試行と修復ロジックが含まれています。 このロジックは、クラスター対応の更新プログラム (CAU) の実行の再試行など、中断を伴わない方法で更新プログラムの問題を修正しようとします。 更新プログラムの実行を自動的に修復できない場合は、失敗します。 更新が失敗した場合は、エラー メッセージの詳細を調べて、適切な次のアクションを決定することをお勧めします。 必要に応じて、更新の再開を試みて、再試行することで問題が解決されるかどうかを判断できます。
準備チェックのトラブルシューティング
準備チェックは、更新プログラムをスムーズに適用し、システムを最新の状態に保ち、正しいシステム機能を維持するために不可欠です。 準備チェックは、次の 2 つのシナリオで個別に実行および報告されます。
24 時間に 1 回 実行されるシステム正常性チェック。
更新プログラムのコンテンツをダウンロードした後、インストールを始める前に実行される準備状況のチェックを更新します。
システム正常性チェックと更新準備チェックの結果が異なるのは一般的なことです。 更新準備チェックではインストールするソリューション更新プログラムの最新の検証ロジックが使用されるのに対して、システム正常性チェックでは常にインストールされているバージョンの検証ロジックが使用されるためにこれが発生します。
システム準備チェックと更新前準備チェックの両方で同様の検証が実行され、3 種類の準備チェック (重大、警告、情報) が分類されます。
- 重大: 更新プログラムの適用を妨げる準備チェック。 更新を続行する前に解決する必要がある問題がある場合にこの状態になります。
- 警告: こちらも更新プログラムの適用も妨げる準備チェックですが、PowerShell を使用してこれらをバイパスできます。 更新を停止するほど重大ではない可能性がある潜在的な問題がある場合にこの状態になりますが、スムーズな更新プロセスを確保するために対処する必要があります。
- 情報: アップデートを妨げない準備チェック。 このステータスでは、システムの状態と、更新プロセスに直接は影響しないであろう潜在的な問題に関する情報が提供されます。 これらのチェックはユーザーに注意を促すものであり、すぐに対処する必要がない場合もあります。
トラブルシューティングの手順は、準備チェックの対象となるシナリオによって異なります。
Azure Portal の使用
シナリオ 1: システムヘルスチェック
このシナリオは、Azure Update Manager でシステムの更新プログラムをインストールする準備をするときに発生します。
システムの一覧で、更新準備の重大な状態を表示します。
一覧から 1 つ以上のシステムを選択し、[1 回限りの更新] を選択します。
[準備状況の確認] ページで、準備チェックとその結果の一覧を確認します。
[影響を受けるシステム] の下にある [詳細を表示する] リンクを選択します。
詳細ボックスが開いたら、さらに詳しい情報、個々のシステムの結果、そして失敗した正常性チェックに対する 対応策 を表示できます。
修復手順に従って、エラーを解決します。
メモ
システムの正常性チェックは 24 時間ごとに実行されるため、障害の修復後に新しい結果が Azure portal に同期されるまでに最大 24 時間かかる場合があります。 新しいシステムの正常性チェックをすぐに開始するか、さらにトラブルシューティングを行うには、「PowerShell」セクションを参照してください。
シナリオ 2: 更新準備チェック
このシナリオは、Azure Update Manager でシステムの更新プログラムをインストールして追跡するときに発生します。
履歴から、失敗した更新プログラムの実行を一覧から選択します。
[準備状況の確認] ページで、準備チェックとその結果の一覧を確認します。
[影響を受けるシステム] の下にある [詳細を表示する] リンクを選択します。
詳細ボックスが開いたら、さらに詳しい情報、個々のシステムの結果、そして失敗した正常性チェックに対する 対応策 を表示できます。
修復手順に従ってエラーを解決し、[再試行] ボタンを選択して更新前の準備チェックを再試行し、更新を再開します。
トラブルシューティングの詳細については、「PowerShell」セクションを参照してください。
PowerShell の使用
シナリオ 1: システムヘルスチェック
PowerShell を使用してシステムの正常性チェックのトラブルシューティングを行うには:
システムの正常性チェックが失敗したことを検証するには、システム内のいずれかのマシンで次のコマンドを実行します。
Get-SolutionUpdateEnvironment
出力例を次に示します。
PS C:\Users\lcmuser> Get-SolutionUpdateEnvironment ResourceId : redmond SbeFamily : VirtualForTesting HardwareModel : Virtual Machine LastChecked : 9/12/2023 10:34:42 PM PackageVersions : {Solution: 10.2309.0.20, Services: 10.2309.0.20, Platform: 1.0.0.0, SBE: 4.0.0.0} CurrentVersion : 10.2309.0.20 CurrentSbeVersion : 4.0.0.0 LastUpdated : State : AppliedSuccessfully HealthState : Failure HealthCheckResult : {Storage Pool Summary, Storage Services Physical Disks Summary, Storage Services Physical Disks Summary, Storage Services Physical Disks Summary...} HealthCheckDate : 9/12/2023 7:03:32 AM AdditionalData : {[SBEAdditionalData, Solution Builder extension is partially installed. Please install the latest Solution Builder Extension provided by your hardware vendor. For more information, see https://aka.ms/SBE.]} HealthState : Success HealthCheckResult : {} HealthCheckDate : 8/4/2022 9:10:36 PM PS C:\Users\lcmuser>
システムの
HealthState
を確認し、Failure
またはWarning
値を表示します。HealthCheckResult
プロパティをフィルター処理して、失敗したテストを特定するには、次のコマンドを実行します。$result = Get-SolutionUpdateEnvironment $result.HealthCheckResult | Where-Object {$_.Status -ne "SUCCESS"} | FL Title,Status,Severity,Description,Remediation
出力例を次に示します。
Title : The machine proxy on each failover cluster node should be set to a local proxy server Status : FAILURE Severity : INFORMATIONAL Description : Validating cluster setup for update. Remediation : `https://learn.microsoft.com/en-us/windows-server/failover-clustering/cluster-aware-updating-requirements# tests-for-cluster-updating-readiness` Title : The CAU clustered role should be installed on the failover cluster to enable self-updating mode Status : FAILURE Severity : INFORMATIONAL Description : Validating cluster setup for update. Remediation : `https://learn.microsoft.com/en-us/windows-server/failover-clustering/cluster-aware-updating-requirements# tests-for-cluster-updating-readiness`
失敗したテストの
Remediation
フィールドを確認し、必要に応じてアクションを実行してエラーを解決します。エラーを解決した後、次のコマンドを実行して、システムの正常性チェックを再度呼び出します。
Invoke-SolutionUpdatePrecheck -SystemHealth
Get-SolutionUpdateEnvironment
を使用して、失敗した健康診断が解決されたことを確認します。 システムの正常性チェックが実行されるまでに数分かかる場合があります。出力例を次に示します。
PS C:\Users\lcmuser> Get-SolutionUpdateEnvironment | FL HealthState, HealthCheckResult, HealthCheckDate HealthState : InProgress HealthCheckResult : HealthCheckDate : 1/1/0001 12:00:00 AM PS C:\Users\lcmuser> Get-SolutionUpdateEnvironment | FL HealthState, HealthCheckResult, HealthCheckDate HealthState : Success HealthCheckResult : {Storage Pool Summary, Storage Subsystem Summary, Storage Services Summary, Storage Services Summary...} HealthCheckDate : 10/18/2024 11:56:49 PM
シナリオ 2: 更新準備チェック
更新準備チェックが失敗すると、システムで更新が失敗します。 PowerShell を使用して更新準備チェックのトラブルシューティングを行うには:
更新準備チェックが失敗したことを検証するには、システム内のいずれかのマシンで次のコマンドを実行します。
Get-SolutionUpdate | FT Version,State,HealthCheckResult
出力例を次に示します。
PS C:\Users\lcmuser> Get-SolutionUpdate | FT Version,State,HealthCheckResult Version State HealthCheckResult ------- ----- ----------------- 10.2405.2.7 HealthCheckFailed {Storage Subsystem Summary, Storage Pool Summary, Storage Services Physical Disks Summary, Stora... PS C:\Users\lcmuser>
更新プログラムの
State
を確認し、HealthCheckFailed
値を表示します。HealthCheckResult
プロパティをフィルター処理して、失敗したテストを特定するには、次のコマンドを実行します。$result = Get-SolutionUpdate $result.HealthCheckResult | Where-Object {$_.Status -ne "SUCCESS"} | FL Title,Status,Severity,Description,Remediation
出力例を次に示します。
Title : The machine proxy on each failover cluster node should be set to a local proxy server Status : FAILURE Severity : INFORMATIONAL Description : Validating cluster setup for update. Remediation : https://learn.microsoft.com/en-us/windows-server/failover-clustering/cluster-aware-updating-requirements# tests-for-cluster-updating-readiness Title : The CAU clustered role should be installed on the failover cluster to enable self-updating mode Status : FAILURE Severity : INFORMATIONAL Description : Validating cluster setup for update. Remediation : https://learn.microsoft.com/en-us/windows-server/failover-clustering/cluster-aware-updating-requirements# tests-for-cluster-updating-readiness
失敗したテストの
Remediation
フィールドを確認し、必要に応じてアクションを実行してエラーを解決します。エラーを解決した後、次のコマンドを実行して、更新準備チェックを再度呼び出します。
Get-SolutionUpdate -Id <some ID> | Start-SolutionUpdate -PrepareOnly
更新プログラムのエラーに関するトラブルシューティング
更新が失敗する原因となる問題がある場合は、詳細な手順の進行状況を確認してどこで失敗したかを特定することが、問題が単純な修復 (および再開) によって解決できるものなのか、問題を解決するためにサポート契約が必要なのかを判断する最善の方法となることがよくあります。 失敗した手順で注意すべき重要な項目は次のとおりです。
失敗したステップの名前と説明。
ステップが失敗したマシンまたはサーバー (コンピューター固有の問題が発生した場合)。
障害メッセージ文字列(特定の既知の問題と文書化された対策を指摘できる可能性があります)。
Microsoft では、Azure portal を使用して、「更新プログラムのを再開する」に示されているように、失敗したステップ情報を特定することをお勧めします。 または、Start-MonitoringActionplanInstanceToComplete
を使用して PowerShell で同様の詳細を表示する方法については、次のセクションを参照してください。
更新の失敗シナリオと修復ガイドラインについては、次の表を参照してください。
ステップ名 | 問題の種類 | Remediation |
---|---|---|
Any | 更新中のシステムの停電またはその他の同様の中断。 | 1. 電源を回復します。 2. システムの正常性チェックを実行します。 3. 更新プログラムを再開します。 |
CAU の更新 | クラスター対応更新プログラム (CAU) 更新プログラムの実行は、max retries exceeded エラーで失敗します。 |
複数の CAU 試行が行われ、すべてが失敗したという兆候がある場合は、多くの場合で最初のエラーを調査することをお勧めします。 最初の障害の開始時刻と終了時刻を使用して、正しい Get-CauReport 出力と一致させ、障害をさらに調査します。 |
Any | 1 つ以上のノードのメモリ、電源、ブート ドライバー、または同様の重大な障害。 | 障害が発生したノードを修復する方法については、「Azure Local バージョン 23H2 でノードを修復する」を参照してください。 ノードが修復されると、更新を再開できます。 |
更新ログを収集する
また、Microsoft が問題を特定して修正するのに役立つ診断ログを収集することもできます。
Azure portal を使用して更新プログラムのログを収集するには、「更新を再開する」を参照してください。
更新エラーのログを収集するには、「Azure Local バージョン 23H2 の診断ログを収集する」を参照してください。
更新の概要レポートを表示する
PowerShell を使用して詳細な更新の概要レポートを表示するには、システムへのアクセスに使用しているクライアントで次の手順に従います。
コンピューターとのリモート PowerShell セッションを確立します。 管理者として PowerShell を実行し、次のコマンドを実行します。
Enter-PSSession -ComputerName <machine_IP_address> -Credential <username\password for the machine>
すべてのソリューションの更新プログラムを取得し、特定のバージョンに対応するソリューションの更新プログラムをフィルター処理します。 使用されているバージョンは、インストールに失敗したソリューション更新プログラムのバージョンに対応しています。
$Update = Get-SolutionUpdate | ? Version -eq "<Version string>" -verbose
失敗したソリューション更新プログラムの実行のアクション プランを特定します。
$Failure = $update | Get-SolutionUpdateRun
更新プログラムの
ResourceID
を特定します。$Failure
出力例を次に示します。
PS C:\Users\lcmuser> $Update = Get-SolutionUpdate| ? Version -eq "10.2303.1.7" -verbose PS C:\Users\lcmuser> $Failure = $Update|Get-SolutionUpdateRun PS C:\Users\lcmuser> $Failure ResourceId : redmond/Solution10.2303.1.7/6bcc63af-b1df-4926-b2bc-26e06f460ab0 Progress : Microsoft.AzureStack.Services.Update.ResourceProvider.UpdateService.Models.Step TimeStarted : 4/21/2023 10:02:54 PM LastUpdatedTime : 4/21/2023 3:19:05 PM Duration : 00:16:37.9688878 State : Failed
ResourceID
GUID をメモします。 この GUID は、ActionPlanInstanceID
に対応します。以前にメモした
ActionPlanInstanceID
の概要を表示してください。Start-MonitoringActionplanInstanceToComplete -actionPlanInstanceID <Action Plan Instance ID>
サンプル出力は次のとおりです。
PS C:\Users\lcmuser> Start-MonitoringActionplanInstanceToComplete -actionPlanInstanceID 6bcc63af-b1df-4926-b2bc-26e06f460ab0
更新プログラムを再開する
以前に失敗した更新プログラムの実行を再開するには、Azure portal または PowerShell を使用して更新プログラムの実行を再試行します。
Azure ポータル
Azure portal を使用して、失敗した更新プログラムを参照し、 [ ] ボタンをもう一度選択することを強くお勧めします。 この機能は、更新プログラムのダウンロード、準備状況の確認、および更新プログラムの実行のインストール ステージで使用できます。
失敗した更新プログラムを正常に再実行できない場合、またはエラーをさらにトラブルシューティングする必要がある場合は、次の手順に従います。
エラーの [詳細を表示する] を選択します。
詳細ボックスが開いたら、エラーの詳細を確認できます。 診断ログの収集の詳細については、「サポート チケットを開く」ボタンの近くにある [ログの収集方法] リンクをクリックしてください。
ログ取得の詳細については、「Azure Local の診断ログを収集する」を参照してください。
さらに、[サポート チケットを開く] ボタンを選択し、適切な情報を入力し、ログを添付して、Microsoft サポートが利用できるようにします。
サポート チケットの作成については、「サポート要求を作成する」を参照してください。
PowerShell
PowerShell を使用していて、以前に失敗した更新プログラムの実行を再開する必要がある場合は、次のコマンドを使用します。
Get-SolutionUpdate | ? Version -eq "10.2302.0.31" | Start-SolutionUpdate
Warning 状態の更新プログラムの正常性チェックが原因で、以前に失敗した更新プログラムを再開するには、次のコマンドを使用します。
Get-SolutionUpdate | ? Version -eq "10.2302.0.31" | Start-SolutionUpdate -IgnoreWarnings
次のステップ
PowerShell を使用して更新プログラムを 実行する方法の詳細。
Azure portal を使用して更新プログラムを 実行する方法の詳細。