CentOS7下动态调整LVM分区大小的操作步骤
date
Oct 23, 2023
slug
lvm
status
Published
tags
Website
summary
Resizing partitions in CentOS
type
Post
1、问题现象
1、df –Th查看发现/根分区可用空间不足,且/home分区可用空间较多
2、配合lsblk命令查看发现/根分区与/home分区均为LVM类型
2、解决思路
压缩/home分区的大小,腾出空间用于根分区(根分区为LVM类型)进行在线扩容
3、操作步骤
1、先确认/home分区可用大小,已用大小,可以腾出多大空间,只保留至多少空间大小
举例:如下图所示/home分区可用大小74G,已用57M,因为/home不需要用于存放较多文件,可以考虑将/home只保留到10G大小,这样就可以腾出60几G的空间出来
2、umount /home
如果提示设备忙,用lsof /home以及fuser/home查看 /home目录被哪些进程使用,然后kill-9杀掉这些进程,再重新umount,再df–Th确认/home分区是否卸载成功了
如下图所示:因为当前已经
cd/home
目录,所以无法umount /home
,这时退出/home目录,例如直接cd 到主用户目录,即可卸载/home分区卸载成功示例
3、执行
resize2fs -p /dev/mapper/centos-home 10G
将/home分区缩小至10GB大小这时会提示先运行
e2fsck-f /dev/mapper/centos-home
进行分区检测这时再次执行
resize2fs -p /dev/mapper/centos-home 10G
等待进度条完成
4、进行LV压缩
lvreduce -L 10G/dev/mapper/centos-home
根据提示执行y
然后
vgdisplay
查看腾出空间大小如下图所示vgdisplay可以看到FreePE/Size约为69G大小
也就是腾出了69G可供重新分配的空间
5、将上一步vgdisplay看到FreePE全部用于扩展根分区所在的LV
lvextend -l+100%FREE /dev/mapper/centos-root
重设根分区大小
resize2fs -p /dev/mapper/centos-root
最后df –PTh查看根分区大小是否扩容成功
6、最后mount –a重新挂载/home分区,当然也可以手动
mount /dev/mapper/centos-home /home
注意事项
1、resize2fs命令只针对ext4格式的文件系统
那对于xfs格式的文件系统的扩展命令为xfs_growfs/dev/mapper/centos-root
2、若/home与/根分区为xfs格式文件系统的LVM分区
建议的解决思路是
1)、先将/home下的文件备份到本地后,umount /home
2)、再格式化home分区成ext4格式:mkfs.ext4/dev/mapper/centos-home
3)、再进行前面讲述的步骤,进行/home分区压缩与根分区扩容
4)、对xfs格式文件系统的根分区扩容时使用的命令是xfs_growfs /dev/mapper/centos-root
5)、然后/etc/fstab中/home分区的文件系统格式要改为ext4,必须与实际文件系统格式匹配
根据和GPT的沟通:
Q:
[root@HK1003-A11 ~]# lvextend -l+100%FREE /dev/mapper/centos_hk1003--a11-root
Size of logical volume centos_hk1003-a11/root changed from 50.00 GiB (12800 extents) to <912.76 GiB (233666 extents).
Logical volume centos_hk1003-a11/root successfully resized.
A:
根据您提供的输出,
lvextend
命令已成功扩展了逻辑卷/dev/mapper/centos_hk1003--a11-root
的大小。原来的逻辑卷大小为50.00 GiB,扩展后的大小为912.76 GiB。输出中的消息"Size of logical volume centos_hk1003-a11/root changed"表示逻辑卷的大小已经改变,"Logical volume centos_hk1003-a11/root successfully resized"表示逻辑卷成功调整大小。
现在,您的逻辑卷
/dev/mapper/centos_hk1003--a11-root
已经扩展到新的大小。您可以使用相应的命令(如resize2fs
)来调整文件系统大小以适应新的逻辑卷大小,以便能够使用新的可用空间。例如,如果您使用的是ext4文件系统,可以运行以下命令来调整文件系统大小:请注意,调整文件系统大小可能需要一些时间,具体取决于文件系统的大小和系统性能。在进行任何调整操作之前,请务必备份重要数据,并确保您了解操作的风险。
Q:
resize2fs 1.42.9 (28-Dec-2013)
resize2fs: Bad magic number in super-block 当尝试打开 /dev/mapper/centos_hk1003--a11-root 时
找不到有效的文件系统超级块.
A:
根据您提供的输出,
resize2fs
命令在尝试打开/dev/mapper/centos_hk1003--a11-root
时遇到了错误。错误消息"Bad magic number in super-block"表示无法找到有效的文件系统超级块。这个错误通常发生在尝试调整大小的设备上没有正确的文件系统,或者文件系统已经损坏。可能有几个原因导致这个问题:
- 您可能没有正确指定逻辑卷的设备路径。请确保您正在使用正确的设备路径来调整文件系统大小。您可以使用
lsblk
命令来查看逻辑卷的设备路径。
- 逻辑卷上可能没有正确的文件系统。在使用
resize2fs
调整文件系统大小之前,确保逻辑卷上存在有效的文件系统。您可以使用file -sL /dev/mapper/centos_hk1003--a11-root
命令来检查设备上的文件系统类型。
- 文件系统可能已经损坏。如果文件系统损坏,
resize2fs
命令将无法识别文件系统的超级块。在这种情况下,您可能需要尝试修复文件系统或从备份中还原数据。
请确保您已经确认了逻辑卷的设备路径,并检查文件系统的完整性。如果问题仍然存在,请提供更多信息,例如您的操作系统版本和文件系统类型,以便我可以更好地帮助您解决问题。
Q:
[root@HK1003-A11 ~]# file -sL /dev/mapper/centos_hk1003--a11-root
/dev/mapper/centos_hk1003--a11-root: SGI XFS filesystem data (blksz 4096, inosz 512, v2 dirs)
A:
根据您提供的输出,
/dev/mapper/centos_hk1003--a11-root
是一个SGI XFS文件系统。由于您的文件系统类型是XFS,而不是ext4,因此您需要使用不同的命令来调整文件系统大小。对于XFS文件系统,可以使用
xfs_growfs
命令来调整大小。请尝试运行以下命令来调整XFS文件系统的大小:
这将自动调整XFS文件系统以适应新的逻辑卷大小。
请注意,调整文件系统大小可能需要一些时间,具体取决于文件系统的大小和系统性能。在进行任何调整操作之前,请务必备份重要数据,并确保您了解操作的风险。
Q:
[root@HK1003-A11 ~]# xfs_growfs /dev/mapper/centos_hk1003--a11-root
meta-data=/dev/mapper/centos_hk1003--a11-root isize=512 agcount=4, agsize=3276800 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0 spinodes=0
data = bsize=4096 blocks=13107200, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal bsize=4096 blocks=6400, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
data blocks changed from 13107200 to 239273984
A:
根据您提供的输出,
xfs_growfs
命令已成功调整了XFS文件系统的大小。文件系统的数据块从13107200个块增加到了239273984个块。现在,您的XFS文件系统应该已经调整为适应新的逻辑卷大小。您可以使用
df -h
命令来验证文件系统的大小是否已更新。请记住,在进行任何调整操作之前,请务必备份重要数据,并确保您了解操作的风险。如果您有任何其他问题,请随时提问。