1.背景
某一次在工作时,遇到一个需求,需要将/home分区扩展至12T以上大小,但扩容了几次发现只能扩展到2T的大小。后研究发现通过默认安装的CentOS系统,通过以下的命令可以看出默认的分区类型为msdos/dos分区,也就是MBR分区,分区最大只能支持到2T。
parted /dev/sda
同样的,比如我们在使用Windows时,在使用内置的磁盘管理工具初始化新硬盘时,也会弹出一个窗口,要求你在 MBR(主引导记录)和 GPT(GUID 分区表)磁盘之间进行选择。
如果对 GPT 和 MBR 的区别有了基本的了解之后,可以知道,无论Windows/Linux如果硬盘小于2TB,并且不需要超过4个主分区,你可以选择MBR。但是,如果你的硬盘超过 2TB,并且你想创建 4 个以上的主分区,请使用GPT格式。
知道以上原理,当在Linux上想对/分区或是/home分区进行扩容时,则需要首先对Linux在安装时进行分区转换,转换为GPT分区,操作如下:
2.安装gpt分区
正常引导操作系统启动,在“Install Centos 7"选项按键盘"TAB"键,弹出高级的自定义安装选项
在选项文字后面加上参数“inst.gpt",回车,以GPT格式安装系统
接下来按照正常的安装流程进行。安装完成后,再将查看分区类型:
parted /dev/sda
可以看到已经是GPT分区了。
3.扩容分区
如果需要扩容的大小小于2TB,那么无论用MBR还是GPT分区均可以,大于2TB的磁盘则务必使用GPT格式的分区,下面展示分区过程。查看原有分区的大小,使用以下命令:
lsblk
在原来的基础上增加100G容量,再次查看分区大小,可以看出容量已经增加。
lsblk
扩容的主要步骤是:
-
建立PV
-
PV加入VG
-
扩容LV
-
扩容文件系统XFS
PV、VG、LV和文件系统之间的关系如下:
查看PV,可以看到Free PE的空间为0。
pvdisplay
可以发现VG Name为CentOS。
parted /dev/sda
最后quit退出。
# 创建PV
pvcreate /dev/sda4
# PV加入VG
vgextend centos /dev/sda4
# 扩展LV
lvextend -l +100%FREE /dev/mapper/centos-root
扩容文件的inode:
df -ih
xfs_growfs -m 30 /home
以下便是扩容GPT分区的全过程。
评论区