LVM是 Logical Volume Manager(逻辑卷管理)的简写,它是Linux环境下对磁盘分区进行管理的一种机制。由于其可以弹性的调整文件系统的容量,可以整合多个物理分区为一个逻辑分区,可以在线状态新增或删除其物理分区,因此得到了大量的应用。
LVM的整体实现流程如下:
下面将上面流程图中的相关术语进行解释:
1,物理卷(Physical Volume,PV)
物理卷在逻辑卷管理中处于最底层,它可以是实际物理硬盘上的分区,也可以是整个物理硬盘,也可以是raid设备。实际分区过程中需要调整设备的物理标识符为8e,然后再通过pvcreat命令将他转化成LVM最底层的物理卷(PV),之后才能够将这些PV加以利用。
相关命令如下:
1)pvcreate:将物理分区建立成独立的pv;
2)pvscan:查找目前系统里面任何具有pv的磁盘;
3)pvdisplay:显示出目前系统上面的pv状态;
4)pvremove:将pv属性删除,让该分区不具有pv属性。
2,卷组(Volume Group,VG)
所谓的LVM就是将许多的pv整合成了这个VG,所以VG就是LVM组合起来的大磁盘。
相关命令如下:
1)vgcreate:主要建立VG的命令,主要参数如下:
-l:卷组上允许创建的最大逻辑卷数;
-p:卷组中允许添加的最大物理卷数;
-s:卷组上的物理卷的PE大小。
2)vgscan:查找系统上面是否有VG存在;
3)vgdisplay:显示系统上面的VG状态;
4)vgextend:在VG内增加额外的PV;
5)vgreduce:在VG内删除PV;
6)vgchange:设置VG是否启动;
7)vgremove:删除一个vg。
3,PE(Physical Extent ,PE)物理扩展块:
LVM默认使用4M的物理快,每一个物理卷被划分为称为PE(Physical Extents)的基本单元,具有唯一编号的PE是可以被LVM寻址的最小单元。
4,LV(Logical Volume,LV)逻辑卷
最终的VG会被切割成LV,这个LV也就是最后可以被格式化使用类似分区的东西。LV的大小与LV内的PE数量有关,LV的文件命名通常为【/dev/vgname/vname】的样式。
LVM可以弹性的修改文件系统的容量,就是通过【交换PE】的数量来进行数据交换,将原本LV内的PE转移到其他设备中以降低LV的容量,或将其他设备的PE加到此LV中来加大容量,VG、LV、PE的关系如下图:
相关命令如下:
1)lvcreat:建立LV;
2)lvscan:查询系统上面的LV;
3)lvdisplay:显示系统上面的LV状态;
4)lvextend:在LV里面增加容量;
5)lvreduce:在LV里面减少容量;
6)lvremove:删除一个LV;
7)lvresize:对LV进行容量大小的调整。
5,查看的相关命令如下:
pes、pedisplay 查看pe的大小(pes==pescan)
pvs、pvdisplay 查看物理卷
vgs、vgdisplay、 查看卷组
lvs、lvdisplay、 查看逻辑卷
fdisk -L 查看磁盘分区
6,创建的相关命令如下:
pvcreate 设备路径 创建物理卷
vgcreate 名字 pv路径 创建卷组
lvcreate -n 名字 -L 大小 vg名 创建逻辑卷
格式化:mkfs.ext4 lv完整路径 格式化逻辑卷(mkfs.文件系统格式或-t 文件系统格式)
挂载:mount lv完整路径 挂载点 挂载使用(可以使用/etc/fstab或autofs)
7,逻辑卷删除
1)卸载:umount
2)删lv:lvremove lv完整路径
3)删vg:vgremove vg名称
4)删PV:pvremove 设备完整路径 去硬盘
8,逻辑卷扩展:
1)扩展pv:相当于创建pv
2)扩展vg: vgextend vg名 新增pv路径
3)扩展lv: lvextend -L +扩展量 lv完整名
4)刷新文件系统:resize2fs lv完整路径 注意:灵活运用,看实际情况,注意顺序 (支持在线操作)
9,逻辑卷的缩小
1)首先进行卸载 umount 检查文件系统:e2fsck -f lv完整路径
2)减少文件系统:resize2fs lv完整路径 减少到的大小
3)减少lv卷大小:lvreduce -L -减少量的大小 lv的完整路径
4)挂载使用
减小需谨慎,文件系统的减小后大小一定要和lv卷最终大小相等,并且只有EXT文件系统支持缩小,XFS文件系统不支持。