一、概念思路认知篇:


 LVM:逻辑盘卷管理(Logical Volume Manager)的简称,它是Linux环境下对磁盘分区进行管理的一种机制, LVM将一个或多个硬盘的分区在逻辑上集合,相当于一个大硬盘来使用,当硬盘的空间不够使用的时候,可以继续将其它的硬盘的分区加入其中,这样可以实现磁盘空间的动态管理,相对于普通的磁盘分区有很大的灵活性。

     首先我们讨论以下几个LVM术语

物理存储介质(The physical media):这里指系统的存储设备:硬盘,如:/dev/hda1、/dev/sda等等,是存储系统最低层的存储单元。

物理卷(Physical Volume):物理的磁盘分区就是指硬盘整个分区或具有同样功能的设备(如RAID,外设磁盘),是LVM的基本存储设备。

卷组(Volume Group):LVM卷组完全类似于扩展分区,不能被直接使用必须进行再次划分。可以在卷组上创建一个或多个“LVM分区”(逻辑卷),卷组由多个物理卷(PV)组成。

逻辑卷(Logical Volume):LVM的逻辑卷类似于非LVM系统中的硬盘分区,在逻辑卷之上可以建立文件系统。也就是从VG中划分的逻辑分区。

关系如下图所示

211727187.png

PE(PhysicalExtents):在创建卷组时底层指定的一个存储单位,借鉴Oracle的表述方式就叫做物理盘区(物理扩展),所以我们在划分一个逻辑卷时就是分配多少个PE来决定的,PE的大小是由卷组决定的,PE的大小也是可配置的(下面会阐述),默认为4MB。

LE(LogicalExtents):当PE被分配到一个逻辑卷之后就被称作是LE,也就是说,把逻辑卷划分为被称为LE(Logical Extents) 的可被寻址的基本单位。在同一个卷组中,LE的大小和PE是相同的,并且一一对应。

快照(Snapshot):逻辑卷也支持快照,LVM快照通过把文件系统的改变记录到一个快照分区,而不是对这个分区做镜像(也就是保留过去某一刻的状态)。因此当你创建一个快照分区时,你不需要使用和你正创建快照的分区一样大小的分区,而是在做快照过程中需要改变的大小。这取决于有多少数据正在写入分区和你希望保留LVM快照多长时间。你保留的时间越长,在文件系统的的改变越多,更多的快照分区就会被填充改变的信息。在分区上的改变率越高,快照的平均生命期越短。如果一个LVM分区的改变量超过了快照的大小,那么快照就会被释放。简单说就是:快照中什么都没有它只是一个访问原文件的通路。(如图所示)

211750748.png

有了快照之后我们对数据的备份就会非常的简单方便。


二、创建学习篇:


    说明:以下实验过程均在centOS6.4上完美测试实现.

      逻辑卷的创建需要三步:

      首先创建PV,然后将PV组合成VG,最后将VG划分为LV。


      要创建一个LVM系统,一般需要经过以下步骤:

1、 创建分区

     使用分区工具(如:fdisk等)创建LVM分区,方法和创建其他一般分区的方式是一样的,区别仅仅是LVM的分区类型为8e。如下列图所示:

     使用fdisk创建分区,根据设备文件的绝对路径(/dev/sda)进入分区管理

211833676.png

211909966.png

注:一定要指定分区的格式为8e,这是LVM的分区格式

212019727.png

2、创建物理卷(PV)

      格式:pvcreate 设备名称

212038655.png

查看结果

      格式:pvdisplay 设备名称

212143689.png

      格式:pvs

212206851.png

3、创建卷组(VG)

     格式:vgcreate VGNAME PV名称 …

212229719.png

        vgcreate –s PE   可以指定PE大小

212245915.png

查看结果:

       格式:vgdisplay 设备名称

212316379.png

    格式:vgs

212328692.png

4、创建逻辑卷(LV)

    格式:lvcreate –L SIZE –n LV_NAME VG_NAME

212346344.png

(说明:-L指定逻辑卷的大小,-n指定逻辑卷名称卷组名称 –l指定PE的个数)

 查看结果:

          格式:lvdisplay

212402322.png

        格式:lvs

212417194.png

5、LV格式化及挂载

      下一步需要对LV进行格式化(使用mke2fs进行格式化操作),然后LV才能存储资料

212441549.png

212615811.png

212703702.png

:逻辑卷的设备文件路径:/dev/VG_NAME/LV_NAME

/dev/mapper/VG_NAME-LV_NAME

三、管理学习篇:

1、扩展VG

    首先准备好一个PV,然后使用vgextend命令即可完成扩展;

          命令格式:vgextend VG_NAME  /PATH/TO/PV

212727774.png

2、缩减VG

    首先确定要移除的PV,然后将此PV上的数据转移至其他PV,最后从卷组中将此PV移除;

      命令格式:

  •         移动数据:pvmore 盘区到盘区

212827199.png

  •        移除VG:vgreduce VG_NAME /PATH/TO/PV

213022663.png

注:在移除物理卷之前一定要把数据转移到其他盘区上

3、删除PV

 命令格式:pvremove

213044254.png

4、扩展逻辑卷

          首先确定扩展多大??然后确定当前逻辑卷所在的卷组有足够的空间可用,最后进行扩展:方法:

一:扩展物理边界:lvextend-L [+]SIZE /path/to/lv

213114403.png

(注:“+”可省的,其中有“+”表示扩展了,无“+”表示扩展了)

  二:扩展逻辑边界:resize2fs/path/to/device

213136729.png

5、缩减逻辑卷:

由于逻辑卷的缩减有风险,所以第一步要确定缩减为多大?也就是说至少能容纳原有的数据,第二步进行缩减;缩减需要三步:

a)卸载并强行检测文件系统

                     命令:e2fsck –f

213305881.png

213204189.png

b)逻辑边界

                    命令:resize2fs/path/to/device SIZE

213401485.png

c)物理边界

                       命令:lvextend -L [+/-]SIZE /path/to/lv

效果图出现了一些不明情况,见谅。

d)查看结果

213730917.png

213809764.png

6、快照卷:(只是做原件的通路,不能修改,不能写入)

   lvcreate

            -s :指定快照卷;

            -p r:限定快照卷为只读访问的;

          格式: lvcreate -L SIZE-s -p r -n LV_NAME /path/to/lv

213841311.png

213910899.png

213938423.png

214038679.png

214053171.png

7、移除逻辑卷和快照卷

   首先要确定已经卸载过了逻辑卷

     格式:lvremove /path/to/lv

214114583.png

8、移除卷组

     格式: vgremove/path/to/lv

214130349.png


总结:LVM逻辑卷是Linux里面一个很棒的空间使用机制,因为分区在没有格式化的情况下是没有办法加大或者放小的。通过LVM可以将你的磁盘空间做到灵活自如。


笔者到这里就算总结完了,有什么没有写到或者没懂或者错误的地方请大家指出,谢谢。共同学习共同进步。。。