28.3. qemu-img の使用

qemu-img コマンドラインツールは、Xen と KVM で使用している 各種ファイルシステムのフォーマットに使用されます。qemu-img は 仮想化ゲストイメージ、追加のストレージデバイス、及びネットワークストレージのフォーマットに 使用されるものです。qemu-img のオプションと使用法は以下の一覧に 示されています。
新規イメージ、又はデバイスのフォーマットと作成
サイズ size と形式 format の 新しいディスクイメージファイル名を作成します。
# qemu-img create [-6] [-e] [-b base_image] [-f format] filename [size]
base_image が指定されている場合、そのイメージは base_image との相違のみを 記録します。この場合、サイズは指定する必要はありません。base_image は、 "commit" と言うモニターコマンドを使用しない限りは、修正しません。
既存のイメージを別の形式に変換
認識されている形式を別のイメージ形式に変換するのには、convert オプションが使用されます。
コマンドの形式:
# qemu-img convert [-c] [-e] [-f format] filename [-O output_format] output_filename
フォーマット output_format を使用して、ディスクイメージ filename を ディスクイメージ output_filename に 変換します。ディスクイメージは -e オプションを使用して暗号化したり、 -c オプションで圧縮したりできます。
"qcow" フォーマットのみが暗号化、又は圧縮をサポートします。 圧縮は読み込み専用です。このことは圧縮したセクターが再書き込みされると、それは 圧縮無しのデータとして再書き込みされると言う意味です。
暗号化は非常に安全な 128-bit キーを持つ AES 形式を使用します。長いパスワード (16文字以上)の使用で最大の保護を得ることができます。
イメージ変換も、qcow 又は cow などの 増大する形式を使用する時には小さいイメージを取得するのに役立ちます。空のセクターは検知されて 目的地イメージから抑圧されます。
イメージ情報の取得
info パラメータはディスクイメージに関する情報を 表示します。info オプション用の形式は以下のようになります:
# qemu-img info [-f format] filename
これはディスクイメージのファイル名に関する情報を与えます。特に表示されたサイズとは 異なる可能性のあるディスク上で保存されたサイズを知る目的で使用します。vm スナップショットが ディスクイメージに格納されている場合は、それらも表示されます。
サポートされている形式
イメージのフォーマットは通常、自動的に行われます。以下のフォーマットが サポートされています:
raw
Raw ディスクイメージフォーマット(デフォルト)。このフォーマットは単純で、全ての 他のエミュレータに簡単にエキスポートできます。ユーザーのファイルシステムが holes(例えば、Linux での ext2 や ext3 で、Windows での NTFS で)をサポートしていれば、 書き込まれたセクターのみがスペースを保存します。qemu-img info を使用して、イメージ又は Unix/Linux 上で ls -ls で使用されている本当のサイズを知ることができます。
qcow2
QEMU イメージフォーマットは最も柔軟性のあるフォーマットです。より小さなイメージ (例えば Windows で使用フィルシステムが holes をサポートしない場合)、オプションの AES 暗号化、zlib ベースの圧縮、及び 複数 VM スナップショットのサポートなどを得るのに 使用します。
qcow
旧来の QEMU イメージフォーマットです。古いバージョンとの互換性の為にのみ含まれています。
cow
ユーザーモード Linux Copy On Write イメージフォーマットです。cow フォーマットは以前のバージョンとの互換性の為にのみ含まれています。Windows では機能しません。
vmdk
VMware 3 と 4 の互換イメージフォーマットです。
cloop
Linux 圧縮ループイメージは、例として Knoppix CD-ROM などに収納されている 直接圧縮 CD-ROM を再利用する時にのみ役に立ちます。