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

转载至
https://zhuanlan.zhihu.com/p/83340525

posted @ 2024-04-17 16:51  *一炁化三清*  阅读(83)  评论(0编辑  收藏  举报