yuu_nkjm blog
2012-02-04(Sat) 編集
[KVM][openSUSE] KVMクライアントに新しい仮想HDDを追加する
disk1.rawにゲストOSがインストールされているとする.
仮想HDDの作成
qemu-img create -f qcow2 bkup.qcow2 50G ls -la drwxr-xr-x 2 root root 4096 2月 1 14:29 . drwxr-xr-x 7 root root 4096 2月 1 13:29 .. -rwxr-xr-x 1 root root 32212254720 2月 1 13:28 disk1.raw -rw-r--r-- 1 root root 197632 2月 1 14:27 bkup.qcow2
qcow2で作成すると,初期値は小さくてなかなか良い感じ.
仮想HDDの変換(余談)
変換したHDDを追加したいこともあると思うので,ここに載せる.例えば,rawからqcow2に変換するコマンドは以下.
qemu-img convert -O qcow2 /path/to/disk1.raw /path/to/disk1.qcow2
仮想HDDの追加
仮想マシンを選ぶ -> 詳細 -> ハードウェアの追加->ストレージ 管理しているストレージを選択する:先ほど作成した仮想HDDのパス デバイスの種類:Virtio キャッシュモデル:default Storage format: qcow2
起動しようとすると,起動できない!
bkup.qcow2を追加する前のkvm.nkjm.infoのdisk部分はこんな感じだった.
<disk type='file' device='disk'> <driver name='qemu' type='raw'/> <source file='/var/lib/kvm/images/kvm.nkjm.info/disk1.raw'/> <target dev='vda' bus='virtio'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/> </disk>
追加したあと"virsh dumpxml kvm.nkjm.info"として設定を確認すると,なぜかvdaがbkup.qcow2になってしまっている.
<disk type='file' device='disk'> <driver name='qemu' type='raw'/> <source file='/mnt/bkup/kvm.nkjm.info/bkup.qcow2'/> <target dev='vda' bus='virtio'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/> </disk> <disk type='file' device='disk'> <driver name='qemu' type='raw'/> <source file='/var/lib/kvm/images/kvm.nkjm.info/disk1.raw'/> <target dev='vdc' bus='virtio'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/> </disk>
追加したあとxmlを確認すると,なぜかvdaがbkup.qcow2になってしまっている.
"virsh edit kvm.nkjm.info"として下記の様に修正する.
<disk type='file' device='disk'> <driver name='qemu' type='raw'/> <source file='/var/lib/kvm/images/kvm.nkjm.info/disk1.raw'/> <target dev='vda' bus='virtio'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/> </disk> <disk type='file' device='disk'> <driver name='qemu' type='raw'/> <source file='/mnt/bkup/kvm.nkjm.info/bkup.qcow2'/> <target dev='vdc' bus='virtio'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/> </disk>