LVM原理
LVM是Logical Volume Manager的简写,是建立在硬盘和分区之间的逻辑层,用来提高磁盘分区管理的灵活性
LVM设计的主要目标是实现文件系统存储容量的可扩展性,使对容量的调整更为简易
LVM架构
- PP(Physical Partition):物理分区,LVM正是构建在物理分区之上的
- PV(Physical Volumn):物理卷,是PP的LVM抽象,维护了PP的基本信息,是组成PG的基本逻辑单元,一般一个PV对应一个PP
- PE(Physical Extends):物理扩展单元,每个PV都会以PE为基本单元划分,是LVM的最小存储单元
- VG(Volumn Group):卷组,即LVM的卷组,可以由一个或者数个PV组成,可以看成是LVM组成的大磁盘
- LE(Logical Extends):逻辑扩展单元,是组成LV的基本单元,一个LE对应一个PE
- LV(Logical Volumn):逻辑卷,建立在VG之上,文件系统之下,由若干个LE组成,文件系统就是基于逻辑卷的
VG、LV和PE的关系
LVM是通过交换PE的方式来达到弹性变更文件系统大小的功能
- 将LV中原来的PE移除,就能减小LV的容量
- 将VG中其他PE添加到LV中,就能扩充LV的容量
- 可以通过增加PV的方式来扩充VG
- 一般LVM默认PE的大小是4M,而LVM最多能有65534个PE,所以LVM的VG最大为256G
- PE是LVM最小的存储区块,类似文件系统的block,所以PE的大小会影响到VG的容量
- LV和磁盘的
/dev/sda2
分区类似,是能够用来格式化的单位 - 对文件系统而言,对LV的操作与原先对partition的操作是没有区别的
当对LV进行写入操作时,LVM定位相应的LE,通过PV头部的映射表将数据写入到相应的PE上
LV实现的关键在于PE与LE间建立的映射关系,不同的映射规则就决定了不同的LVM存储模型
LVM的优点
- 文件系统可以跨多个磁盘,大小不会受物理磁盘限制
- 可系统运行的情况下动态地扩展文件系统大小
- 可增加新磁盘到LVM的存储池中
LVM使用要点
- 按需分配文件系统大小
- 把不同数据放在不同的卷组中
LVM配置流程
- 物理分区阶段:首先通过
fdisk
将System ID修改为LVM标记(8e) - PV阶段:再通过
pvcreate
、pvdisplay
将Linux分区处理成物理卷PV - VG阶段:接下来通过
vgcreate
、vgdisplay
将创建好的物理卷PV处理成卷组VG - LV阶段:通过
lvcreate
将卷组分成若干个逻辑卷LV - 操作系统使用阶段:再通过
mkfs
将LV格式化,最后通过fdisk
、mount
挂载格式化后的LV到文件系统
物理卷(PV)管理相关命令
命令 | 功能 |
---|---|
pvcreate | 创建物理卷 |
pvscan | 查看物理卷信息 |
pvdisplay | 查看各个物理卷的详细参数 |
pvremove | 删除物理卷 |
pvcreate
# 将普通的分区加上PV属性
# 例如:将分区/dev/sda6创建为物理卷
pvcreate /dev/sda6
pvremove
# 删除分区的PV属性
# 例如:删除分区/dev/sda6的物理卷属性
pvremove /dev/sda6
pvscan、pvdisplay
- 都是用来查看PV的信息
pvdisplay
更为详细
卷组(VG)管理相关命令
命令 | 功能 |
---|---|
vgcreate | 创建卷组 |
vgscan | 查看卷组信息 |
vgdisplay | 查看卷组的详细参数 |
vgreduce | 缩小卷组,把物理卷从卷组中删除 |
vgextend | 扩展卷组,把某个物理卷添加到卷组中 |
vgremove | 删除卷组 |
逻辑卷(LV)管理相关命令
命令 | 功能 |
---|---|
lvcreate | 创建逻辑卷 |
lvscan | 查看逻辑卷信息 |
lvdisplay | 查看逻辑卷的具体参数 |
lvextend | 增大逻辑卷大小 |
lvreduce | 减小逻辑卷大小 |
lvremove | 删除逻辑卷 |
管理文件系统空间
1. 增大文件系统空间
- 先卸载逻辑卷
- 然后通过
vgextend
,lvextend
等命令增大LV的空间 - 再使用
resize2fs
将逻辑卷容量增加 - 最后将逻辑卷挂载到目录树
2. 缩小文件系统空间
- 先卸载逻辑卷
- 然后使用
resize2fs
将逻辑卷容量减小 - 再通过
lvreduce
等命令减小LV的空间 - 最后将逻辑卷挂载到目录树
参考文章