1. LVM原理
Logical volume manager,是建立在硬盘和分区之间的一个逻辑层,用来提高磁盘分区管理的灵活性。
在传统的存储模型中,文件系统是直接构建在物理分区之上的,物理分区的大小决定了其上文件系统的存储容量,调整文件系统的存储容量变得比较繁琐。
LVM设计的主要目标是实现文件系统存储容量可扩展性,使对容量的调整更简易。
2. LVM架构
- 物理分区:pp-physical partition,可以是硬盘的分区或者是RAID分区
- 物理卷:PV-physical volume,是pp的LVM抽象,维护了pp的结构信息,是组成VG的基本逻辑单元,一般一个PV对应一个pp
- 物理扩展单元:PE-physical extends,每个PV都会以pe为基本单元划分,是lvm的最小存储单元;
- 卷组:vg-volume group,由一个或者数个PV组成,可以看做LVM组合起来的大磁盘
- 逻辑扩展单元:LE-logical extends,组成LV的基本单元,一个LE对应一个pe
- 逻辑卷:LV-logical volume,建立在VG之上,文件系统之下,由若干个LE组成,文件系统是基于逻辑卷的。
3. VG、LV、PE的关系
- LVM是通过交换pe来达到弹性变更文件系统的大小,将原来LV的PE移除,就可以减小LV的容量;
- 想扩增VG的容量则可以通过增加PV的方式;
- 一般LVM默认的pe的大小是4M,最多有65534个pe,所以LVM的VG最大为256G;
- LV和磁盘的dev/sda2分区类似,是用来格式化的单位。当对LV进行写入操作时,LVM定位相应的LE,通过PV头部的映射表将数据写入到相应的PE上。
- LV实现的关键在于PE和LE之间建立的映射关系,不同的映射规则决定了不同的LVM存储模型。
4. LVM优点
- 文件系统可以跨多个磁盘
- 动态地扩展文件系统大小
- 增加新磁盘到LVM的存储池中
5. 使用LVM的要点
- 按需分配文献系统的大小
- 把不同的数据放在不同的卷组中
6. LVM的配置流程
首先通过fdisk将systernID修改为LVM标记,再通过pvcreat将Linux分区处理成物理卷pv,接下来通过vgcreate将创建好的物理卷处理成卷组vg,再通过lvcreate将卷组分成若干个逻辑卷LV,再通过mkfs工具将LV格式化,最后挂载格式化后的LV到文件系统
7. 物理卷管理
-
pvcreate
创建物理卷
- 将普通的分区加上pv属性
- 例如将分区/dev/sda6创建为物理卷:pvcreate /dev/sda6
-
pvremove
删除物理卷(语法和pvcreat一致) -
pvscan
查看物理卷信息 -
pvdisplay
查看各个物理卷的详细参数
8. 卷组管理命令
-
vgcreate
创建卷组 -
vgscan
查看卷组信息 -
vgdisplay
查看卷组的详细参数 -
vgreduce
缩小卷组,把物理卷从卷组中删除 -
vgextend
扩展卷组,把某个物理卷添加到卷组中 -
vgremove
删除卷组
9. 逻辑卷管理
-
lvcreate
创建逻辑卷 -
lvscan
查看逻辑卷的信息 -
lvdisplay
查看逻辑卷的具体参数 -
lvextend
增大逻辑卷的大小 -
lvreduce
减小逻辑卷的大小 -
lvremove
删除逻辑卷
10. 管理文件系统空间
- 增大文件系统空间步骤:
1. 先卸载逻辑卷
2. 然后通过vgentend,lvextend等命令增大lv的空间
3. 再使用resize2fs将逻辑卷容量增加
4. 最后将逻辑卷挂载到目录树 - 缩小文件系统空间步骤:
1. 先卸载逻辑卷
2. 使用resize2fs将逻辑卷容量减小
3. 然后通过vgreduce,lvreduce等命令减小lv的空间
4. 最后将逻辑卷挂载到目录树