事情原由:创建VM的时候智商不在线,点点点就过去了……结果空间不够大,想着要重装VM的工作量也太大了,偷懒找找如何扩展空间才是最优解。

系统:CentOS 7
空间:40G
扩展空间:200G

Linux磁盘管理基础知识介绍

物理卷(Physical Volume,PV):就是指硬盘分区,也可以是整个硬盘或已创建的软RAID,是LVM的基本存储设备。

卷组(Volume Group,VG):是由一个或多个物理卷所组成的存储池,在卷组上能创建一个或多个逻辑卷。

逻辑卷(Logical Volume,LV):类似于非LVM系统中的硬盘分区,它建立在卷组之上,是一个标准的块设备,在逻辑卷之上可以建立文件系统。

可以做这样一个设想来理解以上三者的关系:如果把PV比作地球的一个板块,VG则是一个地球,因为地球是由多个板块组成的,那么在地

球上划分一个区域并标记为亚洲,则亚洲就相当于一个LV。

在Linux中规定,每个硬盘设备最多只能由4个主分区(其中包括一个扩展分区)构成任何一个扩展分区都要占用一个主分区号码,也就是在一个硬盘中,主分区和扩展分区一共最多是 4个。(Linux 下面每一个硬盘总共最多有 16 个分区)

由于本方法只针对LVM类型的分区,故在扩容之前先通过以下命令检查分区类型是否为Linux LVM类型。

1、查看Linux分区类型

fdisk -l

如上图所示,/dev/sda2 在system一栏中被标记为Linux LVM类型,他们的Id是8e。8e代表Linux LVM, 83代表Linux Native分区。确认为LVM之后,继续我们的扩容工作。

下图使用 df -h 命令,查看当前系统磁盘容量和使用情况,目前的大小大约有37GB,计划扩展160GB,总容量达到197GB。我们打算把160GB的新磁盘扩展到 /dev/mapper/centos-root 这个目录下面。

:因为LVM是逻辑卷磁盘管理程序,故/dev/mapper/centos-root 实际上是在/dev/sda2 上,所以在fdisk -l 中显示的设备信息中只有/dev/sda2 的分区类型,而看不到/dev/mapper/centos-root 分区,因为它只是逻辑上存在。所以需要确认分区类型的是/dev/sda2 而不是 /dev/mapper/centos-root

2、在Esxi拓展空间
来到Web界面,拓展Linux空间

修改完成后,虚拟机需要重启。

重启完成后登录系统,输入fdisk -l查看空间

发现大小已修改。

3、给新磁盘分区

 我们现在要在磁盘 /dev/sda 上分区(注意:linux中一块硬盘的主分区个数不能超过4个,目前sda1,sda2已经占用了两个分区名额,新增的分区应该为第三个主分区,即sda3)。现在开始给磁盘 /dev/sda 分区。我们这里使用的工具是fdisk。输入以下命令:

fdisk /dev/sda

现在我们来创建新分区,输入 n

创建完成后输入p查看

接下来输入t,选择刚刚创建的dev/sda3,输入8e,最后输入w,保存。

4、新增逻辑卷LV

分区建好了,为了让之后的LVM可以使用到这个分区,我们需要在新的分区 /dev/sda3 上创建物理卷PV。

重启,重启,重启!

重启后输入以下命令:

pvcreate /dev/sda3

接下来,我们需要先确认卷组(VG),使用以下命令:

Vgdisplay    //找到VG NAME

现在开始扩容VG大小,使用以下命令:

vgextend centos /dev/sda3       //这里的centos就是VG NAME

这时,可以使用pvscan 检查当前系统的pv情况,看看 /dev/sda3上的PV是否建成了。

pvscan 

再接下来,我们需要增大逻辑卷了,这一步主要目的是把刚刚创建的新分区和新物理卷PV /dev/sda3扩展到当前的逻辑卷,让系统能识别并且使用这个新空间。

首先先确认当前的逻辑卷组,使用以下命令:

lvdisplay 

如图,/dev/centos/root 是当前逻辑卷LV的挂载路径。使用以下命令扩展改逻辑卷:

lvextend  /dev/centos/root  /dev/sda3

逻辑卷扩展成功!但是还没完,最后,你需要告诉系统有这块新领域,你可以使用了。输入以下命令:

xfs_growfs /dev/centos/root

注:如果你使用的文件系统是ext,需要使用命令 resize2fs /dev/centos/root
  使用df -TH 查看文件系统,一般centos 是xfs, unbuntu是ext3

本次拓展Esxi空间的教程就到这里结束了!

引用大佬的教程—Esxi上Linux虚拟机硬盘(LVM)扩容文档

Last modification:September 15th, 2022 at 11:31 am