产生原因
- 硬盘分区或部署为 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部署命令
| 功能 / 命令 | 物理卷管理 | 卷组管理 | 逻辑卷管理 |
|---|---|---|---|
| 扫描 | pvscan | vgscan | lvscan |
| 建立 | pvcreate | vgcreate | lvcreate |
| 显示 | pvdisplay | vgdisplay | lvdisplay |
| 删除 | pvremove | vgremove | lvremove |
| 扩展 | --- | vgextend | lvextend |
| 缩小 | --- | vgreduce | lvreduce |
部署逻辑卷
使用两块硬盘组建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

或者卸载方法

扩容
扩容前

方法一:直接给最终容量


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

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

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

e2fsck -f /dev/VG-test/lv1-test
- 作用:强制检查修复 ext 文件系统,扩容前必须执行,防止文件系统损坏
2.resize2fs /dev/VG-test/lv1-test
- 作用:扩容 ext 文件系统,让文件系统占用 LV 全部空间
| 文件系统 | 扩容工具 | 是否需要卸载 | 支持缩容 |
|---|---|---|---|
| ext2/3/4 | resize2fs | 扩容可挂载 / 缩容必须卸载 | 支持 |
| xfs | xfs_growfs | 必须挂载 | 不支持 |
| btrfs | btrfs resize | 必须挂载 | 支持 |
| reiserfs | resize_reiserfs | 建议卸载 | 支持 |
| ntfs | ntfsresize | 卸载 | 支持 |
逻辑卷缩容
第一步:检测文件系统完整性
第二步:通知系统内核将逻辑卷容量减小到多少
即先缩容内核的管理逻辑卷容量

第三步:修改逻辑卷容量
修改的值可以更大,但是不能更小

删除逻辑卷
1.取消逻辑卷挂载
2.删除逻辑卷设备
3.删除卷组
4.删除物理卷设备
