LVM

      大家有没有遇到这样的情况,当我们对linux系统分好区的时候,比如有一个分了100G但使用了很久发现,我们的分区使用的空间从未超过10G,那剩下的90G是不是就浪费了呢,或者我们本以为够用的分区,在使用一段时间后,发现根本不能满足我们的需求,怎么办呢?我们可不可以有一种方法方便地调整分区的大小呢?
     下面把在马哥教育中掌握的方法,LVM介绍给大家

     LVM是逻辑盘卷管理(Logical Volume Manager)的简称,它是Linux环境下对磁盘分区进行管理的一种机制,LVM是建立在硬盘和分区之上的一个逻辑层,来提高磁盘分区管理的灵活性。

     LVM主要分为3个部分:

          物理卷physical volume

            物理卷就是硬盘分区也可以是raid

          逻辑卷组VolumeGroup) 

            逻辑卷由多个物理卷组成

          逻辑卷logicalvolume

            从逻辑卷组中可以划分出多个逻辑卷

LVM的相关命令

       物理卷

       pvcreate   创建物理卷

       pvscan    检测存在物理卷

       pvdisplay  显示物理卷的属性信息

       pvs       显示物理卷的详细信息

       pvmove   移动物理卷中的数据到同卷组中的卷中

       pvremove  删除物理卷

       逻辑卷组

       vgreate     创建逻辑卷组

       vgscan     检测

       vgdisplay   显示卷组的属性信息

       vgs        显示卷组的详细信息

       vgextend    扩充卷组,为卷组添加pe

       vgreduce   缩减卷组,为卷组减少pe

       逻辑卷

       lvcreate  -L   创建逻辑卷  -L 指定逻辑卷的大小

       lvdisplay      查看逻辑卷的属性信息 

       lvs            查看逻辑卷的详细信息

       lvremove       删除逻辑卷

           lvextend       扩展逻辑卷空间

           lvreduce       缩减逻辑卷空间

      

     下面让我们来创建一个大小为2G的逻辑卷吧,顺便帮助大家了解命令

     从LVM3本分的介绍中,我们可以理清他们之间的关系,现有物理卷,然后组成卷组,再划分出逻辑卷。

     好,现在我们首先创建2个物理卷,

     首先创建2个分区,分别为/dev/sda{5,6},在创建分区的时候,将分区的ID标示为8e

 

  

     再把这两个物理卷创建成一个逻辑卷组mysql

     

     这里要说明-s选项指定的是PEPE就是在LVM里物理卷中最小的存储单元,有PE,就有LE了,LE的大小是由所在卷组中的PE大小决定的,PE默认是4M

      让我们划分出一个大小为2G,名字叫my的逻辑卷吧

      

      接下来就是格式化和挂载了,我们将它挂载到/mnt目录下。

      #mke2fs -j /dev/mysql/my

      #mount /dev/mysql/my /mnt

      这样一个LVM就创建好了,好了回到开头,我们为什么要创建LVM呢?是为了方便管理分区的大小,好,下面让我们看看来如何实现。

      将我们创建的逻辑卷my缩小到1G,这里要说明的是,逻辑卷无论是增大还是缩小,都首先要卸载,然后强制进行文件系统检测后,才能以后的操作

     

          这里说明下resize2fs命令,分区空间的大小有2个概念,逻辑空间和物理空间,resize2fs帮我们改变逻辑空间是逻辑空间的大小,lvm改变的是物理空间的大小,只有当这两个空间的值的大小相同的时候,分区的改变才算真正意义的实现,在我们缩小的时候要先逻辑后物理,扩展的时候则先物理后逻辑。

     有的时候我们可能误删了一些数据,我们可以为逻辑卷创建快照,在数据出现丢失和错误的时候用来备份,为什么不用cp呢,cp的复制有一个过程,而在这个过程当中,有些文件可能正在被改变,所谓的快照就是保留系统那一时刻的状态,快照所占的空间里,只储存在那一时刻后被改变过的文件在那一时刻是的状态。

      #lvcreate -L size -n  NAME -s  r /dev/device

      -L 快照文件的大小

          -s   创建快照

          -n   名字

          r     代表只读