QEMU
ファイル形式
比べてみた

QEMUで作成可能な仮想ディスクファイルフォーマット 比べてみた

More than 1 year has passed since last update.


始めに

qemu-img createqemu-img convertで作れる仮想ディスクファイルの形式は幾つかありますが、どの形式がサイズ面で優れているか比較してみました。


手法


  1. 「amd64版Debianを、ext4形式・swap領域別ドライブかつ追加パッケージ群を一つも選ばずにネットワークインストーラを用いてインストールし、インストール後にログインせずにzerofreeで未使用領域の初期化を行った物」を作ります。


  2. qemu-img convertで各形式に変換します。

  3. 変換後のサイズを比較します。

  4. ついでにWinRARで最大限圧縮した場合の比較もします。


結果

こんな感じになりました。サイズの単位はバイトです。

形式
サイズ
圧縮後のサイズ

qcow2(圧縮)
236,978,176
227,667,478

qcow(圧縮)
301,258,752
229,580,818

qcow(非圧縮)
709,541,888
143,966,819

qcow2(非圧縮)
734,855,168
143,914,934

vmdk
735,969,280
143,942,834

qed
736,231,424
143,918,088

vdi
835,781,120
144,130,272

parallels
836,763,648
144,079,905

vpc(通称vhd)
950,277,120
143,954,692

vhdx
1,635,778,560
144,223,958

raw
17,179,869,184
147,856,621


結論

試してみた結果、以下のことが分かりました。


  • 普通に使える形式の中では、QCOW2に-cオプション付きで変換を行ったものが最も小さくなった。

  • 圧縮QCOW系を除き、どの形式も圧縮後のサイズに有意な差は見られなかった。

  • vhdx形式、vhd形式より悪化してるんですが・・・・・・

なお、圧縮QCOW2ですが、Copy On Writeだけあってログイン画面に進むだけでファイルサイズが膨れたりとかするので「普段使いするにはサイズの膨れ方が気になる」「ただ保管するだけなら非圧縮形式を別途圧縮した方がサイズ的に良い」等、ちょっとイマイチだなぁ思いました。


おわりに

ポータビリティとファイルサイズのバランスを考えるならVMWareのvmdk形式にしましょう!