一、前言:
- 当磁盘总量较大时,一般的默认分区会分配给根目录50G,其余的空间则会全部分配到home目录,这将导致系统无法存放太多的系统文件。除home目录挂载的分区外,其余目录的最大容量为50G,也会产生大量的存储空间无法被有效利用,故而我们需要对文件系统进行重新分区。
- 注意:当前的文件系统类型有多种,不同的文件系统的处理方式也不一样。比较常见的是
xfs
(CentOS默认安装分区类型)以及ext4
。
二、实验背景:
- 磁盘总容量:150GB
- 根目录挂载:50GB
- 家目录挂载:97GB
- 其他挂载:3GB
三、系统分区
3.1 确认文件系统类型
-
首先需要确认系统采用哪种文件系统
- 命令:
sudo blkid
- 命令:
-
示例:
ext4
- 示例:
xfs
3.2 系统类型—xfs
- 查看当前分区情况
- 命令:
df -h
- 命令:
- 卸载
/dev/mapper/centos-home
分区挂载- 命令:
sudo umount /dev/mapper/centos-home
- 注意:建议在卸载分区前对home进行目录备份,变更大小将使得该分区不可用
- 命令:
-
缩小逻辑卷,使用
lvresize
命令来缩小逻辑卷的大小为目标值(50GB)-
命令:
sudo lvresize --size 50G /dev/mapper/centos-home
-
注意-1:对正常的分区卷使用该命令强行改变分区大小,将会导致该文件分区不可用,故建议先对该卷挂载的目录进行备份处理
-
注意-2:后续重新挂载该分区报错,可以尝试恢复文件原分区大小来恢复挂载
-
注意-3:在对该目录文件留有备份或不需要home目录下的文件,建议直接删除该分区,将所有的空间置于闲置,采用该方法来变更逻辑卷大小,后续该逻辑卷也无法重新挂载,将损失50GB的空间未利用。
-
- 将所有的闲置空间通过
lvextend
分配给根分区- 命令:
sudo lvextend -l +100%FREE /dev/mapper/centos-root
- 命令:
- 让系统识别新的根分区挂载
- 命令:
sudo lvextend -l +100%FREE /dev/mapper/centos-root
- 命令:
- 完成调节根分区!
-
若不对原home分区挂载逻辑卷进行处理,将会导致损失50GB可用空间,故建议删除该分区,将所有空间全部加载到根分区
-
重新挂载分区:
mount /dev/mapper/centos-home
(失败操作,该逻辑卷异常,无法正常挂载) -
删除分区:
lvremove /dev/mapper/centos-home
-
查看磁盘详情:
vgdisplay -v
-
3.3 系统类型—etx4
- 查看当前分区情况
- 命令:
df -h
- 命令:
- 卸载
/dev/mapper/centos-home
分区挂载- 命令:
sudo umount /dev/mapper/centos-home
- 命令:
- 检查
/dev/mapper/centos-home
逻辑卷- 命令:
e2fsck -f /dev/mapper/centos-home
- 命令:
- 压缩
/dev/mapper/centos-home
逻辑卷到50GB- 命令:
sudo lvresize --resizefs --size 50G /dev/mapper/centos-home
- 命令:
- 重新挂载
/dev/mapper/centos-home
逻辑卷- 命令:
mount /dev/mapper/centos-home
- 注意:xfs格式的文件系统在减小逻辑卷大小后,无法直接挂载,而ext4则可以!
- 命令:
- 将所有的闲置空间通过
lvextend
分配给根分区- 命令:
sudo lvextend -l +100%FREE /dev/mapper/centos-root
- 命令:
- 让系统识别调整后的分区
- 命令:
xfs_growfs /dev/mapper/centos-root
- 命令:
- 系统分区调整成功(完美!)
- 注:相较于
xfs
文件系统,etx4
调整分区更容易,而且调小分区空间后,也不会导致分区出现异常,譬如无法挂载等问题。
- 注:相较于