Xenの仮想マシンのディスク容量拡張

仮想マシンのディスク容量拡張

仕事で、Xen仮想マシン(OSはDebian)を利用しているのですが、
最近、ディスク容量がいっぱいいっぱいに・・・
そこで、仮想マシンのディスク容量を増やす手順をまとめておきます。

手順(もともと存在するパーティションの容量を拡張)

□ ゲストOS停止
□ 現在のOSイメージをバックアップ

# cd /home/virtual-machines/
# mv debian-root.img debian-root.img.back

□ 拡張ファイル作成(1Gのファイルを作成します)

# dd if=/dev/zero of=devian-data.img bs=1024k count=1024

□ 現在のOSイメージと拡張ファイルを連結

# cat debian-root.img.back debian-data.img > debian-root.img

catを使ってimgファイルの連結できるんですね。

ファイルシステムのチェック

# e2fsck -fv debian-root.img
e2fsck 1.40-WIP (14-Nov-2006)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information

  245527 inodes used (46.83%)
    5517 non-contiguous inodes (2.2%)
         # of inodes with ind/dind/tind blocks: 4596/88/0
  990569 blocks used (94.47%)
       0 bad blocks
       1 large file

  163516 regular files
   80125 directories
      55 character device files
      25 block device files
       2 fifos
     370 links
    1788 symbolic links (1788 fast symbolic links)
       7 sockets
              • -
245888 files

ファイルシステムのリサイズ

# resize2fs debian-root.img
resize2fs 1.40-WIP (14-Nov-2006)
Resizing the filesystem on debian-root.img to 1310720 (4k) blocks.
The filesystem on debian-root.img is now 1310720 blocks long.

□ ゲストOS起動

# xm create -c /etc/xen/debian

□ 起動してみて問題ない場合、バックアップファイル削除

手順(新たにパーティションを作成する場合)

□ 拡張用ファイルを作成

# dd if=/dev/zero of=devian-data.img bs=1024k count=1024

□ ゲストOS設定ファイルを編集

# vim /etc/xen/debian
・・・
disk=['file:/home/virtual_machines/debian-root.img,sda1,w','file:/home/virtual_machines/debian-swap.img,sda2,w','file:/home/virtual_machines/debian-data.img,sda3,w']
・・・

□ ゲストOS起動

# xm create -c /etc/xen/debian

※/dev/以下を確認すると、新たに割り当てたデバイスが表示される
□ mkfsコマンドでファイルシステム作成

# mkfs /dev/sda3 -t ext3

□ mount

# mount /dev/sda2 /mnt/data -t ext3

これで、/mnt/dataに1Gの領域が割り当てられます。