一.查看 LVM 定义
1. (1)物理分区或磁盘是 LVM 的第一构建块。这些可以是分区、完整磁盘、 RAID 集或 SAN磁盘。
  (2)物理卷是 LVM 所使用的基础“物理”存储。这通常是块设备,例如分区或完整磁盘。设备必须初始化为 LVM 物理卷,才能与 LVM 结合使用。
  (3)卷组是存储池,由一个或多个物理卷组成。
  (4)物理区块是物理卷中存储的小型数据区块,用作 LVM 存储的后端。
  (5)逻辑区块映射到物理区块,构成 LVM 存储的前端。默认情况下,每个逻辑区块映射到一个物理区块。启用某些选项将更改此映射。例如,镜像会导致每个逻辑区块映射到两个物理区块。
  (6)逻辑卷是逻辑区块组。逻辑卷可以像硬盘驱动器分区一样使用。
  (7)为什么使用逻辑卷?
    逻辑卷和逻辑卷管理有助于更加轻松地管理磁盘空间。如果文件系统需要更多的空间,可以将其卷组的可用空间分配给逻辑卷,并且可以调整文件系统的大小。如果磁盘开始出现错误,可以通过卷组将替换磁盘注册为物理卷,并且逻辑卷的范围可迁移到新磁盘。
2.示例一:
    (1)   fdisk -cu /dev/vda
   fdisk 用于创建与 LVM 结合使用的新分区。在要与 LVM 结合使用的分区上,始终将“类型”设置为“ 0x8e Linux LVM” 。
    (2)   pvcreat   /dev/vda5    (这里假设你新的分区为/dev/vda5)
    用于初始化分区(或其他物理设备),使其作为物理卷与LVM 结合使用。直接在物理卷中创建用于存储 LVM 配置数据的表头。 创建PV
    (3)   vgcreate     vgtest     /dev/vd5
     将创建名为 vgtest 的vg 且由物理卷 /dev/vda3 组成的卷组。您可以在创建时指定其他物理卷(以空格隔开),也可以vgextend 添加新物理卷。 
      也就是说假设现在有两个分区,你都要加到vgtest中,那么你可以用    vgcreate /dev/vda5   /dev/vda6   这样一条命令创建,
       也可以用  :         vgcreate  vgtest  /dev/vda5 
              vgextend  /dev/vda6    vgtest
   (4)    lvcreate   -n lvtest     -L 2G vgtest
                        -l 500 vgtest   ( 创建500个这样的PE,假设一个PE大小为4M)
          从 vgtest  上可用物理区块创建名为lvtest 、容量为 2GB 的新逻辑卷。
   (5)    你要想使用新创建的lv,那么  :  mkfs.ext4  /dev/mapper/vgtest-lvtest
   (6)    建立挂载点,mkdir /test
             写进  /etc/fstab
    /dev/mapper/vgtest-lvtest      /test       ext4      defaults       0 0
   (7)   mount -a 挂载全部,重新读文件
       附加:
         pvdisplay
     vgdisplay
         lvdisplay
     vgchange  -s 8M  vgtest  扩展PE的大小
  3. 示例二:扩展逻辑卷
     (1)vgdisplay  vgtest
        查看是否还有充足的vg让你来分。
      (2)  扩展逻辑卷
    lvextend  -l 128 /dev/vgtest/lvtest   (扩大到128个PE的大小,即512M)
                -L  512M  /dev/vgtest/lvtest (扩大到512M)
                 -L  +256M  /dev/vgtest/lvtest  (增加256M)
      (3)扩展文件系统
    resize2fs   -p    /dev/   vgtest/lvtest     (不写大小会默认的将你在lv逻辑卷中增加的大小加进去)
             -p 选项显示操作期间的进度
      (4)需要挂载的话:
            mount   /dev/mapper/vgtest-lvtest    /test
  4.  示例三:缩减逻辑卷
          (1).首先如果挂载上的话你应该先卸载要缩减的逻辑卷。
        umount /test
      (2)
            fsck -f /dev/mapper/vgtest-lvtest
     执行 fsck -f /dev/mapper/vgname-lvname ,以在进行大小调整之前验证所有文件系统数据结构是否都已得到清理。
       (3) resize2fs -p /dev/mapper/vgtest-lvtest 512M
        会将文件系统大小调整为512M ,假设逻辑卷大于 512M 。
        注意:如果省略 resize2fs 命令中的大小,则默认值为逻辑卷大小。
     (4)lvreduce  -L 512M -n  /dev/mapper/vgtest-lvtest
             将逻辑卷缩减到512M
     (5)mount -a
注意的是:扩展逻辑卷的时候应该是先扩展逻辑卷在扩展文件系统,
         缩减逻辑卷的时候应该是先缩减文件系统在缩减逻辑卷
  5.扩展和缩减卷组
    当卷组中的逻辑卷使用该卷组中的所有可用物理范围时,在未向该卷组添加额外空间的情况下无法扩展逻辑卷。可以创建更多的物理卷并将其添加到卷组,以“扩展”其容量。
    使用 LVM 的另一个好处是可以在物理存储设备之间移动数据,而不会导致用户停机。例如 ,可以将数据从一个较慢的磁盘驱动器移至一个更快的新磁盘驱动器。
    扩展卷组
    (1). 创建新卷组时,必须创建新分区,并准备好将其用作 LVM 物理卷。
    使用 fdisk 创建新分区,务必注意将“类型”设置为“ 0x8e Linux LVM” 。
     使用 pvcreate /dev/vda6 初始化分区,使其作为物理卷与 LVM 结合使用。
    (2). vgextend vgtest /dev/vda6 用于将新物理卷 /dev/vdaN 添加到现有卷组 vgname 。
    (3). 使用 vgdisplay 确认其他“可用物理区块”。
    缩减卷组
    (1). pvmove /dev/vda5 用于将 /dev/vdaN 中使用的任何物理区块重新定位到卷组中的其他物理卷。仅当卷组中存在足够的可用区块,且所有这些区块都来自其他物理卷时,才能执行此操作。
    (2). vgreduce vgtest /dev/vda6 用于从卷组 vgname 中删除物理卷 /dev/vdaN 。
  6. 移动数据删除PV
      (1)假如建立两个分区 /dev/vda5   /dev/vda6
      (2)pvcreate   /dev/vda5
         pvcreate   /dev/vda6
      (3)  vgcreate    vgsu /dev/vda5   
      (4)  lvcreate -n lvsu -L 100M vgsu
      (5)   mkfs.ext4  /dev/mapper/vgsu-lvsu
      (6)   现在你可以挂载你新创建的逻辑卷
            mount /dev/mapper/vgsu-lvsu   /mnt
        cd /mnt
        echo `date` > testfile
      (7)   现在你的lvsu里面已经有东西了,所以你删除的时候要谨慎哦!
           pvmove  /dev/vda5 /dev/vda6   
          将/dev/vda5 中的数据移动到 /dev/vda6 中
      (8)vgreduce vgsu   /dev/vda5 
    将 /dev/vda5 从  vgsu 里面移出去。(移出卷组)
      (9)pvremove   /dev/vda5     此时你用pvs查看的时候就看不到 /dev/vda5了哈!