KVM ディスク操作

qcow2

スパース(sparse)ファイル。
スナップショットをとれる。
ディスク領域を拡張する際、IO性能が極端に劣化する。

raw(スパース)

スパースファイル。
スナップショットはとれない。
ディスク領域を拡張する際、qcow2 ほどではないがIO性能が極端に劣化する。
VirtualMachineManager で新規仮想マシンを作成する際、[Allocate entire virtual disk now] にチェックを入れないとこの形式になる。

raw(ノンスパース)

ノンスパースファイル。
スナップショットはとれない。
VirtualMachineManager で新規仮想マシンを作成する際、[Allocate entire virtual disk now] にチェックを入れるとこの形式になる。

cp する際、そのままコピーするとノンスパースからスパースに変換される場合があるので、変換されたくない場合は –sparse=never のオプションをつける必要がある。

# cp –sparse=never olddisk.img newdisk.img

備考

・ディスクフォーマットの調べ方

# qemu-img info disk.img
file format: raw
virtual size: 8.0G (8589934592 bytes)
disk size: 8.0G

virsual size と disk size が一致していればノンスパース。
disk size の方が小さくなっている場合はスパース。

・ディスクイメージの作成

# qemu-img create -f raw raw-sparce.img 8G
# qemu-img create -f qcow2 qcow2.img 8G
※スパースファイルが作成される

rawフォーマットのイメージはゼロの羅列なので、dd でノンスパースなrawイメージを作成可能。

# dd if=/dev/zero of=raw-nonsparce.img bs=1M count=8196

・ディスクフォーマットのコンバー
qcow2 -> raw に変換する場合

# qemu-img convert -O raw qcow2.img raw.img 

・ディスク拡張

# qemu-img resize raw.img +8G