21.9. virt-inspector: ゲスト仮想マシンの検査
このセクションでは、ゲスト仮想マシンの検証について説明します。
21.9.1. 導入部分
virt-inspector は、ディスクイメージを調べて、そこに含まれるオペレーティングシステムを確認するツールです。
21.9.2. インストール
virt-inspector とドキュメントをインストールするには、次のコマンドを入力します。
# yum install libguestfs-tools
サンプルの XML 出力や、出力の Relax-NG スキーマを含むドキュメントが、
/usr/share/doc/libguestfs-devel-*/
にインストールされます。* は、libguestfs のバージョン番号に置き換えられます。
21.9.3. virt-inspector の実行
以下の例に示すように、virt-inspector は任意のディスクイメージまたは libvirt ゲスト仮想マシンに対して実行できます。
$ virt-inspector -a disk.img > report.xml
または、以下のようになります。
$ virt-inspector -d GuestName > report.xml
結果は XML レポート (
report.xml
) になります。XML ファイルの主なコンポーネントは、以下のような、通常 1 つの<operatingsystem>
要素を含むトップレベルの<operatingsytems>
要素です。
<operatingsystems> <operatingsystem> <!-- the type of operating system and Linux distribution --> <name>linux</name> <distro>rhel</distro> <!-- the name, version and architecture --> <product_name>Red Hat Enterprise Linux Server release 6.4 </product_name> <major_version>6</major_version> <minor_version>4</minor_version> <package_format>rpm</package_format> <package_management>yum</package_management> <root>/dev/VolGroup/lv_root</root> <!-- how the filesystems would be mounted when live --> <mountpoints> <mountpoint dev="/dev/VolGroup/lv_root">/</mountpoint> <mountpoint dev="/dev/sda1">/boot</mountpoint> <mountpoint dev="/dev/VolGroup/lv_swap">swap</mountpoint> </mountpoints> < !-- filesystems--> <filesystem dev="/dev/VolGroup/lv_root"> <label></label> <uuid>b24d9161-5613-4ab8-8649-f27a8a8068d3</uuid> <type>ext4</type> <content>linux-root</content> <spec>/dev/mapper/VolGroup-lv_root</spec> </filesystem> <filesystem dev="/dev/VolGroup/lv_swap"> <type>swap</type> <spec>/dev/mapper/VolGroup-lv_swap</spec> </filesystem> <!-- packages installed --> <applications> <application> <name>firefox</name> <version>3.5.5</version> <release>1.fc12</release> </application> </applications> </operatingsystem> </operatingsystems>
これらのレポートの処理は、W3C 標準の XPath クエリーを使用して行うのが最適です。Red Hat Enterprise Linux 7 には、シンプルなインスタンスに使用できる xpath コマンドラインプログラムが同梱されています。ただし、長期間使用し、高度な使用方法を利用する場合は、XPath ライブラリーと、お気に入りのプログラミング言語を使用することを検討してください。
たとえば、以下の XPath クエリーを使用して、すべてのファイルシステムデバイスをリスト表示できます。
$ virt-inspector GuestName | xpath //filesystem/@dev
Found 3 nodes:
-- NODE --
dev="/dev/sda1"
-- NODE --
dev="/dev/vg_f12x64/lv_root"
-- NODE --
dev="/dev/vg_f12x64/lv_swap"
または、次のコマンドを実行してインストールしたすべてのアプリケーションの名前をリスト表示します。
$ virt-inspector GuestName | xpath //application/name
[...long list...]