『学了就忘』Linux文件系统管理 — 65、LVM逻辑卷管理介绍

1、LVM逻辑卷管理的简介

LVM是Logical Volume Manager的简称,中文就是逻辑卷管理。(是我们进行分区的一种方法)

LVM逻辑卷管理和我们前面说的基本分对比,区最大的特征是,可以动态调整硬盘的分区大小。比如说当我的Linux系统有三个分区,分别是boot分区,swap分区和根分区,当我用了一段时间,发现根分区的空间不够用了,我买了一块新的硬盘,这个时候你是不能直接把新硬盘加入根分区里的(基本分区是不支持分区扩容的),这时候按照我们前面学的,就只能够创建一个目录,挂载一个新的分区。这样就会造成,之前很多把数据存储在根分区的配置都需要进行修改,这不是我们需要的。而LVM逻辑卷管理就可以动态的把新硬盘的容量加入到所需的分区中。

说明:

  • Linux中默认标准的分区,就应该采用LVM逻辑卷的方式进行分区。在实际工作中也尽量使用LVM逻辑卷的方式进行分区。
  • 我们在安装Linux系统的时候,如果你没有选择手工进行分区,而是选择默认自定义分区,系统直接就会用LVM逻辑卷进行分区。

提示:

明确的说明,基本分区,包括主分区,扩展分区,逻辑分区,是不支持分区大小调整的。一些分区调整工具,全部是使用强制调整或者修改分区表的方式进行扩容。(强制分区调整有可能失败,导致硬盘崩溃,所有数据都消失,几率很大。)

2、LVM逻辑卷管理的原理

LVM逻辑卷管理基本原理是:首先我要有一些基本分区,比如一块真实的物理硬盘,分成一个分区也好,多个分区也好,把这些基本分区组成物理卷,然后再把这些物理卷组合成卷组,卷组是允许动态扩容的。再比如我还在有一块新的硬盘,把新硬盘变成物理卷,还能够往卷组里添加。也就是说组成卷组的这些物理卷,可以是来自一块硬盘,也可以来自不同硬盘。最后在卷组里,把空间可以分成需要大小的逻辑卷,逻辑卷在卷组里也是可以扩容的。卷组是可以随时动态扩容的,只要卷组里有空闲空间,卷组中的逻辑卷也可以随时进行扩容。而逻辑卷就是我们实际使用的分区。

LVM逻辑卷管理原理图如下:

『学了就忘』Linux文件系统管理 — 65、LVM逻辑卷管理介绍

LVM逻辑卷管理的一些名称如下:

  • 物理卷(PVPhysical Volume):就是真正的物理硬盘或分区。
  • 卷组(VGVolume Group):将多个物理卷合起来就组成了卷组,组成同一个卷组的物理卷可以是同一个硬盘的不同分区,也可以是不同硬盘上的不同分区。我们可以把卷组想象为一个逻辑硬盘。
  • 逻辑卷(LVLogicalVolume):卷组是一个逻辑硬盘,硬盘必须分区之后才能使用,这个分区我们称作逻辑卷。逻辑卷可以格式化和写入数据。我们可以把逻辑卷想象成为分区。
  • 物理扩展(PEPhysical Extend):PE是用来保存数据的最小单元,我们的数据实际上都是写入PE当中,PE的大小是可以配置的,默认是4MB。

提示:

我们之前用fdisk命令进行的分区,划分空间是按柱面数转换成最终分配的空间大小,也就是柱面是基本分区的最小单位。而逻辑卷是按PE作为最小单位进行分配空间。还有我们最早说的block块是文件或者目录存储数据的最小单位。这些一定要分清楚。

注意:

前面一直说的都是扩容,没有说缩减,缩减分区容量是有可能造成数据丢失的。实际应用或者工作中也没有缩减分区容量的需求。

3、总结建立LVM分区的步骤

  • 首先需要把物理硬盘分成分区,当然也可以是整块物理硬盘。
  • 然后把物理分区建立成为物理卷(PV),也可以直接把整块硬盘都建立为物理卷。
  • 接下来把物理卷整合成为卷组(VG)。卷组就已经可以动态的调整大小了,可以把物理分区加入卷组,也可以把物理分区从卷组中删除(不许做缩减操作)。
  • 最后就是把卷组再划分成为逻辑卷(LV),当然逻辑卷也是可以直接调整大小的。我们说逻辑卷可以想象成为分区,所以逻辑卷使用之前也需要格式化和挂载。
上一篇:SpringBoot+Dubbo+Zookeeper整合搭建简单的分布式应用


下一篇:数据库性能优化:SQL索引