转载于:http://pangge.blog.51cto.com/6013757/1256568


一、概念思路认知篇

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中划分的逻辑分区。


关系如下图所示

LVM逻辑卷基础+实战_第1张图片

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


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


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

LVM逻辑卷基础+实战_第2张图片

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


二、创建学习篇

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

逻辑卷的创建需要三步:

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


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

1、创建分区

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

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

LVM逻辑卷基础+实战_第3张图片

LVM逻辑卷基础+实战_第4张图片

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

LVM逻辑卷基础+实战_第5张图片


2、创建物理卷(PV)

格式:pvcreate 设备名称

212038655.png


查看结果

格式:pvdisplay 设备名称

LVM逻辑卷基础+实战_第6张图片


格式:pvs

LVM逻辑卷基础+实战_第7张图片


3、创建卷组(VG)

格式:vgcreate VGNAME PV名称 …

212229719.png

vgcreate –s PE 可以指定PE大小

LVM逻辑卷基础+实战_第8张图片


查看结果:

格式:vgdisplay 设备名称

LVM逻辑卷基础+实战_第9张图片

格式:vgs

LVM逻辑卷基础+实战_第10张图片


4、创建逻辑卷(LV)

格式:lvcreate –L SIZE –n LV_NAME VG_NAME

212346344.png

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


查看结果:

格式:lvdisplay

LVM逻辑卷基础+实战_第11张图片

格式:lvs

LVM逻辑卷基础+实战_第12张图片


5、LV格式化及挂载

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

LVM逻辑卷基础+实战_第13张图片

LVM逻辑卷基础+实战_第14张图片

212703702.png

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

/dev/mapper/VG_NAME-LV_NAME


三、管理学习篇

1、扩展VG

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

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

LVM逻辑卷基础+实战_第15张图片


2、缩减VG

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

命令格式:

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

LVM逻辑卷基础+实战_第16张图片

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

LVM逻辑卷基础+实战_第17张图片

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


3、删除PV

命令格式:pvremove

LVM逻辑卷基础+实战_第18张图片


4、扩展逻辑卷

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

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

LVM逻辑卷基础+实战_第19张图片

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


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

LVM逻辑卷基础+实战_第20张图片


5、缩减逻辑卷

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

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

命令:e2fsck –f

LVM逻辑卷基础+实战_第21张图片

LVM逻辑卷基础+实战_第22张图片


b)、逻辑边界

命令:resize2fs/path/to/device SIZE

LVM逻辑卷基础+实战_第23张图片


c)、物理边界

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

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


d)、查看结果

LVM逻辑卷基础+实战_第24张图片

LVM逻辑卷基础+实战_第25张图片


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

lvcreate

-s :指定快照卷;

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

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

213841311.png

LVM逻辑卷基础+实战_第26张图片

LVM逻辑卷基础+实战_第27张图片

LVM逻辑卷基础+实战_第28张图片

214053171.png


7、移除逻辑卷和快照卷

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

格式:lvremove /path/to/lv

LVM逻辑卷基础+实战_第29张图片


8、移除卷组

格式: vgremove/path/to/lv

LVM逻辑卷基础+实战_第30张图片


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


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