CentOS/RHEL:在 LVM 设备上调整(扩展)非根 EXT3/4 文件系统的大小

备份要调整大小的文件系统上的所有数据

如果执行不正确,调整文件系统和底层设备的大小是危险的,并且可能具有破坏性。
重新分区设备同样具有破坏性,可能会导致数据完全丢失。
在继续之前,备份要调整大小的文件系统/设备的内容。

https://onitroad.com 更多教程

在 LVM 设备上调整非根 EXT3/4 文件系统的大小

  1. 示例设置
    在此示例中,名为 VolGroupData 的大小为 20Gb 的卷组 (VG) 包含一个大小为 10Gb 的名为 LogVolData01 的逻辑卷 (LV),其 EXT3/4 文件系统 (/data) 使用了逻辑卷内的所有空间。
    LV 和 EXT3/4 文件系统都被调整大小(扩展)。

在继续之前,运行以下命令记录输出以备后用。

# fdisk -l /dev/sdb
Disk /dev/sdb: 21.4 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sdb1 1 2610 20964793+ 8e Linux LVM
# cat /proc/partitions | grep sdb
   8    16  20971520 sdb
   8    17  20964793 sdb1
# pvs
PV         VG           Fmt  Attr PSize  PFree
/dev/sdb1  VolGroupData lvm2 a-   19.99G 9.99G
# vgs
VG           #PV #LV #SN Attr   VSize   VFree
VolGroupData   1   1   0 wz--n- 19.99G 9.99G
# lvs
LV           VG           Attr   LSize  Oroirn Snap%  Move Log Copy%  Convert
LogVolData01 VolGroupData -wi-ao 10.00G
# df -k /dev/mapper/VolGroupData-LogVolData01
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/mapper/VolGroupData-LogVolData01
                      10321208   9600672    196248  98% /data
  1. 卸载文件系统
    卸载要调整大小的 EXT3/4 文件系统,例如:
# umount /data
  1. 执行文件系统检查
    对调整后的 EXT3/4 文件系统执行文件系统检查,确保对正在使用的文件系统类型使用相应的文件系统检查实用程序(fsck.ext3. fsck.ext4),例如:
# blkid /dev/VolGroupData/LogVolData01
/dev/VolGroupData/LogVolData01: LABEL="/data" UUID="1fc0bbcd-ba86-40b6-b562-5da90fb0d7af" TYPE="ext3"
# fsck.ext3 -fy /dev/VolGroupData/LogVolData01
e2fsck 1.39 (29-May-2006)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
data: 20/1294336 files (5.0% non-contiguous), 2440792/2580302 blocks
  1. 调整(扩展)逻辑卷的大小
    使用 lvextend 或者 lvresize 实用程序扩展逻辑卷以使用卷组中的可用空间,例如:
# lvextend -L 15G /dev/VolGroupData/LogVolData01
  Extending logical volume LogVolData01 to 15.00 GB
  Logical volume LogVolData01 successfully resized
  1. 验证逻辑卷大小调整
    验证逻辑卷调整大小,例如:
# vgs
VG           #PV #LV #SN Attr   VSize  VFree
VolGroupData  1    1   0 wz--n- 19.99G 4.99G
# lvs
LV           VG           Attr   LSize  Oroirn Snap%  Move Log Copy%  Convert
LogVolData01 VolGroupData -wi-a- 15.00G
# lvs --units m
LV           VG           Attr   LSize     Oroirn Snap%  Move Log Copy%  Convert
LogVolData01 VolGroupData -wi-a- 15360.00M
  1. 执行文件系统检查
    对调整后的 EXT3/4 文件系统执行文件系统检查,确保对正在使用的文件系统类型使用相应的文件系统检查实用程序(fsck.ext3. fsck.ext4),例如:
# fsck.ext3 -fy /dev/VolGroupData/LogVolData01 
e2fsck 1.39 (29-May-2006)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
data: 20/1310720 files (5.0% non-contiguous), 2441306/2621440 blocks
  1. 调整(扩展)文件系统
    使用 resize2fs 实用程序扩展 EXT3/4 文件系统以使用逻辑卷中的另外空间,例如:
# resize2fs /dev/VolGroupData/LogVolData01 
resize2fs 1.39 (29-May-2006)
Resizing the filesystem on /dev/VolGroupData/LogVolData01 to 3932160 (4k) blocks.
The filesystem on /dev/VolGroupData/LogVolData01 is now 3932160 blocks long.

注意:当运行 resize2fs 时,如果没有指定大小,文件系统将被扩展以利用分区中的所有可用/剩余空间。

  1. 挂载调整大小的文件系统
    挂载新的 EXT3/4 调整大小的文件系统,例如:
# mount /data
  1. 验证文件系统调整大小
    查看 dmesg、消息日志、df 命令输出等以验证 EXT3/4 文件系统大小调整成功,例如:
# df -k /dev/mapper/VolGroupData-LogVolData01 
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/mapper/VolGroupData-LogVolData01
                      15481840   9603228   5092180  66% /data
日期:2020-09-17 00:12:21 来源:oir作者:oir