PV,VG,LV构成了一种易于管理且拥有一个或多个硬盘的主机的文件系统,这些硬盘可能只有一个分区或多个。通过将这些物理存在的分区(或称为卷)PV(physical volume)进行整合,组成一个分区(卷)组VG(volume group),进而再次进行分配形成逻辑分区(卷)LV(logical volume)。创建成功的逻辑分区对于操作系统来说会想普通分区无异,其好处是可以动态调整分区大小。管理PV,VG,LV的工具称为逻辑卷管理器LVM(logical volume manager)。其关系如下图所示:
需要指出的是,在某个物理卷在加入卷组时,会将物理卷的最小存储单元设定为一个固定的值,这个值称为PE(physical extent)。这个值的创建,是为了保证用统一的最小分配单元来创建逻辑卷,不至于因为分配单元大小不同而造成空间浪费。
举个例子:用于远洋运输的集装箱的设计是是有着统一标准的,最重要一点是集装箱大小完全相同,这样做的好处是集装箱相互堆叠在一起不会留下多余的空隙,完全利用了空间,且便于管理。设定PE的原因也与此相同。LVM以最小分配单元来创建逻辑卷,该最小分配单元的值称为LE(logical extent)。一般来说PE=LE,且大小为2n。
LV建立流程:
1.建立PV
2.建立VG,将PV加入到VG中。
3.建立LV,并设置LV大小。
4.格式化LV或LP成你需要的文件系统。
LV删除流程:
1.umountFS
2.删除LV。
3.将PV从所在的VG中删除。
4.删除VG。
LVM管理命令:
PV:
pvcreate、pvremove、pvscan、pvdisplay、pvmove、pvs
VG:
vgcreate、vgremove、vgextend(扩展)、vgreduce(缩小)、vgmove、vgs、vgscan、vgdisplay
LV:
lvcreate、lvremove、lvextend、lvreduce、lvs、lvdisplay
创建PV:
首先创建分区
sdb1、sdb2、sdb3
pvcreate /dev/sdb{1,2,3} 创建PV,
查看pvs或pvdisplay
创建VG:
删除VG(慎用,会丢数据)
vgremove myvg
缩减VG
先调整pv 使用pvmove将pv去掉,pv会将数据迁移至其他pv上。假如myvg中pv1和pv2分别对应/dev/sdb1和/dev/sdb2,将sdb1移除后该pv上数据将自动迁移至sdb2然后使用vgreduce来调整vg大小,最后删除不用的pv,具体操作如下:pvmove /dev/sdb1vgreduce myvg /dev/sdb1pvremove /dev/sdb1
扩展VG
创建LV:
lvcreate -n LV_NAME -L #G VG_NAME创建名称为lvtest为50M的lv
查看lv
格式化并挂载
删除lv