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部署命令
| 功能 / 命令 | 物理卷管理 | 卷组管理 | 逻辑卷管理 |
|---|---|---|---|
| 扫描 | 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
或者卸载方法
扩容
扩容前
方法一:直接给最终容量
方法二:用增加的具体数值
挂载--此时容量并没有改变
原因:系统内核还有同步这部分信息,识别不到扩容的部分
对扩展的部分格式化
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 | 卸载 | 支持 |
逻辑卷缩容
第一步:检测文件系统完整性
第二步:通知系统内核将逻辑卷容量减小到多少
即先缩容内核的管理逻辑卷容量
第三步:修改逻辑卷容量
修改的值可以更大,但是不能更小