せっかくXenでサーバを仮想化しているのに、各仮想サーバにディスク容量を多めに割り当てておくのはもったいない。Xenはファイルをディスクとして扱えるので、新しいファイルを作ればディスクとして使うことができる。
①イメージファイルを作成
[root@ml115 ~]# dd if=/dev/zero of=/var/lib/xen/images/storage1-1 bs=1M count=4096
4096+0 records in
4096+0 records out
4294967296 bytes (4.3 GB) copied, 88.3003 seconds, 48.6 MB/s
4096+0 records in
4096+0 records out
4294967296 bytes (4.3 GB) copied, 88.3003 seconds, 48.6 MB/s
②イメージファイルにファイルシステムを作成
[root@ml115 ~]# mke2fs -j -F /var/lib/xen/images/storage1-1
mke2fs 1.39 (29-May-2006)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
524288 inodes, 1048576 blocks
52428 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=1073741824
32 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
mke2fs 1.39 (29-May-2006)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
524288 inodes, 1048576 blocks
52428 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=1073741824
32 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
Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done
This filesystem will be automatically checked every 21 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.
[root@ml115 ~]#
③イメージファイルを仮想サーバに繋げる
[root@ml115 ~]# xm block-attach storage1 file://var/lib/xen/images/storage1-1 /dev/hda w
これは仮想サーバを再起動すると外れてしまうので、上手く動いたら設定ファイル(/etc/xen/storage1)に設定を追加する。
disk = [ 'tap:aio:/opt/xen/centos5,xvda,w', 'file:/var/lib/xen/images/storage1-1,hda,w']
④仮想サーバでマウントする
[root@storage1 ~]# mount /dev/hda /home
⑤確認する
[root@storage1 ~]# ls /home
lost+found This_is_New_Disk.txt
lost+found This_is_New_Disk.txt
ちなみに『This_is_New_Disk.txt』は私がわかりやすいように作ったファイルで、自動生成されるものではない。
⑥仮想サーバのfstabを編集
[root@storage1 ~]# vi /etc/fstab
...
/dev/hda /home ext3 default 0 0
...
...
/dev/hda /home ext3 default 0 0
...