Linux之根分区扩容
前言
Linux根分区扩容是运维中必不可少的操作,扩容之前需要清楚系统的根分区是逻辑卷还是一块磁盘,根据不同的情况进行不同的扩容操作。
相关概念
1、MBR和GPT
MBR(Master Boot Record)(主引导记录)和GPT(GUID Partition Table)(GUID意为全局唯一标识符)是在磁盘上存储分区信息的两种不同方式,对于传统的MBR分区方式,有很多的限制:
- 最多4个主分区(3个主分区+1个扩展分区(扩展分区里面可以放多个逻辑分区)),无法创建大于2TB的分区,使用fdisk分区工具,而GPT分区方式不受这样的限制。
- GPT分区方式将不会有这种限制,使用的工具是parted;
2、逻辑卷管理(LVM)
Logical Volume Manager(逻辑卷管理)的简写,lvm是卷的一种管理方式,并不是分区工具(也可不采用这种LVM管理方式)。
通俗的来讲LVM就是将一块或多块分散的物理磁盘也叫物理卷(PV),逻辑进行整合即卷组(VG),按需进行分配进行使用即分配逻辑卷(LV)。
LVM扩容思维流程:创建一个物理分区-->将这个物理分区转换为物理卷-->把这个物理卷添加到要扩展的卷组中-->然后才能用extend命令扩展此卷组中的逻辑卷。
fdisk -l #查看系统识别到的磁盘
pvdisplay #查看物理卷
vgdisplay #查看卷组
lvdisplay #查看逻辑卷
CentOS7,LVM根分区扩容步骤
1、查看现有分区大小
df -TH
LVM分区,磁盘总大小为20G,根分区总容量为17G
2、关机增加大小为30G(测试环境使用的Vmware Workstation)
扩展分区到30G
3、查看扩容后磁盘大小
磁盘总大小为30G,根分区为17G
df -TH
lsblk
4、创建分区
将sda剩余空间全部给sda3
fdisk /dev/sda
5、刷新分区并创建物理卷
partprobe /dev/sda
pvcreate /dev/sda3
6、查看卷组名称,以及卷组使用情况
VG Name为centos
vgdisplay
7、将物理卷扩展到卷组
使用sda3扩展VG centos
vgextend centos /dev/sda3
8、查看当前逻辑卷的空间状态
lvdisplay
需要扩展LV /dev/centos/root
9、将卷组中的空闲空间扩展到根分区逻辑卷
lvextend -l +100%FREE /dev/centos/root
10、刷新根分区
xfs_growfs /dev/centos/root
11、查看磁盘使用情况,扩展之前和之后是不一样的
根分区已经变成27G
CentOS7,非LVM根分区扩容步骤
1、查看现有的分区大小
非LVM分区,目前磁盘大小为20G,根分区总容量为17G
2、关机增加磁盘大小为30G
3、查看磁盘扩容后状态
现在磁盘总大小为30G,根分区为17G
lsblk
dh -TH
4、进行分区扩展磁盘,记住根分区起始位置和结束位置
5、 删除根分区,切记不要保存
6、创建分区,箭头位置为分区起始位置
7、保存退出并刷新分区
partprobe /dev/sda
8、查看分区状态
9、刷新根分区并查看状态
xfs_growfs /dev/sda3 (这里先看自己的文件系统是xfs,还是ext4...)
使用 resize2fs或xfs_growfs 对挂载目录在线扩容 :
- resize2fs 针对文件系统ext2 ext3 ext4 (我在本地用ubuntu18是ext4,我用的是resize2fs /dev/sda3)
- xfs_growfs 针对文件系统xfs