Linux LVM 动态扩容(在线)

LVM简介

LVM是逻辑盘卷管理(Logical Volume Manager)的简称,它是Linux环境下对磁盘分区进行管理的一种机制,LVM是建立在硬盘和分区之上的一个逻辑层,来提高磁盘分区管理的灵活性。LVM是在磁盘分区和文件系统之间添加的一个逻辑层,来为文件系统屏蔽下层磁盘分区布局,提供一个抽象的盘卷,在盘卷上建立文件系统。物理卷(physical volume)物理卷就是指硬盘分区或从逻辑上与磁盘分区具有同样功能的设备(如RAID),是LVM的基本存储逻辑块,但和基本的物理存储介质(如分区、磁盘等)比较,却包含有与LVM相关的管理参数。

优势

能够在线扩容当前的分区容量

Linux用户安装Linux操作系统时遇到的一个最常见的难以决定的问题就是如何正确地给评估各分区大小,以分配合适的硬盘空间。而遇到出现某个分区空间耗尽时,解决的方法通常是使用符号链接,或者使用调整分区大小的工具,但这都只是暂时解决办法,没有根本解决问题。随着Linux的逻辑盘卷管理功能的出现,这些问题都迎刃而解,用户在无需停机的情况下方便地调整各个分区大小。

结构

在整个LVM结构当中以此分为:“物理卷、物理卷分区、卷组、逻辑卷”,下面我详细解释一下这四种结构:

  1. 物理卷:Physical Volume,简称PV,一个物理卷只不过是一个有LVM管理数据添加在里面的物理存储介质。要使用LVM系统,首先对要用于LVM的磁盘进行初始化,初始化的目的就是将磁盘或分区标识为LVM 的物理卷。使用pvcreate 命令可以将一个磁盘标记为 LVM 物理卷。
  2. 物理分区:Physical Extents,简称PE,LVM将每个物理卷分别叫做物理分区的可寻址存储单元,存储单元的大小通常为几MB。磁盘的开头部分为LVM元数据,之后从索引为零开始,每个物理分区的索引依次递增一,按顺序进行分配。
  3. 卷组:Volume Group,简称VG,物理卷可以组织为卷组。卷组可以由一个或多个物理卷组成,同时系统中可以有多个卷组。创建了卷组之后,该卷组(而不是磁盘)便是表示数据存储的实体。因此,尽管以前是将磁盘从一个系统移动到另一个系统,使用了 LVM 之后,会将卷组从一个系统移动到另一个系统。出于这种原因,通常在一个系统上创建多个卷组会比较方便。
  4. 逻辑分区:Logical Extents,简称LE,逻辑卷的基本分配单元称为逻辑分区。逻辑分区映射到物理分区,因此,如果物理分区的尺寸小为4MB,那么逻辑分区的尺寸也将为4MB。逻辑卷的大小取决于所分配的逻辑分区数量。

 

扩容步骤

检查

首先要确认当前需要扩容的分区和要被扩容占用的部分,使用 fdisk -l 命令可以清楚的看到这些:

图中可以看出,当前磁盘有 40GB,而我们仅仅让LVM使用了其中的 19.5GB,我们的目标就是让LVM使用到全部的40GB,并将多余空间分配给 root 分区

创建物理卷(PV)

首先,我们要对即将被占用的分区创建一个 Device Number,只需要在 fdisk 中为其创建一个分区即可(如果要被占用的已经有了分区,此步骤可以跳过),这里使用 fdisk /dev/vda 进入分区管理界面

对于 fdisk 的使用,这里不在作介绍,最终效果如下图,可以看到,即将要被占用的分区被分配了 /dev/vda4 的分区标识符

注意:如果在w之后需要重启,那么请重启后再进行下面的操作

在找到要被占用的分区标识符之后,我们使用 pvcreate 进行 PV 的创建:

扩充卷组(VG)

已经创建了 PV 后,我们便可以将该 PV 添加到当前的卷组中来,使用 vgextend [VG Name] [Device Number] 来进行扩充,扩充完成之后,我们可以使用 vgdisplay 命令来进行确认:

可以看到,当前的 VG 中有了 20GB 的空闲 PE 没有被分配

扩充逻辑卷(LV)

首先,我们要确认一下当前的 LV 状态,使用 lvdisplay 命令查看

可以看到,我们要将蓝色区域部分的 LV 扩充 20GB,我们使用 lvresize [LV PATH] –extents +100%FREE 命令进行扩充,扩充的大小是全部的 VG 可用区:

可以看到,VG 中空闲的 20GB 已经加入到了 LV 当中,但是从上图可以看出当前文件系统还未扩容,所以根分区的大小依然不变。

扩充文件系统

各个文件系统的扩容方式不尽相同,这里以 EXT4 格式为例,使用 resize2fs 进行扩充

从上图可以看出,当前的 root 分区已经变为 20GB

您可能还喜欢...

发表评论

电子邮件地址不会被公开。 必填项已用*标注