LVM是逻辑卷管理(Logical Volume Manager)的简称,它是Linux环境下对磁盘分区进行管理的一种机制,LVM是建立在硬盘和分区之上的一个逻辑层,来提高磁盘分区管理的灵活性。
LVM的工作原理其实很简单,它就是通过将底层的物理硬盘抽象的封装起来,然后以逻辑卷的方式呈现给上层应用。在传统的磁盘管理机制中,我们的上层应用是直接访问文件系统,从而对底层的物理硬盘进行读取,而在LVM中,其通过对底层的硬盘进行封装,当我们对底层的物理硬盘进行操作时,其不再是针对于分区进行操作,而是通过一个叫做逻辑卷的东西来对其进行底层的磁盘管理操作。比如说我增加一个物理硬盘,这个时候上层的服务是感觉不到的,因为呈现给上层服务的是以逻辑卷的方式。
LVM最大的特点就是可以对磁盘进行动态管理。因为逻辑卷的大小是可以动态调整的,而且不会丢失现有的数据。如果我们新增加了硬盘,其也不会改变现有上层的逻辑卷。作为一个动态磁盘管理机制,逻辑卷技术大大提高了磁盘管理的灵活性。
基本的逻辑卷管理概念:
PV(Physical Volume)- 物理卷
物理卷在逻辑卷管理中处于最底层,它可以是实际物理硬盘上的分区,也可以是整个物理硬盘。
VG(Volumne Group)- 卷组
卷组建立在物理卷之上,一个卷组中至少要包括一个物理卷,在卷组建立之后可动态添加物理卷到卷组中。一个逻辑卷管理系统工程中可以只有一个卷组,也可以拥有多个卷组。
LV(Logical Volume)- 逻辑卷
逻辑卷建立在卷组之上,卷组中的未分配空间可以用于建立新的逻辑卷,逻辑卷建立后可以动态地扩展和缩小空间。系统中的多个逻辑卷可以属于同一个卷组,也可以属于不同的多个卷组
LVM的管理命令
LVM管理命令主要分为三大类:PV物理卷管理、VG卷组管理、LV逻辑卷管理,对应的命令程序文件分别以"pv"、"vg"、"lv"开头,如下表所示:
功能 PV管理命令 VG管理命令 LV管理命令
scan 扫描 pvscan vgscan lvscan
create 创建 pvcreate vgcreate lvcreate
display 显示 pvdisplay vgdisplay lvdisplay
remove 移除 pvremove vgremove lvremove
extend 扩展
vgextend lvextend
reduce 减少
vgreduce lvreduce
PV物理卷管理
pvscan命令:用于扫描系统所有物理卷,并输出相关信息
pvcreare命令:用于将分区或整个硬盘转换成物理卷
例如:把分区 /dev/sdb1、/dev/sdb2 转换成物理卷
# pvcreate /dev/sdb1 /dev/sdb2
pvdisplay命令:用于显示物理卷的详细信息,需要指定物理卷作为命令参数
# pvdisplay /dev/sdb1
pvremove命令:用于将物理卷还原成普通分区或磁盘,不在属于LVM体系
# pvremove /dev/sdb1
VG卷组管理
vgscan命令:用于扫描系统以建立的LVM卷组及相关信息
vgcreare命令:用于将一个或多个物理卷创建成一个卷组
例如:使用物理卷 /dev/sdb1、/dev/sdb2 创建名为 ysf 的卷组
# vgcreate ysf /dev/sdb1 /dev/sdb2
vgdisplay命令:用于显示各卷组的详细信息,需要指定卷组名作为命令参数
# vgdisplay ysf
pvremove命令:用于删除指定的卷组,需要指定卷组名作为命令参数
# vgremore ysf
vgextend命令:用于扩展卷组的磁盘空间
例如:将物理卷 /dev/sdb3 添加到卷组 ysf 中
# vgextend ysf /dev/sdb3
LV逻辑卷管理
lvscan命令:用于扫描系统中已建立的逻辑卷及相关信息
lvcreare命令:用于从指定的卷组中分割空间,以创建新的逻辑卷