この記事には、マスク不可割り込み(NMI)機能を使用して、応答しない VMware ESXi ホストまたは ESX ホストのトラブルシューティングを実行する方法が記載されています。
このプロセスに従う必要があるのは、コンソールでの操作またはネットワーク経由の操作に ESXi/ESX ホストが応答せず、ホストされているすべての仮想マシンがリモート通信に応答しない場合です。これらのシナリオの詳細については、コンソールのユーザー操作に ESX ホストが応答しない原因を特定する(1017135)(Determining why an ESX host does not respond to user interaction at the console (1017135))を参照してください。
免責事項: これは英文の記事 「Using hardware NMI facilities to troubleshoot unresponsive hosts (1014767)」の日本語訳です。
記事はベストエフォートで翻訳を進めているため、ローカライズ化コンテンツは最新情報ではない可能性があります。
最新情報は英語版の記事で参照してください。
マスク不可割り込み(NMI)は、プロセッサが無視できないハードウェア割り込みです。通常、このような種類の割り込みは、非常に重要なタスク用として、プロセッサにハードウェア エラーを報告するために予約されています。
システムのメーカーおよびモデルによっては、CPU に NMI を意図的に送信できる場合があります。NMI をプロセッサに送信すると、その CPU コンテキストが、登録されているマスク不可割り込みハンドラーに強制的に切り替えられます。この割り込みを無視(マスク)することはできません。オペレーティング システムは事前構成に基づいて NMI を処理できます。
意図的にトリガされた NMI は、次の状況を明らかにするのに役立つ場合があります。
注:一部のサーバには、マスク不可割り込みが発生した場合にシステムを自動的に再起動する BIOS または BMC オプションがあります。このような再起動が実行された場合、ハードウェアが適切に動作していることが暗黙的に示されますが、問題の根本原因をトラブルシューティングするための十分な情報は提供されません。このオプションを無効にします。
場合によって、ESXi/ESX ホストで紫色の診断画面およびコア ダンプを生成し、問題を詳細にトラブルシューティングすることが必要になることがあります。デフォルトでは、5.0 よりも前の ESXi/ESX ホストでは、NMI がログに書き込まれるのみであり、ホストが停止して紫色の診断画面が表示されることはありません。ESXi 5.0 以降では、デフォルトで、ホストが停止して紫色の診断画面が表示されます。
VMkernel またはサービス コンソールは、CPU 上のループ プロセスから抜け出して、NMI をログに書き込むことができます。各カーネルが NMI を受け取るため、紫色の診断画面を生成することによって NMI に応答するように、各カーネルを構成できます。
VMkernel は NMI を直接処理して紫色の診断画面を生成したり、NMI をサービス コンソールにルーティングしたりできます。ESX サービス コンソールにルーティングした場合、その Linux カーネルは、Oops および紫色の診断画面をトリガすることで NMI を処理したり、NMI を無視したりできます。
NMI の追加処理に使用できるオプションは、VMware ESXi および ESX のバージョンで異なります。
紫色の診断画面がトリガされると、VMkernel からのコアダンプが保存されます。NMI がサービス コンソールにルーティングされて紫色の診断画面がトリガされた場合、サービス コンソールの Linux カーネルからのコアダンプも保存されます。調査する問題によっては、サービス コンソールのコアダンプが必要になる場合があります。
VMkernel およびサービス コンソールのコアダンプが取得されるように ESXi/ESX ホストが適切に構成されていることを確認します。詳細については、紫色の診断画面から VMkernel コアダンプを取得するように ESX/ESXi ホストを設定する(1000328)(Configuring an ESX/ESXi host to capture a VMkernel coredump from a purple diagnostic screen (1000328))およびESX ホストでサービス コンソールのコアダンプを取得するように構成する(1032962)(Configuring an ESX host to capture a Service Console coredump (1032962))を参照してください。
構成されたオプションに関係なく、サードパーティの OEM NMI ドライバが、NMI を受け取った時点で紫色の診断画面を表示する停止を意図的に開始する可能性があります。詳細については、メッセージについて:1 つ以上のサードパーティ製 NMI ハンドラーによって要求されたパニック(2005413)(Understanding the message: Panic requested by one or more 3rd party NMI handlers (2005413))を参照してください。
注:VMware ESX/ESXi 4.1 以上を実行する HP サーバの場合は、HP システムにおける ESX/ESXi インストールでは HP NMI ドライバが必要とされる(1021609)(ESX/ESXi installations on HP systems require the HP NMI driver (1021609))を参照してください。
VMware ESXi および ESX 4.x には、NMI を受け取った時点で実行されるアクションに影響する詳細な構成オプションがあります。デフォルトでは、NMI はサービス コンソールにルーティングされます。ESXi では、これによる影響はありません。ESX では、デフォルトで無視されます。
VMkernel オプション Misc.NMILint1IntAction には、3 つの可能な値があります。
注:起動プロセスのごく初期に ESXi/ESX ホストが応答しなくなった場合は、代わりに、VMkernel 起動オプション "VMkernel.Boot.nmiAction" を使用する必要があります。デフォルトの 0 では、起動プロセスの後半で Misc.NMILint1IntAction オプションに従います。
NMI を受け取った時点で紫色の診断画面を生成するように VMkernel を構成するには、詳細オプション Misc.NMILint1IntAction を 2 に設定します。詳細については、ESX/ESXi の詳細オプションの構成(1038578)(Configuring advanced options for ESX/ESXi (1038578))を参照してください。
注:変更を有効にするには、ESX/ESXi ホストを再起動する必要があります。
VMware ESX 3.x は、NMI をサービス コンソールに常にルーティングします。ESX 3.x 下で NMI に対して紫色の診断画面をトリガするための唯一の方法は、サービス コンソールでオプションを構成することです。VMware ESX 4.x では、VMkernel で NMI を処理するか、サービス コンソールに NMI をルーティングするように構成できます。この構成は ESXi には適用されません。上記の VMkernel 方式を使用してください。
デフォルトでは、ESX 3.x および 4.x のサービス コンソールの Linux カーネルは、NMI イベントをログに書き込みますが、他のアクションを実行しません。紫色の診断画面を表示して停止することによって NMI を処理するように、サービス コンソールの Linux カーネルを構成できます。
NMI を受け取った時点でパニックを発生して停止するように ESX ホストのサービス コンソールを構成するには:
この構成を元に戻す必要がある場合は、構成ファイルを編集して両方のオプションを 0 に設定します。
障害の前に ESXi/ESX ホストが適切に構成されていなかった場合は、問題を再現し、応答しない状態に関する情報を取得できるようにする必要があります。
次の障害が発生した時点で、コンソールのユーザー操作に ESX/ESXi ホストが応答しない原因を特定する(1017135)(Determining why an ESX/ESXi host does not respond to user interaction at the console (1017135))に説明されている症状を再度確認し、同じ症状が観察されたことを確認します。
キーボード入力およびネットワーク トラフィックに対してサーバが完全に応答しない場合、VMkernel ログのスクリーンショットまたは写真を撮ります。VMkernel ログが画面上で引き続きスクロールしているかどうか、または VMkernel ログがフリーズしているかどうかをメモします。イベントを記録したら、物理サーバ上の NMI ボタンを押すか、リモート ハードウェア管理インターフェイスを使用して NMI ボタンを押します。
この時点で、サーバに以下のいずれかの症状が見られます。
NMI に応じて応答するようにオペレーティング システム ソフトウェアを構成しているにもかかわらず、ハードウェアが完全に応答しない状態になっており、NMI に一切反応しません。ハードウェア ベンダーと相談し、ベンダー推奨のハードウェア診断ソフトウェアを使用して徹底的なハードウェア診断を長期にわたって実行することを検討します。ハードウェア ベンダーからソフトウェアが推奨されない場合、オープンソースの MemTest86+ の使用を検討します。
ハードウェアは割り込みに対してサービスを提供できましたが、ハードウェア自体の再起動が開始された可能性があります。一部のサーバには、マスク不可割り込みが発生した場合にシステムを自動的に再起動する BIOS オプションがあります。これは、ハードウェアが正しく動作している可能性があることを意味しますが、対処するための十分な情報が提供されません。BIOS オプションを無効にして、テストを繰り返します。
ハードウェアは応答している状態であり、ESXi/ESX カーネルは割り込みを処理でき、イベントをログに書き込むことができていました。通常、これは、原因としてソフトウェアに問題があることを示しています。可能性は低いですが、ドライバまたは他のプロセスが操作命令のループで停止した場合、この状態が発生することがあります。VMkernel ログに Lint N または NMI イベントが記録されてないかどうかを確認します。また、障害の発生につながるあらゆるログを確認します。ナレッジ ベース内に特定のエラーが記載されていない場合、ESXi/ESX ホストから診断情報を収集し、サポート リクエストを提出します。詳細については、VMware 製品の診断情報の収集(1008524)(Collecting Diagnostic Information for VMware Products (1008524))および『サポート リクエストの提出方法』を参照してください。
ハードウェアは応答できる状態にあり、ESXi/ESX カーネルは割り込みを処理できました。通常、これは、原因としてソフトウェアに問題があることを示しています。可能性は低いですが、ドライバまたは他のプロセスが操作命令のループで停止した場合、この状態が発生することがあります。VMkernel ログに Lint N または NMI イベントが記録されてないかどうかを確認します。また、障害の発生につながるあらゆるログを確認します。ナレッジ ベース内に特定のエラーが記載されていない場合、ESXi/ESX ホストから診断情報を収集し、サポート リクエストを提出します。詳細については、VMware 製品の診断情報の収集(1008524)(Collecting Diagnostic Information for VMware Products (1008524))および『サポート リクエストの提出方法』を参照してください。
NMI ボタンまたはスイッチの場所はハードウェアによって異なります。いくつかの例を次に示します。
詳細については、diagnostic-interrupt コマンドに関する Cisco UCS コマンドライン リファレンス マニュアルを参照してください。
このリンクは、2012 年 9 月 7 日時点のものです。この記事のリンクが切れているのに気づいた場合はご連絡ください。VMware の担当者がリンクをアップデートします。
特定のサーバ システムにおいて NMI をトリガする方法については、ハードウェア ベンダーにお問い合わせください。
Using hardware NMI facilities to troubleshoot unresponsive hosts