ディスクを増設はLVM2 が設定されていれば簡単に扱うことができます。

物理的なディスクだけでなく、 VMware や VirtualBox のような仮想環境でも同じように使えます。

LVM2 ではディスクが抽象化されており、次のような構成になっています。いわゆる「ボリュームマネージャ」というものです。

PV (Physical Volume)
物理的なディスク
VG (Volume Group)
PVをグループ化したもの
LV (Logical Volume)
VGからOSに切り出されるディスク

PV → VG → LV という形で追加することができます。 CentOS 4.6 の環境にて、8GB の SCSI ディスクを追加してみます。

まずは追加したディスクを認識したところから。 dmesg で確認してみると次のようになっていました。

#pre{{ SCSI device sdb: 16777216 512-byte hdwr sectors (8590 MB) sdb: cache data unavailable sdb: assuming drive cache: write through

sdb: unknown partition table

Attached scsi disk sdb at scsi0, channel 0, id 1, lun 0 }}

/dev/sdb として認識したので、pvcreate にて追加します。

#pre{{ [root@localhost ~]# pvcreate /dev/sdb

 Physical volume "/dev/sdb" successfully created                               

[root@localhost ~]# pvs

 PV         VG         Fmt  Attr PSize PFree                                   
 /dev/sda2  VolGroup00 lvm2 a-   7.88G 32.00M                                  
 /dev/sdb              lvm2 --   8.00G  8.00G 

}}

ここでは別なVGを作るのではなく、 既存の VG に新たに PV を加える形で拡張しました。 vgextend で拡張すると、上で追加した PV の 8.00G 分が free になってます。

#pre{{ [root@localhost ~]# vgs

 VG         #PV #LV #SN Attr   VSize VFree 
 VolGroup00   1   2   0 wz--n- 7.88G 32.00M

[root@localhost ~]# vgextend VolGroup00 /dev/sdb

 Volume group "VolGroup00" successfully extended

[root@localhost ~]# vgs

 VG         #PV #LV #SN Attr   VSize  VFree
 VolGroup00   2   2   0 wz--n- 15.84G 8.00G

}}

LV を作ります。この増えた 8G を VolGroup00 から切り出して、 LogVol02 としました。

#pre{{ [root@localhost ~]# lvcreate VolGroup00 -L 8G -n LogVol02

 Logical volume "LogVol02" created

[root@localhost ~]# lvs

 LV       VG         Attr   LSize Origin Snap%  Move Log Copy% 
 LogVol00 VolGroup00 -wi-ao 5.91G                              
 LogVol01 VolGroup00 -wi-ao 1.94G                              
 LogVol02 VolGroup00 -wi-a- 8.00G                              

[root@localhost ~]# vgs

 VG         #PV #LV #SN Attr   VSize  VFree
 VolGroup00   2   3   0 wz--n- 15.84G    0 

}}

あとはファイルシステムを作って mount すれば完了です。

#pre{{ [root@localhost ~]# ls /dev/mapper/ VolGroup00-LogVol00 VolGroup00-LogVol02 VolGroup00-LogVol01 control [root@localhost ~]# mkfs.ext3 /dev/mapper/VolGroup00-LogVol02 mke2fs 1.35 (28-Feb-2004) Filesystem label= OS type: Linux Block size=4096 (log=2) Fragment size=4096 (log=2) 1048576 inodes, 2097152 blocks 104857 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 (8192 blocks): done Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 24 mounts or 180 days, whichever comes first. Use tune2fs -c or -i to override. [root@localhost ~]# mkdir -p /u01 [root@localhost ~]# mount /dev/mapper/VolGroup00-LogVol02 /u01 [root@localhost ~]# df -h /u01 Filesystem サイズ 使用 残り 使用% マウント位置 /dev/mapper/VolGroup00-LogVol02

                     7.9G   51M  7.5G   1% /u01

}}

ここでは同じVGにディスクを追加していきましたが、 ディスクコントローラが複数ある場合などI/Oが分散できるならば、 異なるVGを作っていくとパフォーマンスが向上したり、 運用管理が楽になる場合もあるでしょう。

参考文献



トップ   差分 履歴 リロード   一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2011-01-29 (土) 15:27:48