linux 根目录扩容方法

准备知识

linux volume

1.(PV)physical volume
disk ; 物理硬盘
物理硬盘需要转换成lvm(logic volume manage)可识别的状态,将磁盘的system id 转换成8e(lvm的识别码),再通过
pvcreate转换成PV,这样才能对磁盘加以利用

2.(VG) volume group
磁盘组, 由pv组成,而后pv又会被看做一个整体分为lv1、lv2···

3.(PE) physical extent
lvm的最小存储块

4.(LV)logical volume
逻辑卷
VG最后会被分成许多LV
表示为 /dev/vgname/lvname 例 /dev/sda/sda1 、/dev/sda/sda2 、/dev/sdb/sdb1
—————————————-华丽的分割线—————————————————-
系统版本:

cat /etc/redhat-release
  • 1

CentOS Linux release 7,2,15,11

现状:
磁盘有2块 sda(20G) 、sdb(2G), 现只有sda被使用,因为root分区马上就满了所以准备对磁盘sda扩容,将sdb合并到sda中

原理:
使用lvm对磁盘扩容
通过转置sdb的pe到sda中达到对sda扩容的目的。

流程:
1.添加逻辑卷sdb
先用parted确定磁盘类型,若类型为MBR则使用fdisk,若为GPT则使用gdisk来分割。

parted /dev/sdbx print
  • 1

这里写图片描述
确认一个扇区(sector)的大小为512字节
确定类型为msdos(mbr),所以使用fdisk。

fdisk /dev/sdb
  • 1

这里写图片描述
注意此处因为是要将sdb中所有容量都拿过来,所以在设定容量时直接按默认值回车了,如果要分配出指定的容量,则在last sector 行自行设置,例 +2G;再将系统识别码设置称lvm可是别的8e,w保存。

2.更新分区表

partprob 
  • 1

3.格式化为ext4格式

mkfs -t ext4 /dev/vdb1
  • 1

4.挂载sbd(此处挂载可忽略,因为扩容不需要挂载,跳到5)

mkdir /mnt/sdb1
mount /dev/sdb1 /mnt/sdb
  • 1
  • 2

设置开机自动挂载

vi /etc/fstab 在末尾添加一行
/dev/sdb1 /mnt/sdb ext4 defaluts 1 2
  • 1
  • 2

reboot 重启df -h 查看
这里写图片描述
成功!

如果你的设备已经挂载请先卸载。
5.通过lvm管理sdb1
先创建物理卷pv

lvm
pvcreate /dev/sdb1
  • 1
  • 2

这里写图片描述
将pv(物理卷)加入到vg(卷组),可以通过·vgdisplay 查看组信息
这里写图片描述

vgextend centos /dev/sdb1
  • 1

这里写图片描述
可以看到vg size 增加到了22G,Free PE size 也有了2G(511)的大小。(我们要增加的就是这个PE的大小!!)
到现在终于可以开始扩充根目录酱的容量啦。。(有奇怪的东西混了进来2333)
逻辑卷扩容

lvextend -l +511 /dev/mapper/centos-root
  • 1

这里写图片描述
同样可以通过lvdisplay查看结果
这里写图片描述
6.接下来扩容文件系统
注意:如果文件系统是xfs格式用 xfs_growfs ,我这里是ext4格式用resize2fs

resize2fs /dev/mapper/centos-root
  • 1

这里写图片描述

df -h 查看结果
  • 1

这里写图片描述
可以看到我们的根目录酱(划掉)⁄(⁄ ⁄•⁄ω⁄•⁄ ⁄)⁄已经成功的从18G涨到20G啦。

至此扩容完成。

原文地址:https://www.cnblogs.com/lcword/p/14451101.html