第21章 オフラインツールを使用したゲスト仮想マシンのディスクアクセス
21.1. 導入部分
Red Hat Enterprise Linux 7 には、ゲスト仮想マシンのディスクやその他のディスクイメージのアクセス、編集、および作成を可能にする
libguestfs
ユーティリティーが多数用意されています。このツールには、以下のような複数の用途があります。
- ゲスト仮想マシンのディスクにあるファイルの表示またはダウンロード
- ゲスト仮想マシンのディスクでのファイルの編集またはアップロード。
- ゲスト仮想マシンの設定の読み取りまたは書き込み。
- ファイル、ディレクトリー、ファイルシステム、パーティション、論理ボリューム、およびその他のオプションを含む新しいディスクイメージの準備
- 起動に失敗したゲスト仮想マシン、または起動設定の変更が必要なゲスト仮想マシンの復旧および修復
- ゲスト仮想マシンのディスク使用状況の監視
- 組織のセキュリティー標準など、ゲスト仮想マシンのコンプライアンスの監査
- テンプレートのクローンを作成して変更し、ゲスト仮想マシンをデプロイする。
- CD および DVD ISO のイメージおよびフロッピーディスクイメージの読み取り。
警告
この章に記載されているユーティリティーを使用して、実行中の仮想マシンに接続されているゲスト仮想マシンまたはディスクイメージに書き込みを行ったり、書き込みモードでそのようなディスクイメージを開いたり しないでください。
実行すると、ゲスト仮想マシンのディスクが破損します。このツールはこれを防ぐように試みますが、すべてのケースを保護するわけではありません。ゲスト仮想マシンが実行中だと疑われる場合は、Red Hat はユーティリティーを使用しないことを強く推奨します。
安全性を向上させるために、特定のユーティリティーは、(
--ro
オプションを使用して) 読み取り専用モードで使用できますが、変更を保存しません。
注記
libguestfs ドキュメントと関連ユーティリティーの主なソースは、Linux の man ページです。API は guestfs(3)、guestfish は guestfish(1)、仮想化ユーティリティーは独自の man ページ (virt-df(1) など) で説明されています。トラブルシューティング情報は、「libguestfs トラブルシューティング」 を参照してください。
21.1.1. リモート接続の使用に関する注意
Red Hat Enterprise Linux 7 の仮想化コマンドの中には、リモートの libvirt 接続を指定できるものがあります。以下に例を示します。
# virt-df -c qemu://remote/system
-d Guest
ただし、Red Hat Enterprise Linux 7 の libguestfs ユーティリティーは、リモートの libvirt ゲストのディスクにはアクセスできません。また、上記のようにリモート URL を使用するコマンドは想定どおりに機能しません。
ただし、Red Hat Enterprise Linux 7 以降、libguestfs はネットワークブロックデバイス (NBD) を介してリモートディスクソースにアクセスできます。qemu-nbd コマンドを使用して、リモートマシンからディスクイメージをエクスポートし、
nbd://
URL を使用してそのイメージにアクセスできます。以下のように、ファイアウォール (ポート 10809) でポートを開く必要があります。
リモートシステムの場合: qemu-nbd -t disk.img
ローカルシステムの場合: virt-df -a nbd://remote
影響を受けるのは、次の libguestfs コマンドの場合です。
- guestfish
- guestmount
- virt-alignment-scan
- virt-cat
- virt-copy-in
- virt-copy-out
- virt-df
- virt-edit
- virt-filesystems
- virt-inspector
- virt-ls
- virt-rescue
- virt-sysprep
- virt-tar-in
- virt-tar-out
- virt-win-reg