LVM---逻辑卷管理器

产生原因

  • 硬盘分区或部署为 RAID 后在修改分区大小时就非常不容易,此时用户随着实际的需求变化而动态调整硬盘分区大小时受到限制,无灵活性
  • LVM(Logical Volume Manager)允许用户对硬盘资源进行动态调整

LVM创建初衷是解决磁盘设备在创建分区后不易修改分区大小的缺陷;在磁盘分区和文件分区系统之间添加了一个逻辑层,提供了一个抽象的卷组,可以把多块磁盘进行卷组合并。

LVM 基本概念

  • PE(physical extent)物理区域物理区域是物理卷中可用于分配的最小存储单元,物理区域的大小默认为 4MB物理区域大小一旦确定将不能更改,同一卷组中的所有物理卷的物理区域大小需要一致
  • 物理卷(physical volume):简称PV,物理卷可以是整个硬盘、硬盘分区或从逻辑上与磁盘分区具有同样功能的设备 (如 RAID),是 LVM 的基本存储逻辑块,但和基本的物理存储介质(如分区、磁盘等)比较,却包含有与 LVM 相关的管理参数
  • 卷组(Volume Group):简称VG,可以看成单独的逻辑磁盘,建立在 PV 之上,一个卷组中至少要包括一个 PV,在卷组建立之后可以动态的添加 PV 到卷组中。卷组的名称可以自定义
  • 逻辑卷(logical volume):简称LV相当于物理分区逻辑卷建立在卷组之上卷组中的未分配空间可以用于建立新的逻辑卷逻辑卷建立后可以动态的扩展或缩小空间。系统中的多个逻辑卷,可以属于同一个卷组,也可以属于不同的多个卷组

LVM的技术架构如下:

LVM的核心理念

物理卷处于LVM的最底层,可以理解为物理磁盘、磁盘分区或RAID磁盘阵列。

卷组建立在物理卷上,一个卷组能包含多个物理卷。在卷组创建之后也可以继续向其中添加新的物理卷。

逻辑卷是用卷组中空闲的资源建立的,并且逻辑卷在建立后能动态的扩展或缩小空间。‘

常见LVM部署命令

功能 / 命令物理卷管理卷组管理逻辑卷管理
扫描pvscanvgscanlvscan
建立pvcreatevgcreatelvcreate
显示pvdisplayvgdisplaylvdisplay
删除pvremovevgremovelvremove
扩展vgextendlvextend
缩小vgreducelvreduce

部署逻辑卷

使用两块硬盘组建LVM,划分出150MB的逻辑卷设备

1.创建物理卷组

创建物理卷组可以理解为让设备支持LVM技术,或者是让磁盘设备加入VLM能够管理和使用的硬件资源池中,然后对着两块卷组合并,卷组名称允许用户自定义。

2.创建卷组

也可以前两一起创建

3.切割出150M的逻辑卷设备

-n

全称--name,功能:指定逻辑卷名称

  • 后面跟/dev/VG-test/lv1-test
  • 格式规范:/dev/卷组名/逻辑卷名,简写只写lv1-test也可,系统自动补全路径

-L

全称--size,功能:指定逻辑卷总容量

  • 示例150M= 150MB
  • 支持单位:K/M/G/T/P
  • 底层限制:LVM 最小分配单元 PE(默认 4MB),输入容量无法整除 PE 大小时,系统自动向上取整(本例 150M→152M)

末尾/dev/VG-test

目标卷组(VG),代表从VG-test这个卷组里划分空间给新建逻辑卷。

扩展参数

-l小写 L:按 PE 数量分配空间,例-l 38代表分配 38 个 PE即38*4=152MB的逻辑卷

-l 100%FREE:占用卷组全部剩余空闲空间

-s:创建快照逻辑卷

-r:创建逻辑卷同时格式化文件系统

-y:自动确认所有交互提示,无需手动输入 yes

4.格式化逻辑卷

linux系统会把LVM的逻辑卷设备存放在/dev设备目录中;同时会以卷组名建立一个目录,其中包含了逻辑卷的设备映射文件(/dev/卷组名/逻辑卷名)

查看

5.挂载

扩容卷组

将/dev/sdd扩容到卷组VG-test中

停止之前的磁盘阵列

创建物理卷组

出现报错

原因:

解决方式

清空磁盘上的 RAID 元数据

扩容

逻辑卷扩容

扩容逻辑卷前需卸载挂载设备

卸载方法1

或者卸载方法

扩容

扩容前

方法一:直接给最终容量

方法二:用增加的具体数值

挂载--此时容量并没有改变

原因:系统内核还有同步这部分信息,识别不到扩容的部分

对扩展的部分格式化

1.e2fsck -f /dev/VG-test/lv1-test

  • 作用:强制检查修复 ext 文件系统,扩容前必须执行,防止文件系统损坏

2.resize2fs /dev/VG-test/lv1-test

  • 作用:扩容 ext 文件系统,让文件系统占用 LV 全部空间
文件系统扩容工具是否需要卸载支持缩容
ext2/3/4resize2fs扩容可挂载 / 缩容必须卸载支持
xfsxfs_growfs必须挂载不支持
btrfsbtrfs resize必须挂载支持
reiserfsresize_reiserfs建议卸载支持
ntfsntfsresize卸载支持

逻辑卷缩容

第一步:检测文件系统完整性

第二步:通知系统内核将逻辑卷容量减小到多少

即先缩容内核的管理逻辑卷容量

第三步:修改逻辑卷容量

修改的值可以更大,但是不能更小

删除逻辑卷

1.取消逻辑卷挂载

2.删除逻辑卷设备

3.删除卷组

4.删除物理卷设备