[KVM] ゲストOS作成方法によってパフォーマンスが違う件


KVMのゲストOSが格納されるディスクイメージの作り方によって、ゲストOSができあがるまでの時間と起動後のパフォーマンスにすんげー差があるというお話。

比較対象のゲストOSはいずれもvcpuを1にしてメモリも1.5GBずつ、ハードディスクは20GBずつにしたんだけど、最初にddコマンドでイメージを作ってからvirt-installでゲストをインストールするのと、virt-installする際にディスクイメージを作るのとだと、後者のほうが圧倒的に早かった。それぞれのコマンドを比較してみる。

[cc lang='bash' ]INSTANCE=1.example.com ; PORT=10000 ; sudo dd if=/dev/zero of=/opt/vmimg/${INSTANCE}.img bs=1048576 count=1 seek=19456 && sudo virt-install --connect qemu:///system --name=${INSTANCE} --ram=1536 --vcpus=1 --network=bridge:br0 --file=/opt/vmimg/${INSTANCE}.img --file-size=20 --nonsparse --hvm --os-type=linux --vnc --vncport=$PORT --cdrom=/home/oresama/tmp/CentOS-5.6-x86_64-bin-DVD-1of2.iso[/cc]

 

[cc lang='bash' ]INSTANCE=2.example.com ; PORT=10001 ; MEMSIZE=1536 ; DISKSIZE=20 ; sudo virt-install --connect qemu:///system -n ${INSTANCE} -r ${MEMSIZE} --vcpus=1 -f /opt/vmimg/${INSTANCE}.img -s ${DISKSIZE} --os-type linux --os-variant=virtio26 --accelerate --network=bridge:br0 --hvm --cdrom=/home/oresama/tmp/CentOS-5.6-x86_64-bin-DVD-1of2.iso --vnc --vncport=$PORT[/cc]

 

前者は40分くらいかかったのに対し、後者はわずか10分足らず。面倒なことするだけ無駄ってことか?理由がわかる人いたら教えてください><