LVM,Logical Volume Manager 逻辑卷管理器   之所以能称为“卷”,是因为可以讲文件系统像卷一样伸长或缩短。LVM的作法是将几个物理的分区(或磁盘)通过软件组合成为一块看起来是独立的大磁盘(VG), 然后将这块大磁盘再经过分成为可使用分区(LV),最终就能够挂载使用了。也就是说LVM可以整合多个物理分区在一起,让些分区看起来像是一个磁盘一样,而且还可以在将来其它的物理分区或将其从这个LVM管理的磁盘当中删除。
 LVM的相关命令:
               scan      查找
               create    新建
               display   显示
               extend   增加 
               reduce   减少
               remove   移除
               resize      改变容量 
               attribute(change)   改变属性                                                                                 与之pv,vg,lv对应的命令都在其开头加上pv,vg,lv      
 
 pe 物理扩展块  其是整个LVM最小的储存块,也就是说,其实我们的文件都是由写入PE来处理的,其相当于文件系统里面的block大小,调整PE会影响到VG的最大容量。
 pv 物理卷   其是LVM最底层的物理卷(PV)
  PV的相关命令:
     pvs=pvdisplay     查看相关信息
     pvcreate +设备名    创建
     pvscan       查询当前系统里面任何具有PV的磁盘
     pvdispiay     显示当前系统上PV的状态     
     pvremove    移除物理卷,将PV属性删除,让该分区不具有PV属性 
     pvmove       把一个物理卷上的存储了数据的物理盘区,挪到其它物理卷上
 vg 卷组   所谓的LVM大磁盘就是将许多PV整合成这个VG,所有VG就是LVM组合起来的大磁盘
   VG的相关命令: 
          vgs      查看信息
          vgcreate      新建
          vgscan      查找系统上是否有VG存在
          vgdisplay +名字+设备名       查看详细信息 状态
          vgextend      在VG内增加额外的PV
          vgreduce       移动 在VG内删除PV
          vgremove      删除一个VG
          vgchange      设置VG是否启动
      #vgcreate vgNAME /dev/sda{5,6}  ---> 创建vg
 lv 逻辑卷
   LV的相关命令:
         lvcreate     新建   
         lvscan      查找系统上是否有lv存在
         lvdisplay      查看详细信息 状态
         lvextend       在lv内增加额外的PV
         lvreduce       移动 在lv内删除PV
         lvremove      删除一个lv
         lvresize         对LV进行容量大小的调整
         lvremove      移除
        -f              强制移除
       #lvcreate -L(大小) +2G -n mylv1(lvNAME) myvg(vgNAME)  ---> 创建lvm

扩展卷组vg的增加: 
    先找到PV,然后添加PV,后增加VG
  vgextend VGNAME /dev/DEVICE
  vgextend vgmy1 /dev/sda6
lvm逻辑卷的增加:
        先增加vg,在增加lv
       lvextend -L +1G /dev/vgmy1/lvmy1 
    再增加文件系统 -->"resize2fs /dev/vgmy1/lvmy1"
缩减眷组:
    vgreduce VGNAME /dev/DEVICE
    vgreduce vgmy1 /dev/sda6   
   
扩展逻辑卷:增加
   先创建PV,然后增加VG,最后添加LV的大小
   lvextend -L 【+】SIZE /dev/VGNAME/LVNAME
   lvexteng -L +1G /dev/VGNAME/LVNAME
  如果是“+1G”,则是容量增加“1G”;如果是”1G“,则是增加到“1G”
 
缩减逻辑卷,得先卸载卷,而且要强制进行文字系统检测
   ①卸载  --> umount
   ②自检  --> e2fsck -f 或"fsck -f /dev/vgmy1/lvmy1"强检
   ③缩减逻辑,并指定大小  --> resize2fs /dev/vgmy1/lvmy1 1G
   ④缩减lv,并指定大小     --> lvreduce -L 1G /dev/vgmy1/lvmy1
   ⑤再挂载看看是否正常缩减,并且逻辑卷是否正常-->  mount
  
  1、先找出要移除的磁盘(/dev/sda6),并尝试计算文件系统需要缩小多少
         pvdisplay查看PE个数
  2、直接降低文件系统的容量
        resize2fs /dev/vgmy1/lvmy1 600M
  3、降低Lv的容量,就是降低PE的个数
        lvresize -l 89(PE的个数) /dev/vgmy1/lvmy1
       lvdisplay
  4.1、 先确认要移除的磁盘(/dev/sda5)里面的PE是否都被删除
            pvdisplay 查看
  4.2、 将需移除的磁盘(/dev/sda5)移出VG中
             #vgremove vgmy1 /dev/sda5
    umount  卸载
    fsck -f   强制检测 
    lvreduce -L  缩减
 创建快照卷:
  格式:#lvcreate  -L SIZE -n NAME(取新名字) -S -P R /dev/vgmy1/lvmy1
      -L    指定大小
     -n     指定名字
     -S     指定快照卷
     -p     只读
  例子:#lvcreate -L 50M -n lvmy1-snap -s -p r /dev/vgmy1/lvmy1

LVM的简短的创建过程:
 1、fdisk /dev/sda          -----> 创建以8e为格式的磁盘
 2、partprobe               -----> 识别
 3、pvcreate /dev/sda5      -----> 创建PV
 4、pvs或pvdispiay或pvscan  -----> 查看
 5、vgcreate -s 1G vgNAME /dev/sda5   -----> 创建VG
 6、vgs或vgscan或vgdiplay             -----> 查看
    6.1、vgextended vgNAME /dev/sda6  -----> 添加VG的容量
 7、lvcreate -L +1G -n lvNAME vgNAME  -----> 创建LV
 8、lvs或lvscan或lvdisplay            ----->  查看
       LV的全名为/dev/vgNAME/vgNAME
    lv文件用"#ls /dev/mapper" 查看
 9、“#mke2fs /dev/vgmy1/lvmy1”        ----->要想使用创建成功的lv,则首先得格式化

整个流程如下图所示:

逻辑卷LVM