在安装完centos系统以后,系统的分区大小往往不是自己预期的大小,这个时候就需要我们自己手动来调整分区大小,在centos7 里面,手动调整分区大小的方法如下
1、查看目前分区的情况
从上面的查询结果我们可以看出,根目录(/root根分区)只有42G,但是/home分区却有241G,我们希望将/root分区加大,以便安装各类软件,将/home目录减少
2、查看文件系统
查看文件系统的类型,/root 根分区和 /home 分区类型一样才能进行压缩扩容调整。
[root@localhost tools]# mount |grep root
/dev/mapper/centos-root on / type xfs (rw,relatime,seclabel,attr2,inode64,noquota)
[root@localhost tools]# mount | grep home
/dev/mapper/centos-home on /home type xfs (rw,relatime,seclabel,attr2,inode64,noquota)
从上面的结果可以看出,我们的文件类型都是xfs格式,可以调整
3、调整的命令
- ext2/ext3/ext4 文件系统的调整命令是 resize2fs(增大和减小都支持)
lvextend -L 120G /dev/mapper/centos-home //增大至120G
lvextend -L +20G /dev/mapper/centos-home //增加20G
lvreduce -L 50G /dev/mapper/centos-home //减小至50G
lvreduce -L -8G /dev/mapper/centos-home //减小8G
resize2fs /dev/mapper/centos-home //执行调整
- xfs 文件系统的调整命令是 xfs_growfs(只支持增大)
lvextend -L 120G /dev/mapper/centos-home //增大至120G
lvextend -L +20G /dev/mapper/centos-home //增加20G
xfs_growfs /dev/mapper/centos-home //执行调整
4、调整步骤
通过检查文件类型就是 xfs,但是 xfs_frowfs 只支持增大,所以这里还能用其他办法。如果是 ext2/ext3/ext4类型,那就使用上面那个几个命令就行了。
以下是xfs的调整步骤
1、使用 umount /home/ 卸载home分区,如果提示home 正忙就先执行 fuser -km /home/ ,再执行umount /home/
[root@localhost tools]# umount /home/
2、使用lvreduce -L 41G /dev/mapper/centos-home命令将/home分区设置为41G的大小
[root@localhost tools]# lvreduce -L 41G /dev/mapper/centos-home
WARNING: Reducing active logical volume to 41.00 GiB.
THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce centos/home? [y/n]: y
Size of logical volume centos/home changed from <200.12 GiB (51230 extents) to 41.00 GiB (10496 extents).
Logical volume centos/home successfully resized.
3、格式化 home 分区,再次挂载到 home 目录下。
[root@localhost tools]# mkfs.xfs /dev/mapper/centos-home -f
Discarding blocks...Done.
meta-data=/dev/mapper/centos-home isize=512 agcount=4, agsize=2686976 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0, sparse=0
data = bsize=4096 blocks=10747904, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal log bsize=4096 blocks=5248, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
[root@localhost tools]# mount /dev/mapper/centos-home /home/
4、使用df -h查看,可以看到/home分区已经减少了
5、检查 vgdisplay 压缩之后的闲置空间。
从上面的显示可以看出,我们有200.12G的闲置空间可以分配
6、将 Free 闲置 450G 调整给 root
[root@localhost tools]# lvextend -L +200.12G /dev/mapper/centos-root
Rounding size to boundary between physical extents: 200.12 GiB.
Size of logical volume centos/root changed from 50.00 GiB (12800 extents) to 250.12 GiB (64031 extents).
Logical volume centos/root successfully resized.
7、执行调整操作
[root@localhost tools]# xfs_growfs /dev/mapper/centos-root
meta-data=/dev/mapper/centos-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 65567744
5、调整后的结果
使用df -h 命令查看最后的结果
从上面的结果可以看出,/root分区已经调整为251G,/home分区降低为41G
后记
个人总结,欢迎转载、评论、批评指正