診断中断の送信

注意

この機能は上級ユーザー向けです。診断中断を稼働中のシステムに送信すると、データが破損したり、システムに障害が発生する可能性があります。

診断中断を送信して、応答しないか到達できないコンピュート仮想マシン(VM)インスタンスをトラブルシューティングできます。

診断中断によって、インスタンスのOSはクラッシュし、再起動されます。診断中断を送信する前に、クラッシュ時にクラッシュ・ダンプ(メモリー・ダンプ・ファイルとも呼ばれる)を生成するようにOSを構成する必要があります。クラッシュ・ダンプは、クラッシュ時のOSの状態に関する情報を取得します。OSの再起動後、クラッシュ・ダンプを分析して、問題を識別およびデバッグできます。

必要なIAMポリシー

Oracle Cloud Infrastructureを使用するには、管理者によってポリシーでセキュリティ・アクセス権が付与されている必要があります。このアクセス権は、コンソール、あるいはSDK、CLIまたはその他のツールを使用したREST APIのいずれを使用している場合でも必要です。権限がない、または認可されていないというメッセージが表示される場合は、管理者に連絡して、どのタイプのアクセス権があり、どのコンパートメントで作業するかを確認してください。

管理者向け: ユーザーにコンピュート・インスタンスを起動させるのポリシーには、インスタンスに診断中断を送信する権限が含まれます。指定されたグループがインスタンスの起動やボリュームのアタッチを必要としない場合、そのポリシーを簡素化し、manage instance-familyのみを含めて、volume-familyおよびvirtual-network-familyに関連する文を削除できます。

ポリシーを初めて使用する場合は、ポリシーの開始共通ポリシーを参照してください。インスタンス、クラウド・ネットワークまたは他のCore Services APIリソースのポリシーを作成するための参照資料については、コア・サービスの詳細を参照してください。

開始する前に

クラッシュ・ダンプを生成するためのOSの構成

インスタンスに診断中断を送信する前に、クラッシュ時にクラッシュ・ダンプを生成するようにOSを構成する必要があります。診断中断は、ターゲット・インスタンス上でマスク不可能割込み(NMI)として受信されます。

ステップはOSによって異なります。

Linux

ノート

Oracle Linuxプラットフォーム・イメージでは、イメージのリリース日に応じて、クラッシュ・ダンプを生成するように、OSが完全に構成されているか部分的に構成されています。

Oracle Linux 8
  • 2020年8月以降にリリースされたイメージ: イメージは、クラッシュ・ダンプを生成するように完全に構成されています。
  • 以前のイメージ: ダンプキャプチャ・カーネルがインストールおよび構成されていますが、他の構成ステップを実行する必要があります。
Oracle Linux 7
  • 2020年8月以降にリリースされたイメージ: イメージは、クラッシュ・ダンプを生成するように完全に構成されています。
  • 以前のイメージ: ダンプキャプチャ・カーネルがインストールおよび構成されていますが、他の構成ステップを実行する必要があります。
Oracle Linux 6
  • 2020年9月以降にリリースされたイメージ: イメージは、クラッシュ・ダンプを生成するように完全に構成されています。
  • 以前のイメージ: ダンプキャプチャ・カーネルがインストールおよび構成されていますが、他の構成ステップを実行する必要があります。
  1. インスタンスに接続します
  2. ダンプキャプチャ・カーネルをインストールして構成します:
    1. 次のコマンドを実行して、kdumpおよびkexecをインストールします:
      sudo yum install kexec-tools
    2. クラッシュ・ダンプを保存するためのカーネル上のメモリーを予約します。次を行います:
      1. テキスト・エディタでetc/default/grubファイルを開きます。
      2. GRUB_CMDLINE_LINUX_DEFAULTで始まる行に、パラメータcrashkernel=<memory-to-reserve>を追加します。たとえば、100MBを予約するには、crashkernel=100Mを追加します。
      3. 変更を保存してファイルを閉じます。
      4. 次のコマンドを実行して、GRUBファイルを再構築します:
        sudo grub2-mkconfig -o /boot/grub2/grub.cfg
  3. 診断中断を受信したときにクラッシュするようにカーネルを構成します。これを行うには、テキスト・エディタで/etc/sysctl.confファイルを開き、次の行を追加します:
    kernel.unknown_nmi_panic=1
  4. 次のコマンドを実行して、/etc/sysctl.confに変更を適用します:
    sysctl -p

Windows Server - プラットフォーム・イメージ

2020年4月以降にリリースされたWindows Serverプラットフォーム・イメージを使用する場合、そのイメージはすでにクラッシュ・ダンプを生成するように構成されています。

2020年4月より前にリリースされたイメージを使用する場合、次を行います:

  1. インスタンスに接続します
  2. Oracle VirtIO Drivers for Microsoft Windowsをダウンロードします。
  3. ドライバをインストールして、インスタンスを再起動します。

Windows Server - 顧客提供のイメージ

詳細は、オペレーティング・システムのサードパーティ・ドキュメントを参照してください。

診断中断の送信

クラッシュ時にクラッシュ・ダンプを生成するようにインスタンスのOSを構成したら、次の手順を使用して診断中断を送信します。

コンソールを使用して診断中断を送信するには

  1. ナビゲーション・メニューを開き、「コンピュート」をクリックします。「コンピュート」で、「インスタンス」をクリックします。
  2. 関心のあるインスタンスをクリックします。
  3. 「他のアクション」をクリックし、「診断中断の送信」をクリックします。

    注意

    診断中断を稼働中のシステムに送信すると、データが破損したり、システムに障害が発生する可能性があります。
  4. 確認メッセージを確認し、「診断中断の送信」をクリックします。

    インスタンスのOSがクラッシュして再起動しても、コンソールに表示されるライフサイクル状態は「実行中」のままです。複数の診断中断を送信しないでください。

  5. インスタンスのOSが再起動するまで数分間待機してから、インスタンスに接続します。これで、クラッシュ・ダンプを取得して分析できます。

APIを使用して診断中断を送信するには

InstanceAction操作を使用して、実行するアクションとして値SENDDIAGNOSTICINTERRUPTを渡します。

クラッシュ・ダンプの分析

クラッシュ・ダンプは、インスタンスのOS上でローカルに保存されます

  • Linuxインスタンス: クラッシュ・ダンプが保存されるデフォルトの場所は、オペレーティング・システムによって異なります。

    • Oracle Linux 8: /var/oled/crashに保存されます。
    • Oracle Linux 7: 2021年3月以降にリリースされたプラットフォーム・イメージの場合は、/var/crashに保存されます。古いプラットフォーム・イメージの場合は、/var/oled/crashに保存されます。
    • その他のLinuxおよびUNIX系のオペレーティング・システム: /var/crash/に保存されます。

    場所を変更するには、/etc/kdump.confファイルを変更します。

  • Windowsインスタンス: クラッシュ・ダンプは%SystemRoot%memory.dmpに保存されます。ほとんどのWindowsシステムでは、これはC:\Windows\memory.dmpです。

クラッシュ・ダンプを分析するには、Linuxインスタンスではcrashユーティリティ、WindowsインスタンスではWinDbgなどのサードパーティ・ツールを使用します。