4案例4:擴展邏輯卷的大小
4.1問題
本例要求沿用練習一,將邏輯卷vo的大小調整爲300MIB,要求如下:
- 原文件系統中的內容必須保持完整
- 必要時可使用之前準備的分區/dev/vdb5來補充空間
- 注意:分區大小很少能完全符合要求的大小,所以大小在270MIB和300MIB之間都是可以接受的
4.2 方案
對於已經格式化好的邏輯卷,在擴展大小以後,必須通知內核新的大小。
如果此邏輯捲上的文件系統是ext3/ext4類型,需要使用resize2fs工具;
如果此邏輯捲上的文件系統是xfs類型,需要使用xfs_growfs。
4.3 步驟
實現此案例需要按照如下步驟進行。
步驟一:確認邏輯卷vo的信息
1)找出邏輯卷所在的卷組
[root@server0 ~]# lvscan
ACTIVE '/dev/systemvg/vo' [180.00 MiB] inherit
ACTIVE '/dev/datastore/database' [800.00 MiB] inherit
2)查看該卷組剩餘的空間是否可以滿足擴展需求
[root@server0 ~]# vgdisplay systemvg
--- Volume group ---
VG Name systemvg
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 2
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 1
Open LV 0
Max PV 0
Cur PV 1
Act PV 1
VG Size 196.00 MiB //卷組總大小
PE Size 4.00 MiB
Total PE 49
Alloc PE / Size 45 / 180.00 MiB
Free PE / Size 4 / 16.00 MiB //剩餘空間大小
VG UUID czp8IJ-jihS-Ddoh-ny38-j521-5X8J-gqQfUN
此例中卷組systemvg的總大小都不夠300MIB、剩餘空間才16MIB,因此必須先擴展卷組。只有剩餘空間足夠,纔可以直接擴展邏輯卷大小。
步驟二:擴展卷組
1)將提前準備的分區/dev/vdb5添加到卷組systemvg
[root@server0 ~]# vgextend systemvg /dev/vdb5
Physical volume "/dev/vdb5" successfully created
Volume group "systemvg" successfully extended
2)確認卷組新的大小
[root@server0 ~]# vgdisplay systemvg
--- Volume group ---
VG Name systemvg
.. ..
VG Size 692.00 MiB //總大小已變大
PE Size 4.00 MiB
Total PE 173
Alloc PE / Size 45 / 180.00 MiB
Free PE / Size 128 / 512.00 MiB //剩餘空間已達512MiB
VG UUID czp8IJ-jihS-Ddoh-ny38-j521-5X8J-gqQfUN
步驟三:擴展邏輯卷大小
1)將邏輯卷/dev/systemvg/vo的大小調整爲300MIB
[root@server0 ~]# lvextend -L 300MiB /dev/systemvg/vo
Extending logical volume vo to 300.00 MiB
Logical volume vo successfully resized
2)確認調整結果
[root@server0 ~]# lvscan
ACTIVE '/dev/systemvg/vo' [300.00 MiB] inherit
ACTIVE '/dev/datastore/database' [800.00 MiB] inherit
3)刷新文件系統大小
確認邏輯卷vo上的文件系統類型:
[root@server0 ~]# blkid /dev/systemvg/vo
/dev/systemvg/vo: UUID="d4038749-74c3-4963-a267-94675082a48a" TYPE="ext4"
選擇合適的工具刷新大小:
[root@server0 ~]# resize2fs /dev/systemvg/vo
resize2fs 1.42.9 (28-Dec-2013)
Resizing the filesystem on /dev/systemvg/vo to 307200 (1k) blocks.
The filesystem on /dev/systemvg/vo is now 307200 blocks long.
確認新大小(約等於300MIB):
[root@server0 ~]# mount /dev/systemvg/vo /vo/
[root@server0 ~]# df -hT /vo
Filesystem Type Size Used Avail Use% Mounted on
/dev/mapper/systemvg-vo ext4 287M 2.1M 266M 1% /vo