DomainUへのHDD追加

HDDアイコン 仮想マシン上での作業用のスペースが足りなくなったので、仮想ディスクを追加した。手順を記録しておく。
参考にさせていただいたサイト:Xen の domainU のディスクを動的に増設する

1.Dom0で、ディスクイメージファイルを作成(今回は8GB)

上記サイトでは、既存のVolumeGroupを拡張する方法としていたが、ここでは、自由度を確保するために、新たなVGを作成する形態をとった。この方法だと、いらなくなったときに切り離したり、他の仮想マシンやホストOSにディスクイメージを渡したりしたい場合には便利だ。

# dd if=/dev/zero of=/xen/images/<イメージファイル名> bs=1M count=8192
8192+0 records in
8192+0 records out
8589934592 bytes (8.6 GB) copied, 264.841 seconds, 32.4 MB/s

2.ディスクイメージファイルを、仮想マシンにアタッチする

# xm block-attach <仮想マシン名> file://xen/images/<イメージファイル名> /dev/xvda3 w

3.DomU でディスクが増えていることを確認する。

# ls -l /dev/xvda*
brw-r----- 1 root disk 202, 0 Dec  5 01:11 /dev/xvda
brw-r----- 1 root disk 202, 1 Dec  5 01:11 /dev/xvda1
brw-r----- 1 root disk 202, 2 Dec  5 01:11 /dev/xvda2
brw-r----- 1 root disk 202, 3 Dec 25 21:23 /dev/xvda3

確かに、増えてる。

4.DomU で 物理ボリュームを作成する

# pvcreate /dev/xvda3
  Physical volume "/dev/xvda3" successfully created

5.増設した物理ボリュームで新たなボリュームグループを作る

# vgcreate VolGroup01 /dev/xvda3
  Volume group "VolGroup01" successfully created

6.ボリュームグループ上に、論理ボリュームを作る

#  lvcreate -L 8G -n LogVol00 VolGroup01
  Insufficient free extents (2047) in volume group VolGroup01: 2048 required

GB指定では、エクステントが足りないといわれたので、エクステント数で指定しなおしてみた。

#  lvcreate -l2047 -n LogVol00 VolGroup01
  Logical volume "LogVol00" created

7.出来た論理ボリュームを確認する

# lvdisplay
  --- Logical volume ---
  LV Name                /dev/VolGroup01/LogVol00
  VG Name                VolGroup01
  LV UUID                wKusZv-czuv-Ea0F-y1K6-jz8z-Ezi2-O4PFgu
  LV Write Access        read/write
  LV Status              available
  # open                 0
  LV Size                8.00 GB
  Current LE             2047
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:2

8.論理ボリュームをフォーマットする

# mkfs.ext3 /dev/VolGroup01/LogVol00
mke2fs 1.39 (29-May-2006)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
1048576 inodes, 2096128 blocks
104806 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=2147483648
64 block groups
32768 blocks per group, 32768 fragments per group
16384 inodes per group
Superblock backups stored on blocks:
        32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632

Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 31 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.

一瞬で終了したのがちょっと不安だったが、正常なようだ。

9.マウント用のディレクトリを作成

# mkdir /work

10.マウントする

# mount /dev/VolGroup01/LogVol00 /work

11.マウントできたことを確認

# df
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/mapper/VolGroup00-LogVol00
                       5427652   2558004   2589484  50% /
/dev/xvda1              101086     20162     75705  22% /boot
tmpfs                   262232         0    262232   0% /dev/shm
/dev/mapper/VolGroup01-LogVol00
                       8252856    149628   7684004   2% /work

12.OS再起動時にもマウントされるように、fstabに、エントリーを追加

dump無し、fsck有りの設定

# vi /etc/fstab
     :
/dev/VolGroup01/LogVol00 /work                  ext3    defaults        0 1

13.OSを再起動して、うまくマウントされるかどうかを確認する

# reboot

Leave a Reply