LVM2 全称Logical Volume Manager Version 2逻辑卷管理器

使用纯软件的方式组织一个或多个底层的块设备,将它们重新定义为一个逻辑块设备的解决方案;

  利用内核中的dm模块实现;(dm:device mapper,设备映射表) dm模块可以将一个或多个底层块设备组织成一个逻辑块设备;使用用户空间中的相应命令来向dm模块发出系统调用,就可以完成后逻辑块设备的管理

 步骤如下:

    1.创建并表示物理卷,PV

      注意:如果用来创建物理卷的设备是普通分区,一定要将分区的ID修改为8e;

    2.基于PV创建卷组,逻辑块设备,创建的卷组的同时指定PE的大小;

      注意:一旦PE大小被指定,就不允许更改;

    3.在已经创建的卷组中创建逻辑卷

    4.在逻辑卷中创建文件系统(高级格式化)

    5.挂载


  物理卷的管理操作:

    pvcreate:创建物理卷

    pvdisplay:显示物理卷的详细信息

    pvs:显示物理卷的简单信息

    pvremove:删除物理卷

    pvmove:将某个物理卷中的所有的PE移动到其他物理卷中;

  卷组的管理操作:

    vgcreate:创建卷组

      -s #{kKmMgG}:指定PE的大小,如果省略该选项,默认的PE为4M;

    vgremove:删除卷组

    vgextend:扩展卷组容量,将新的pv添加到卷组中

      vgextend VolumeGroupName PhysicalDevicePath [PhysicalDevicePath...]

    vgreduce:缩减卷组容量,将pv从卷组中移除;在做此操作之前,应该先使用pvmove,保证被移除的pv上没有被占用的PE;

      vgreduce VolumeGroupName PhysicalDevicePath [PhysicalDevicePath...]

    vgdisplay:显示卷组的详细信息

    vgs:显示卷组的简短信息


  逻辑卷的管理操作:

    lvcreate:创建逻辑卷

      -L LV_SIZE(#{kK|mM|gG}):指定逻辑卷的大小,不能超过卷组的容量;

      -l #%{FREE|VG|ORIGIN|PVS}:指定逻辑卷占用对应存储单元的百分比;

      -n LV_NAME:指定逻辑卷的名称

      -i #:在创建逻辑卷的时候,以条带的方式创建,并指明这个逻辑卷上有#个条带

      -I #:在创建逻辑卷的时候,以条带的方式创建,并指明CHUNK的大小;

    lvremove:移除逻辑卷

    lvdisplay:显示逻辑卷的详细信息

    lvs:显示逻辑卷的简短信息

    lvchange:修改LV的状态

      -ay:激活逻辑卷

      -an:停用逻辑卷

    lvextend:扩展逻辑卷的空间,

      注意:一定要先扩展逻辑卷的物理边界,再扩展逻辑卷的逻辑边界;

      使用ext系列文件系统的时候,resize2fs命令扩展逻辑边界;


      扩大逻辑卷的物理边界:

        lvextend -L [+]SIZE /PATH/TO/LVM

        如果SIZE有+:表示在原有逻辑卷容量的基础上,增加SIZE空间

        如果SIZE无+:表示将逻辑卷的容量扩大到SIZE空间

      扩大逻辑卷的逻辑边界:

        e2fsck /PATH/TO/LVM

        resize2fs [-f] /PATH/TO/LVM

    

    lvreduce:缩减逻辑卷的空间

      注意:先缩减逻辑卷的逻辑边界,再缩减逻辑卷的物理边界;

      使用ext系列文件系统的时候,resize2fs命令缩减逻辑边界

 

    lvreduce -L [-]SIZE /PATH/TO/LVM

      如果SIZE有-:表示在原有逻辑卷容量的基础上,削减SIZE空间

      如果SIZE无-:表示将逻辑卷的容量直接削减至SIZE空间


为了更方便的使用逻辑卷,为/dev/dm-#设备创建了两个符号链接文件:

  /dev/mapper/VG_NAME-LV_NAME --> ../dm-#

  /dev/VG_NAME/LV_NAME --> ../dm-#


逻辑卷的快照

  快照是特殊的逻辑卷,它是在生成快照时存在的逻辑卷的准确拷贝;对于需要备份或者复制的现有数据集临时拷贝以及其它操作来说,快照是最合适的选择。快照就是将当时的系统信息记录下来,就好像照相一般,若将来有任何数据改动了,则原始数据会被移动到快照区。没有改动的区域则由快照区和文件系统共享。


快照逻辑卷创建方法

  lvcreate -L SNAPSHOT_SIZE -s -p r -n SNAPSHOT_NAME /PATH/TO/ORIGIN_LVM

    -L SIZE:指定快照逻辑卷的大小

    -s:创建一个快照逻辑卷

    -p r:创建处理的逻辑卷是只读权限

    -n SNAPSHOT_NAME:指定快照逻辑卷的名称