yuu_nkjm blog
2012-02-12(Sun) 編集
[KVM][openSUSE] 既存のrawをqcow2に変更する.また,そのサイズを拡大する
rawからqcow2への変換
$ qemu-img convert -O qcow2 disk1.raw disk1.qcow2
$ qemu-img info disk1.raw image: disk1.raw file format: raw virtual size: 30G (32212254720 bytes) disk size: 30G
$ qemu-img info disk1.qcow2 image: disk1.qcow2 file format: qcow2 virtual size: 30G (32212254720 bytes) disk size: 9.0G cluster_size: 65536
$ qemu-img resize disk1.qcow2 +30G $ qemu-img info disk1.qcow2 image: disk1.qcow2 file format: qcow2 virtual size: 60G (64424509440 bytes) disk size: 9.0G cluster_size: 65536
新しいqcow2ディスクをKVMクライアントに登録
virsh edit kvm-client.nkjm.infoとし,xmlを編集.
<driver name='qemu' type='raw'/> <source file='/var/lib/kvm/images/kvm-client.nkjm.info/disk1.raw'/> <target dev='vda' bus='virtio'/>
上記から下記に変更.
<driver name='qemu' type='qcow2'/> <source file='/var/lib/kvm/images/kvm-client.nkjm.info/disk1.qcow2'/> <target dev='vda' bus='virtio'/>
KVMクライアント上のOSでのディスク容量の追加
yast->システム-パーティション設定として情報を見る.
│デバイス │ サイズ │F│暗号│種類 │FS 種類│ラベル│マウントポイント │/dev/vda │ 60.00 GB│ │ │ │ │ │ │/dev/vda1 │ 156.00 MB│ │ │Linux native│Ext4 │ │/boot │/dev/vda2 │ 29.85 GB│ │ │Linux LVM │ │ │
ここで,/dev/vda2を選択し,サイズを変更できればよいのだが,LVMを拡張するのは難しい.LVMパーティションの拡張の手順をふめば,/dev/vda2が拡張できるっちゃできるとは思う.
ここでは,/dev/vda3を作成することにする.システム->パーティション設定から,/dev/vdaでaddをし,新規の基本パーティションを作成する.
│デバイス │ サイズ │F│暗号│種類 │FS 種類│ラベル│マウントポイント │/dev/vda │ 60.00 GB│ │ │ │ │ │ │/dev/vda1 │ 156.00 MB│ │ │Linux native│Ext4 │ │/boot │/dev/vda2 │ 29.85 GB│ │ │Linux LVM │ │ │ │/dev/vda3 │ 55.00 GB│ │ │Linux LVM │ │ │
ボリュームグループ(/dev/system)を選択し,サイズ変更を選択すると,新しく出来た物理ボリューム(/dev/vda3)をボリュームグループに加えられる.
あとは,追加された容量をどの論理ボリュームに割り振るかを決めるだけ.論理ボリュームの拡張は,オンラインで出来る.
- LVMで管理された論理ボリュームをオンラインで拡張する - yuu_nkjm blog(2011-11-24)
- LVMで管理されるパーティションサイズをオフラインで縮小する - yuu_nkjm blog(2012-01-30)/li>
- ディスクイメージ(CD,DVD)から起動する - yuu_nkjm blog(2012-01-24)
qcow2が無駄に大きくなってしまった時
qcow2は一度大きくなると,小さくなれない.例えば,qcow2上で巨大なテンポラリファイルを作ってしまった時,それを削除してもイメージファイルのサイズは小さくならない.これを適性サイズに戻すには,qcow2からqcow2へのconvertを行うらしい.(仮想化 - PukiWikiを参照)
qemu-img convert -O qcow2 disk1.qcow2 disk1.qcow2.new