lvm(logical volume manager),它是linux环境下对磁盘分区进行管理的一种机制,lvm是建立在硬盘和分区之上的一个逻辑层,可以弹性的增加或减小分区的大小,使得磁盘分区管理更具灵活性。lvm的实现示意图:
创建lvm实例:
1、首先创建3个准备组成卷组vg的物理分区,并且把分区格式改为8e。以/dev/sdb1、/dev/sdb2、/dev/sdb3为例:
2、创建物理卷pv
物理卷physical volume就是指硬盘分区或从逻辑上与磁盘分区具有同样功能的设备(如raid),是lvm的基本存储逻辑块,但和基本的物理存储介质(如分区、磁盘等)比较,却包含有与lvm相关的管理参数。pvcreate 命令将希望添加到卷组的所有分区或者磁盘创建为物理卷。
#pvcreate /dev/sdb ,将整个磁盘创建为物理卷。
#pvcreate /dev/sdb1 ,将单个分区创建为物理卷。
3、创建卷组vg
卷组volume group是由多个pv整合而成的,vg最多可以有65534个pe(physical extent)组成,每一个物理卷被划分为称为pe的基本单元,具有唯一编号的pe是可以被lvm寻址的最小单元。pe的大小是可配置的,默认的pe块是4m,默认vg最大是256g{由默认的pe块大小计算:4m*65534/(1024m/g)=256g}。
4、创建逻辑卷lv
创建逻辑卷logical volume,就像硬盘上的分区一样,lv的大小是pe的整数倍。lv的块设备文件通常是/dev/vgname/lvname和/dev/mapper/vgname-lvname
lvcreate简单格式:lvcreate -l 容量 -n lvname vgname
e.g. lvcreate -l 5g -n testlv1 testvg
其中-l容量的指定也可以用-l选项,指定pe的个数。
格式化逻辑卷testlv1并挂载
扩展和缩减逻辑卷
扩展逻辑卷的步骤
1、创建新的分区,并修改分区类型为8e
3、将新创建的pv添加到要扩展的逻辑卷所在的卷组
4、用命令lvextend或者lvresize来将新加入的pe添加到要扩展的逻辑卷中
5、用命令resize2fs扩展文件系统的容量
如果卷组中有多余的空间足够扩展逻辑卷,可以直接从第4步开始。
实例: 将testlv1扩展到13g
缩减逻辑卷的步骤
缩减逻辑卷要先离线, 缩减要慎重!
1、先卸载文件系统,然后强制执行检测e2fsck -f
2、然后确定要移除的物理卷的大小,有多少个pe。然后用命令resize2fs缩减文件系统大小,然后重新挂载逻辑卷
3、用命令lvreduce或者lvresize缩减指定个数的pe, 也可以计算出相应的大小来缩减
4、lv缩减之后,通过命令pvdisplay查看,指定要移除的pv,如果要移除的pv有pe在用,用pvmove转移pe到空闲的pv。pvmove可以指定要转移的pe
pvmove /dev/sdb1:1000-1999 /dev/sdc1
or
pvmove /dev/sdb1:1000-1999 /dev/sdc1:0-999
5、用命令vgreduce缩减指定要从卷组冲移除的物理卷,然后用pvremove命令移除物理卷
实例: 缩减逻辑卷并从卷组中移除物理卷/dev/sdb1
lvm快照系统
快照就是将当时的系统资讯记录下来,就好像照相记录一般! 未来若有任何数据更动了,则原始数据会被搬移到快照区,没有被更动的区域则由快照区与文件系统共享。
实例: 创建逻辑卷testlv1的快照
删除lvm
实例:删除之前创建的lvm
最后用fdisk将各物理分区的类型8e改回83