lvm:logical volume manager,叫做逻辑卷管理器,现在我们使用的版本是lvm2,LvmLinux系统中由dm模块提供,它可以将一个或多个底层块设备组织成一个逻辑设备的工具,底层只有一个设备的情况lvm也支持。能够将一个或多个底层的块设备映射成一个逻辑设备,类似于扩展分区,我们还需要对这个分区进一步划分成逻辑分区才能进一步格式化之后再挂载才能使用,lvm只是简单的将底层的块设备的空间容量边界组织成一个单一的设备,而且在此基础之上,还能进一步划分大小不同的逻辑分区,当这些逻辑分区空间不够用的情况下还支持在线扩展的能力。

Lvm中涉及到的基本概念

pv:底层的每个物理设备被称作pv,也叫做物理卷。

Vg:当每个物理磁盘被lvm组合起来以后,这个更大的磁盘空间就叫做vg,叫做卷组,卷组中指定了数据块的大小。

pevg在创建的时候要指定每个数据块的大小这个块通常情况下要比我们的文件系统常用的磁盘块要大的多,通常情况下也是2^n的整数倍,每个物理设备都被分割成一个个的块,这些块叫做pe,叫做物理盘区。

le:卷组指定的数据块大小,也即一个一个的存储单元,到了逻辑卷的层面上,它不再叫做PE,而是叫做LElogical extend,他们大小相同,都是基本的lvm定义的存储单元,只不过是站在不同的角度来说的,站在物理卷的角度叫PE,站在逻辑卷的角度叫le

快照卷:lvm支持对逻辑卷创建快照的功能,可以把某个逻辑卷创建成镜像的格式,在某种程度上起到备份冗余的特性。

         使用lvm创建pv,vg,lv以及快照卷的方法、及注意事项。

创建pv,假设有两个磁盘分区,/dev/sda3( 7G ), /dev/sda5 ( 3G ),创建这两个磁盘分区,并将其分区类型调整为8e,我们是在虚拟机中模拟的,在实际的使用中应该是不同的磁盘设备来组合。

LVM管理及使用_快照卷

创建pv:

# pvcreate /dev/sda3 /dev/sda5

# pvs;查看pv的创建结果


LVM管理及使用_pv_02

 创建vg:

# vgcreate /dev/myvg /dev/sda3 /dev/sda5;这里可以指定pe的大小

# vgs;查看vg的创建结果

LVM管理及使用_lv_03LVM管理及使用_快照卷_04

假设vg的磁盘空间很大,使用率不够,有很多空间剩余,而我们想要撤销一个磁盘。步骤如下:

首先确认之后创建的整个vg的使用空间,这个数值是由多个lv的使用空间组合而来的,当然也可以只是一个lv就使用了整个vg空间,如果整个vg的可用空间大于某个想要撤掉的磁盘空间,那么该磁盘才可能从vg中移除,否则数据是不可能完全从对应磁盘上复制到卷组中的其他磁盘上的。将该磁盘中的数据移动到其他的物理磁盘(pv)中去,假设这里撤掉/dev/sda5

# pvmove /dev/sda5;

# vgreduce myvg /dev/sda5;或者使用pvremove /dev/sda5

这样就可以完成物理磁盘的移除

 

创建lv(假设为5G

# lvcreate –n /dev/myvg/mylv –L 5G

# lvs:查看lv的创建结果

之后lv就可以被格式化,然后挂载使用了,比如,把mylv格式化为ext4格式,并挂载到目录中即可使用。

# mke2fs –t ext4 /dev/myvg/mylv

# mount /dev/myvg/mylv /users

 LVM管理及使用_快照卷_05

扩展lv的空间,假设扩展至7G,lvm支持在线扩展。

# lvextend /dev/myvg/mylv –L 7G;这里扩展的是物理边界

# resize2fs /dev/myvg/mylv ;扩展逻辑边界和物理边界一样大小

LVM管理及使用_lv_06通常情况下,lv的逻辑边界在其物理边界扩展以后,逻辑编辑会自动扩展和其物理边界一样大小。

缩减lv的空间,先要卸载,注意,lv在缩减的时候一定要先取消挂载,然后使用e2fsck命令强制进行磁盘检查,之后再缩减,而且缩减的顺序要求先缩减逻辑边界,然后再缩减物理边界,顺序不能出错。而且有可能有丢失数据的危险。

LVM管理及使用_lv_07上一步缩减的是逻辑边界,下面缩减物理边界。

LVM管理及使用_lv_08

     注:卷组和逻辑卷在创建的时候都只需要提供一个名称即可,不需要提供具体的位置信息,但逻辑卷在创建后访问或者格式化,挂载等等都需要提供它的具体访问路径。

   

    另外,lvm还支持创建快照卷的功能,可以将某一逻辑卷在某时刻的状态做一个快照,能起到备份的效果,当然也仅限于那个时间点的备份,类似于虚拟机中的快照功能,其原理也相近,是对原逻辑卷做了另外一个访问的通路,对那个时刻的文件做了一个快照,如果原卷中的数据发生变化,那么在修改前,先将原卷中未改动的数据备份至快照卷中,然后再对原卷中的相应数据做改动,如果原卷中未发生改变,那么快照卷中也是不会有数据的,这也是为什么生成快照卷特别快速的原因,同时要注意,快照卷的空间大小要定义的合理,它的大小要根据快照卷的生命周期内发生变化的数据量大小来定义,即快照卷如果生命周期为1天,之后它内部的数据要做备份归档,过后快照卷就会被删除,而这段时间内原卷的数据改变量大小就是决定快照卷大小的关键因素,一定要定义一个合理的大小,否则,快照卷过小,数据量很大,会导致快照卷崩溃,无法起到备份的效果。

创建快照卷的方法:

LVM管理及使用_快照卷_09


逻辑卷、卷组、物理卷的删除操作。

当逻辑卷、卷组、物理卷不再使用的时候,我们可以按这样的方式来操作删除对应的卷:

# lvremove /dev/myvg/snap-mylv;删除快照卷

# lvremove /dev/myvg/mylv;删除对应的逻辑卷

# lvremove myvg;删除卷组中所有的逻辑卷

# vgremove myvg;删除卷组

# pvremove /dev/sda3 /dev/sda5;删除对应的物理磁盘。