シンプルファイルとして割り当てた domU の仮想ディスクを縮小する修行

シンプルファイルとしてストレージを割り当てた XendomU がある。このストレージの容量として 180 GB を割り当てたのだが、実際には 100 GB に満たない容量しか使っていない。しかし、一旦割り当ててしまったので、残り 80 GB 以上が使われないままになってしまう。
ということで、この 80 GB を解放して他の domU への割り当てに利用できるようにあがいてみた。

受け皿の作成

まず、元のファイルイメージをコピった。

# cp -p /var/xen/images/urara.img /var/xen/images/tmp.urara.img

次に受け皿となる(あとでマウントして使う)イメージファイルをざくっと作成。100 GB で。

# dd if=/dev/zero of=/var/xen/images/new.urara.img bs=1024k count=1 seek=102400

これらを仮想サーバの設定ファイル(/etc/xen/urara)に記述してドメイン(urara)を起動する。なお、実際には先に起動してから仮想マシンマネージャから GUI でストレージを追加したが、同じことと思われる。

起動後、domU 側で resize とコピーを行う。

# e2fsck -f /dev/xvdb1
# resize2fs -p /dev/xvdb1 1000000M
# dd if=/dev/xvdb1 of=/dev/xvdc

イメージファイル 100 GB に対して、ext3 ファイル自体は若干小さくしている。