fs_growfs 命令
使用xfs_growfs命令增加 XFS 文件系统的大小。必须挂载 XFS 文件系统,并且底层设备上必须有可用空间。xfs_growfs 实用程序最常用于逻辑卷。xfs_growfs 命令的语法如下:
# xfs_growfs [options] mount-point
以下选项可用于 xfs_growfs 命令:
- -d:将文件系统的数据部分扩展到底层设备的最大大小。
- -D [size] : 指定扩展文件系统数据部分的大小。[size] 参数以文件系统块的数量表示。
- -L [size]:指定日志区域的新大小。这不会扩展大小,而是指定日志区域的新大小。因此,此选项可用于缩小日志区域的大小。您不能缩小文件系统的数据部分的大小。
- -m [maxpct] :指定文件系统中可分配为 inode 的最大空间百分比的新值。对于 mkfs.xfs 命令,此选项是通过**--i maxpct=[value]**选项指定的。
注意:目前无法缩小或减少 xfs 文件系统。因此,必须确保设备尺寸不大于预期尺寸。
扩展 XFS 文件系统
1. 验证 XFS 文件系统的当前大小
在增加文件系统之前检查文件系统详细信息:
# xfs_growfs -n /dev/vg_test/lv_test
meta-data=/dev/mapper/vg_test-lv_test isize=512 agcount=4, agsize=32000 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0 spinodes=0
data = bsize=4096 blocks=128000, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal bsize=4096 blocks=855, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
在**-n**选项实际上并没有延伸XFS文件系统,但只是打印当前的文件系统的详细信息。Aslo 检查"df -h"命令输出以查看挂载点的当前大小。
# df -h
/dev/mapper/vg_test-lv_test 497M 26M 472M 6% /data
2.扩展底层设备(lvextend,grow LUN,expand partition)。
在我们扩展 XFS 文件系统之前,我们需要扩展底层 LVM 卷。如果可能,您可以扩展 LVM VG 中的现有物理卷。出于本文的目的,我们将使用一个新的 PV 来扩展 LV。
- 识别新磁盘并创建物理卷。
# pvcreate /dev/sdc
- 使用新 PV 扩展卷组 vg_test。
# vgextend vg_test /dev/sdc
- 验证卷组的新大小。
# vgdisplay vg_test
--- Volume group ---
VG Name vg_test
System ID
Format lvm2
Metadata Areas 2
Metadata Sequence No 3
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 1
Open LV 1
Max PV 0
Cur PV 2
Act PV 2
VG Size 39.99 GiB
PE Size 4.00 MiB
Total PE 10238
Alloc PE / Size 125 / 500.00 MiB
Free PE / Size 10113 / 39.50 GiB
VG UUID wrd9eB-aZo3-HCmD-Rlgr-NcGP-vS2Z-cm2CeQ
- 使用"lvresize"命令将逻辑卷扩展到所需的大小。
# lvresize -L +35g /dev/vg_test/lv_test
Size of logical volume vg_test/lv_test changed from 500.00 MiB (125 extents) to 35.49 GiB (9085 extents).
Logical volume vg_test/lv_test successfully resized.
3. 扩展 XFS 文件系统
# xfs_growfs /dev/vg_test/lv_test
meta-data=/dev/mapper/vg_test-lv_test isize=512 agcount=4, agsize=32000 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0 spinodes=0
data = bsize=4096 blocks=128000, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal bsize=4096 blocks=855, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
data blocks changed from 128000 to 9303040
注意数据块从 128000 变成了 9303040。
4. 验证
- 您可以使用"xfs_info"命令查看 XFS 卷详细信息,如下所示。请注意数据量的块。
# xfs_info /dev/vg_test/lv_test
meta-data=/dev/mapper/vg_test-lv_test isize=512 agcount=291, agsize=32000 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0 spinodes=0
data = bsize=4096 blocks=9303040, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal bsize=4096 blocks=855, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
在"df -h"命令输出中验证 XFS 文件系统的新大小。
# df -hP /data
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg_test-lv_test 36G 35M 36G 1% /data
正如您在上面的输出中看到的,/data 挂载点大小已从 500MB 增加到 ~36GB。