仮想マシンがクラッシュした場合、デバッグや分析などの目的で、メモリに対するコアダンプを採取しておくと便利です。物理マシンの場合は Kexec と Kdump がクラッシュダンプの採取を実施しますが、仮想マシンの場合は、完全仮想化マシンなのか準仮想化マシンなのかによって、異なる方式を使用します。
完全仮想化マシンに対してクラッシュダンプを採取する場合は、物理マシンと全く同じ方式 (Kexec および Kdump) を使用します。
完全仮想化マシンとは異なり、準仮想化マシンでは Kexec/Kdump は動作しません。その代わりとして、ホストツールスタック側でクラッシュダンプを採取します。 Xen domU で xl ツールスタックを使用している場合は xl dump-core コマンドを、 libvirt ベースの VM ゲスト の場合は virsh dump コマンドを実行することで、ダンプを採取することができます。
それ以外にも、 VM ゲスト の設定内で on_crash の設定をすることで、クラッシュダンプを自動的に採取させることもできます。この設定では、ホストツールスタック側に対して、クラッシュ発生時に行うべき処理を指定することもできます。なお、 xl と libvirt のいずれも、既定値は destroy (仮想マシンを終了する) です。クラッシュダンプの自動採取を指定したい場合は、 coredump-destroy (コアダンプを採取して停止する) もしくは coredump-restart (コアダンプを採取して再起動する) のいずれかを指定してください。
完全仮想化マシンと準仮想化マシンの違いについては、 1.3項 「仮想化モード」 をお読みください。
Kexec/Kdump の仕組みに関する詳細は、 第18章 「Kexec と Kdump」 をお読みください。
xl の設定書式に関する詳細は、 xl.cfg のマニュアルページ ( man 5 xl.cfg ) をお読みください。
libvirt の XML 設定に関する詳細は、 https://libvirt.org/formatdomain.html#events-configuration をお読みください。