1、概念

磁盘分区:计算机中存放信息的主要的存储设备就是硬盘,但是硬盘不能直接使用,必须对硬盘进行分割,分割成的一块一块的硬盘区域就是磁盘分区。在传统的磁盘管理中,将一个硬盘分为两大类分区:主分区扩展分区
主分区是能够安装操作系统,能够进行计算机启动的分区,这样的分区可以直接格式化,然后安装系统,直接存放文件。在一个 MBR 分区表类型的硬盘中最多只能存在 4 个主分区。如果一个硬盘上需要超过 4 个以上的磁盘分区,那么就需要使用扩展分区。
如果使用扩展分区,那么一个物理硬盘上最多只能划分 3 个主分区和 1 个扩展分区。扩展分区不能直接使用,它必须经过第二次分割成为一个一个的逻辑分区,然后才可以使用。一个扩展分区中的逻辑分区可以有任意多个。
逻辑卷是使用逻辑卷组管理 (Logic Volume Manager) 创建出来的设备,如果要了解逻辑卷,那么首先需要了解逻辑卷管理中的一些概念。
(1)逻辑卷管理器(Logical Volume Manager,LVM):LVM 将一个或多个硬盘的分区在逻辑上集合,相当于一个大硬盘来使用,当硬盘的空间不够使用的时候,可以继续将其它的硬盘的分区加入其中,这样可以实现磁盘空间的动态管理,相对于普通的磁盘分区有很大的灵活性。LVM 使系统管理员可以更方便的为应用与用户分配存储空间。
(2)物理卷(Physical Volume,PV):指硬盘分区或从逻辑上与磁盘分区具有同样功能的设备(如 RAID),是 LVM 的基本存储逻辑块。
(3)卷组(Volume Group,VG):PV的集合。是由一个或多个物理卷所组成的存储池,在卷组上能创建一个或多个逻辑卷。
(4)逻辑卷(Logic Volume,LV):VG中画出来的一块逻辑磁盘。类似于非 LVM 系统中的硬盘分区,它建立在卷组之上,是一个标准的块设备,在逻辑卷之上可以建立文件系统。
理解物理卷、卷组、逻辑卷的概念之后,逻辑卷的产生就清楚了:物理磁盘或者磁盘分区转换为物理卷,一个或多个物理卷聚集形成一个或多个卷组,而逻辑卷就是从某个卷组里面抽象出来的一块磁盘空间。具体架构如下:
image.png

2、为什么要使用逻辑卷

对于物理磁盘,我们直接分区、格式化为文件系统之后就可以使用,那为什么还需要使用逻辑卷的方式来管理磁盘呢?主要有 2 个原因:
(1)业务上使用大容量的磁盘。例如:我们需要在 /data 下挂载 30TB 的存储,而单个磁盘没有这么大的容量。如果使用逻辑卷,将多个小容量的磁盘聚合为一个大的逻辑磁盘,就能满足需求。
(2)扩展和收缩磁盘。在业务初期规划磁盘时,我们并不能完全知道需要分配多少磁盘空间,如果使用物理卷,后期无法扩展和收缩,如果使用逻辑卷,可以根据后期的需求量,手动扩展或收缩。

3、LVM 管理命令

image.png

  • fdisk——查看硬盘及分区信息:fdisk -l #列出当前系统中所有硬盘设备及分区情况;
  • pvcreate——创建物理卷:pvcreate <选项> <参数>

<选项>说明:
-f:强制创建物理卷,不需要用户确认;
-u:指定设备的UUID;
-y:所有的问题都回答yes;
-z:是否利用前4个扇区;
#<参数>说明:指定要创建的物理卷对应的设备文件名。

  • pvremove——删除物理卷:pvremove 物理卷名称
  • vgcreate——创建卷组:vgcreate <选项> <参数>

<选项>说明:
-l:卷组上允许创建的最大逻辑卷数
-p:卷组中允许添加的最大物理卷数
-s:卷组上的物理卷的PE大小
#<参数>说明:
卷组名:要创建的卷组名称
物理卷列表:要加入到卷组中的物理卷列表

  • vgscan和vgdisplay——查看卷组信息
  • vgextend——扩充卷组的大小:vgextend <选项> <参数>

<选项>说明:
-d:调试模式
-t:仅测试
#<参数>说明:
卷组:指定要操作的卷组名称
物理卷列表:指定要添加到卷组中的物理卷列表

  • vgreduce——通过删除卷组中的物理卷来减少卷组容量:vgreduce <选项> <参数>

<选项>说明:
-a:如果命令行中没有指定要删除的物理卷,则删除所有的空物理卷
-removemissing:删除卷组中丢失的物理卷,使卷组恢复正常状态
#<参数>说明:
卷组:指定要操作的卷组名称
物理卷列表:指定要删除的物理卷列表

  • vgremove——删除卷组:vgremove <选项> <参数>

<选项>说明:
-f:强制删除
#<参数>说明:
卷组:指定要删除的卷组名称

  • lvcreate——在卷组中创建逻辑卷:lvcreate <选项> <参数>

<选项>说明:
-L:指定逻辑卷的大小,单位为K、M、G、T
-l:指定逻辑卷的大小(LE数),①以卷组的大小百分比来指定逻辑卷的大小(如:20%VG);②使用卷组剩余的所有空间创建逻辑卷(100%free)
-n:指定逻辑卷的名称
#<参数>说明:
逻辑卷:指定要创建逻辑卷的卷组名称

  • lvscan和lvdisplay——查看逻辑卷信息
  • lvremove——删除逻辑卷:lvremove <选项> <参数>

<选项>说明:
-f:强制删除
#<参数>说明:
逻辑卷:指定要删除的逻辑卷

  • lvextend——扩充逻辑卷的大小:lvextend <选项> <参数>

<选项>说明:
-L:指定逻辑卷的大小,单位为K、M、G、T
-l:指定逻辑卷的大小(LE数)
#<参数>说明:
逻辑卷:指定要扩展空间的逻辑卷名称

  • lvreduce——缩小逻辑卷的空间:lvreduce <选项> <参数>

<选项>说明:
-L:指定逻辑卷的大小,单位为K、M、G、T
-l:指定逻辑卷的大小(LE数)
#<参数>说明:
逻辑卷:指定要缩小空间的逻辑卷名称