15.4. イメージのマッピング

qemu-img map コマンドを使用すると、指定されたイメージファイル (imgname) とそのバッキングファイルチェーンのメタデータをダンプできます。ダンプにより、(imgname) のすべてのセクターの割り当て状態が、バッキングファイルチェーンでそれを割り当てる最上位のファイルと共に表示されます。オプションでファイルの形式タイプ (fmt) を指定します。
 # qemu-img map [-f fmt] [--output=fmt] imgname
出力形式には、human 形式と json 形式の 2 種類があります。

15.4.1. human 形式

デフォルト形式 (human) は、ファイルの非ゼロの、割り当て部分のみをダンプします。出力により、データの読み取り可能なファイルとファイル内のオフセットを特定します。各行には 4 つのフィールドが含まれます。以下は出力例になります。
Offset          Length          Mapped to       File
0               0x20000         0x50000         /tmp/overlay.qcow2
0x100000        0x10000         0x95380000      /tmp/backing.qcow2
最初の行は、イメージのオフセット 0 で開始する 0x20000 (131072) バイトがオフセット 0x50000 (327680) で開始する tmp/overlay.qcow2 (raw 形式で開く) で利用可能であることを意味します。human 形式が指定されている場合は、圧縮され、暗号化されているか、raw 形式で利用できないデータによりエラーが発生します。

注記

ファイル名には改行文字が含まれる場合があります。そのため、スクリプト内で human 形式の出力を解析することにはリスクが伴います。

15.4.2. json 形式

json オプションが指定されている場合、出力は JSON 形式の辞書の配列を返します。human オプションで提供される情報のほかにも、出力には以下の情報が含まれます。
  • data: セクターにデータが含まれるかどうかを示すブール値のフィールド
  • zero: データがゼロとして読み込まれるものとして既知であるかどうかを示すブール値のフィールド
  • depth: filename のバッキングファイルの深さ

注記

json オプションが指定されている場合、offset フィールドはオプションになります。
qemu-img map コマンドおよび追加オプションについての詳細は、関連の man ページを参照してください。