A.2. ダンプファイルの作成


ゲスト仮想マシンのコアのダンプをファイルに要求できるため、crashユーティリティー などにより仮想マシンのエラーを診断できます。
警告
Red Hat Enterprise Linux 7.5 以降では、Kernel Address Space Randomization (KASLR) 機能により、ゲストダンプファイルが crash で読み込みできなくなります。これを修正するには、ゲストの XML 設定ファイルの <features> セクションに <vmcoreinfo/> 要素を追加します。
宛先のホストが <vmcoreinfo/> をサポートしない OS を使用している場合は、<vmcoreinfo/> を使用したゲストの 移行 に失敗する点に留意してください。これには、Red Hat Enterprise Linux 7.4 以前のバージョンと、Red Hat Enterprise Linux 6.9 以前のバージョンが該当します。

A.2.1. virsh ダンプファイルの作成

virsh dump コマンドを実行すると、ゲスト仮想マシンのコアをファイルにダンプする要求が送信され、仮想マシンのエラーを診断できます。このコマンドを実行すると、引数 corefilepath で指定したファイルおよびパスに対する適切なパーミッションを手動で確認する必要があります。virsh dump コマンドは、コアダンプ (または crash ユーティリティー) と似ています。
詳細は、Creating a Dump File of a Guest Virtual Machine's Core を参照してください。

A.2.2. Python スクリプトを使用したコアダンプの保存

dump-guest-memory.py python スクリプトは、GNU デバッガー (GDB) 拡張機能を実装します。この拡張機能は、qemu-kvm プロセスがホストでクラッシュした後、コアダンプからゲスト仮想マシンのメモリーを抽出して保存します。ホスト側の QEMU プロセスがクラッシュすることがゲストのアクションに関連している場合は、QEMU プロセスがクラッシュしたときのゲストの状態を調べると役に立つ場合があります。
python スクリプトは、GDB 拡張機能を実装します。これは、GDB の新しいコマンドです。GDB で、元の (クラッシュした) QEMU プロセスのコアダンプファイルを開いた後、python スクリプトを GDB に読み込むことができます。その後、GDB プロンプトから新しいコマンドを実行できます。これにより、QEMU コアダンプトからゲストメモリーダンプを抽出し、新しいローカルファイルを作成します。
dump-guest-memory.py python スクリプトを使用するには、以下を実行します。
  1. qemu-kvm-debuginfo パッケージをインストールします。
  2. GDB を起動し、クラッシュした/usr/libexec/qemu-kvm バイナリー用に保存されているコアダンプファイルを開きます。デバッグシンボルは自動的に読み込まれます。
  3. GDB で新しいコマンドを読み込みます。
    # source /usr/share/qemu-kvm/dump-guest-memory.py
    注記
    python スクリプトを読み込んだ後、組み込みの GDB help コマンドを使用すると、dump-guest-memory 拡張機能の詳細を確認できます。
  4. GDB でコマンドを実行します。以下に例を示します。
    # dump-guest-memory /home/user/extracted-vmcore X86_64
  5. ゲストカーネル解析用に crash ユーティリティーで /home/user/extracted-vmcore を開きます。
crash ユーティリティーで使用する QEMU コアファイルからゲスト仮想マシンコアを抽出する方法は、How to extract ELF cores from 'gcore' generated qemu core files for use with the 'crash' utility を参照してください。
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.