3.5. 增大 GFS2 文件系统
gfs2_grow
命令用于在文件系统所在的设备扩展后扩展 GFS2 文件系统。在现有 GFS2 文件系统上运行 gfs2_grow
命令,会填满带有新初始化的 GFS2 文件系统扩展的设备末尾和文件系统当前末尾之间的所有备用空间。然后,集群中的所有节点都可以使用添加的额外存储空间。
您不能缩小 GFS2 文件系统的大小。
gfs2_grow
命令必须在挂载的文件系统上运行。下面的流程会增加集群中挂载在逻辑卷 shared_vg/shared_lv1
上的、挂载点为 /mnt/gfs2
的 GFS2 文件系统的大小。
步骤
- 对文件系统中的数据进行备份。
如果您不知道文件系统所使用的逻辑卷要扩展,您可以通过运行
df mountpoint
命令来确定。这将以以下格式显示该设备名称:/dev/mapper/vg-lv
例如,设备名称
/dev/mapper/shared_vg-shared_lv1
表示逻辑卷是shared_vg/shared_lv1
。在集群的一个节点上,使用
lvextend
命令扩展底层集群卷。如果您正在运行 RHEL 8.0,请使用--lockopt skiplv
选项覆盖正常的逻辑卷锁定。对于运行 RHEL 8.1 或更高版本的系统这没必要。对于 RHEL 8.1 及之后的版本,请使用以下命令。
# lvextend -L+1G shared_vg/shared_lv1 Size of logical volume shared_vg/shared_lv1 changed from 5.00 GiB (1280 extents) to 6.00 GiB (1536 extents). WARNING: extending LV with a shared lock, other hosts may require LV refresh. Logical volume shared_vg/shared_lv1 successfully resized.
对于 RHEL 8.0,请使用以下命令。
# lvextend --lockopt skiplv -L+1G shared_vg/shared_lv1 WARNING: skipping LV lock in lvmlockd. Size of logical volume shared_vg/shared_lv1 changed from 5.00 GiB (1280 extents) to 6.00 GiB (1536 extents). WARNING: extending LV with a shared lock, other hosts may require LV refresh. Logical volume shared_vg/shared_lv1 successfully resized.
如果您在集群的每个额外节点上运行 RHEL 8.0,请刷新逻辑卷以更新该节点上的活跃逻辑卷。运行 RHEL 8.1 及之后的版本不需要这一步,因为在逻辑卷扩展时自动步骤。
# lvchange --refresh shared_vg/shared_lv1
一个集群节点,增大 GFS2 文件系统的大小。如果没有在所有节点中刷新逻辑卷,则不要扩展该文件系统,否则该文件系统数据可能会在集群中不可用。
# gfs2_grow /mnt/gfs2 FS: Mount point: /mnt/gfs2 FS: Device: /dev/mapper/shared_vg-shared_lv1 FS: Size: 1310719 (0x13ffff) DEV: Length: 1572864 (0x180000) The file system will grow by 1024MB. gfs2_grow complete.
在所有节点上运行
df
命令,以检查新空间现在是否在文件系统中可用。请注意,所有节点上运行df
命令可能需要 30 秒才能显示相同的文件系统大小# df -h /mnt/gfs2] Filesystem Size Used Avail Use% Mounted on /dev/mapper/shared_vg-shared_lv1 6.0G 4.5G 1.6G 75% /mnt/gfs2