概述
今天主要介绍我在使用pvcreate, vgcreate,lvextend等命令拓展分区的时候,发现出现了找不到逻辑块的问题,最后问题是现在的文件格式是xfs,resize2fs命令是读取不了的,故而查找到了需要使用xfs_growfs。下面介绍下xfs_growfs及扩展的过程。
下面问题记录基于centos7.3系统演示。
resize2fs和xfs_growfs
当我们在安装系统的时候,由于没有合理分配分区空间,在后续维护过程中,发现有些分区空间不够使用,而有的分区空间却有很多剩余空间。如果这些分区在装系统的时候使用了lvm(前提是这些分区要是lvm逻辑卷分区),那么就可以轻松进行扩容或缩容!不同文件系统类型所对应的创建、检查、调整命令不同,下面就针对xfs和ext2/3/4文件系统的lvm分区空间的扩容和缩容的操作做一记录:
特别注意的是:
resize2fs命令 针对的是ext2、ext3、ext4文件系统
xfs_growfs命令 针对的是xfs文件系统
1)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 //执行调整
2)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 //执行调整
就是说:xfs文件系统只支持增大分区空间的情况,不支持减小的情况(切记!!!!!)。
硬要减小的话,只能在减小后将逻辑分区重新通过mkfs.xfs命令重新格式化才能挂载上,这样的话这个逻辑分区上原来的数据就丢失了。
问题记录
下面简单介绍下问题发生的过程:
1、查看磁盘情况
查看磁盘发现根目录很小,打算做个扩容
2、分区
这里因为/dev/sdb是本身就有的,但是没有加进去,所以我直接拿来扩容了。
3、创建物理卷
这里创建物理卷/dev/sdb1
4、扩展
这里实际上漏了一步,要先加进逻辑卷,也就是vgextend,然后lvextend扩展后再resize2fs生效。
这里可以发现发现resize2fs失效了。
5、xfs_growfs生效
# xfs_growfs /dev/mapper/cl-root
由于CentOS6和CentOS7在默认根文件系统的文件系统格式存在差异,需要判断是否为xfs,如果是xfs则应该使用xfs_growfs而不是一味的使用resize2fs。
6、检查是否扩展成功
可以看到已增加为30G。
通过上面的过程记录主要带大家熟悉一下磁盘扩容的思路和了解一下xfs_growfs和resize2fs之间的区别,也做个备忘。大家有空可以自己测试一下。后面会分享更多Linux方面内容,感兴趣的朋友可以关注下!