2008/03/10

LVM上のext3 filesystemをonlineで拡張

使用中のext3ファイルシステム(例えば「/」)の空き容量が足りなくなって困ることがある。このとき、当該ext3ファイルシステムが論理ボリューム(logical volume, LV)上に構築されていて、ディスクに空きがあれば、そのファイルシステムを拡張して空き容量を増やすことができる。以下の通り作業する。
例の如く、Xen DomUで検証すべく、Xen Dom0側で検証用DomU dc4を準備する。「/」が含まれるディスク/dev/xvda(Dom0上ではLogVolDc4)の他に、拡張用のディスク/dev/xvdb(Dom0上ではLogVolGNBD02)を追加する。
[root@fs1 ~]# lvcreate --snapshot --size=1G --name=LogVolDc4 /dev/VolGroupXX/LogVolDc0
Logical volume "LogVolDc4" created
[root@fs1 ~]# lvcreate --size=4G --name=LogVolGNBD02 VolGroupXX
Logical volume "LogVolGNBD02" created
[root@fs1 ~]# cat /etc/xen/dc4
name = "dc4"
uuid = "6d49dba0-ea90-4802-bd88-66ba9d552dd5"
maxmem = 256
memory = 64
vcpus = 1
bootloader = "/usr/bin/pygrub"
on_poweroff = "destroy"
on_reboot = "restart"
on_crash = "restart"
vfb = [ ]
disk = [ "phy:/dev/VolGroupXX/LogVolDc4,xvda,w","phy:/dev/VolGroupXX/LogVolGNBD02,xvdb,w" ]
vif = [ "mac=00:16:3e:1d:89:04,bridge=xenbr4000" ]
[root@fs1 ~]# xm create -c dc4
Using config file "/etc/xen/dc4".

<<略>>

起動したら、ログインし、ディスクの状態を確認する。
[root@dc4 ~]# df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/mapper/VolGroup00-LogVol00
3396284 1404812 1816164 44% /
/dev/xvda1 101086 12887 82980 14% /boot
tmpfs 32852 0 32852 0% /dev/shm
[root@dc4 ~]# lvs
LV VG Attr LSize Origin Snap% Move Log Copy%
LogVol00 VolGroup00 -wi-ao 3.34G
LogVol01 VolGroup00 -wi-ao 544.00M
[root@dc4 ~]# vgs
VG #PV #LV #SN Attr VSize VFree
VolGroup00 1 2 0 wz--n- 3.88G 0
[root@dc4 ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/xvda2 VolGroup00 lvm2 a- 3.88G 0
[root@dc4 ~]# vgdisplay VolGroup00
--- Volume group ---
VG Name VolGroup00
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 3
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 2
Open LV 2
Max PV 0
Cur PV 1
Act PV 1
VG Size 3.88 GB
PE Size 32.00 MB
Total PE 124
Alloc PE / Size 124 / 3.88 GB
Free PE / Size 0 / 0
VG UUID LJvuML-OhmL-LbIT-mLGW-Y5ty-XW8J-MC9uV0

[root@dc4 ~]# lvdisplay /dev/VolGroup00/LogVol00
--- Logical volume ---
LV Name /dev/VolGroup00/LogVol00
VG Name VolGroup00
LV UUID v3kYE9-IV4A-f97k-FONI-mxOk-oQxE-SrKz03
LV Write Access read/write
LV Status available
# open 1
LV Size 3.34 GB
Current LE 107
Segments 1
Allocation inherit
Read ahead sectors 0
Block device 253:0

[root@dc4 ~]#

追加したディスク/dev/xvdbを物理ボリューム(physical volume, PV)として設定する。
[root@dc4 ~]# pvcreate /dev/xvdb
Physical volume "/dev/xvdb" successfully created
[root@dc4 ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/xvda2 VolGroup00 lvm2 a- 3.88G 0
/dev/xvdb lvm2 -- 4.00G 4.00G
[root@dc4 ~]#
PVが追加されたことに注意。
このPVをボリュームグループ(volume group, VG) VolGroup00に追加する。
[root@dc4 ~]# vgextend VolGroup00 /dev/xvdb
Volume group "VolGroup00" successfully extended
[root@dc4 ~]# vgdisplay VolGroup00
--- Volume group ---
VG Name VolGroup00
System ID
Format lvm2
Metadata Areas 2
Metadata Sequence No 4
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 2
Open LV 2
Max PV 0
Cur PV 2
Act PV 2
VG Size 7.84 GB
PE Size 32.00 MB
Total PE 251
Alloc PE / Size 124 / 3.88 GB
Free PE / Size 127 / 3.97 GB
VG UUID LJvuML-OhmL-LbIT-mLGW-Y5ty-XW8J-MC9uV0

[root@dc4 ~]#
「Free PE」が増えていることに注意。
/」ファイルシステムが置かれているLV LogVol00を拡張する。
[root@dc4 ~]# lvextend --extents=+127 /dev/VolGroup00/LogVol00
Extending logical volume LogVol00 to 7.31 GB
Logical volume LogVol00 successfully resized
[root@dc4 ~]# lvdisplay /dev/VolGroup00/LogVol00
--- Logical volume ---
LV Name /dev/VolGroup00/LogVol00
VG Name VolGroup00
LV UUID v3kYE9-IV4A-f97k-FONI-mxOk-oQxE-SrKz03
LV Write Access read/write
LV Status available
# open 1
LV Size 7.31 GB
Current LE 234
Segments 2
Allocation inherit
Read ahead sectors 0
Block device 253:0

[root@dc4 ~]#
「LV Size」が増えていることに注意。
ファイルシステムを拡張する。
[root@dc4 ~]# resize2fs /dev/VolGroup00/LogVol00
resize2fs 1.39 (29-May-2006)
Filesystem at /dev/VolGroup00/LogVol00 is mounted on /; on-line resizing required
Performing an on-line resize of /dev/VolGroup00/LogVol00 to 1916928 (4k) blocks.
The filesystem on /dev/VolGroup00/LogVol00 is now 1916928 blocks long.

[root@dc4 ~]# df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/mapper/VolGroup00-LogVol00
7427628 1406560 5639372 20% /
/dev/xvda1 101086 12887 82980 14% /boot
tmpfs 32852 0 32852 0% /dev/shm
[root@dc4 ~]#
ディスクの空き容量が増えていることに注意。

0 件のコメント: