转载于: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中划分的逻辑分区。
关系如下图所示:
PE(PhysicalExtents):在创建卷组时底层指定的一个存储单位,借鉴Oracle的表述方式就叫做物理盘区(物理扩展),所以我们在划分一个逻辑卷时就是分配多少个PE来决定的,PE的大小是由卷组决定的,PE的大小也是可配置的(下面会阐述),默认为4MB。
LE(LogicalExtents):当PE被分配到一个逻辑卷之后就被称作是LE,也就是说,把逻辑卷划分为被称为LE(Logical Extents) 的可被寻址的基本单位。在同一个卷组中,LE的大小和PE是相同的,并且一一对应。
快照(Snapshot):逻辑卷也支持快照,LVM快照通过把文件系统的改变记录到一个快照分区,而不是对这个分区做镜像(也就是保留过去某一刻的状态)。因此当你创建一个快照分区时,你不需要使用和你正创建快照的分区一样大小的分区,而是在做快照过程中需要改变的大小。这取决于有多少数据正在写入分区和你希望保留LVM快照多长时间。你保留的时间越长,在文件系统的的改变越多,更多的快照分区就会被填充改变的信息。在分区上的改变率越高,快照的平均生命期越短。如果一个LVM分区的改变量超过了快照的大小,那么快照就会被释放。简单说就是:快照中什么都没有它只是一个访问原文件的通路。(如图所示)
有了快照之后我们对数据的备份就会非常的简单方便。
二、创建学习篇
说明:以下实验过程均在centOS6.4上完美测试实现
逻辑卷的创建需要三步:
首先创建PV,然后将PV组合成VG,最后将VG划分为LV。
要创建一个LVM系统,一般需要经过以下步骤:
1、创建分区
使用分区工具(如:fdisk等)创建LVM分区,方法和创建其他一般分区的方式是一样的,区别仅仅是LVM的分区类型为8e。如下列图所示:
使用fdisk创建分区,根据设备文件的绝对路径(/dev/sda)进入分区管理
注:一定要指定分区的格式为8e,这是LVM的分区格式
2、创建物理卷(PV)
格式:pvcreate 设备名称
查看结果:
格式:pvdisplay 设备名称
格式:pvs
3、创建卷组(VG)
格式:vgcreate VGNAME PV名称 …
vgcreate –s PE 可以指定PE大小
查看结果:
格式:vgdisplay 设备名称
格式:vgs
4、创建逻辑卷(LV)
格式:lvcreate –L SIZE –n LV_NAME VG_NAME
(说明:-L指定逻辑卷的大小,-n指定逻辑卷名称卷组名称 –l指定PE的个数)
查看结果:
格式:lvdisplay
格式:lvs
5、LV格式化及挂载
下一步需要对LV进行格式化(使用mke2fs进行格式化操作),然后LV才能存储资料
注:逻辑卷的设备文件路径:/dev/VG_NAME/LV_NAME
/dev/mapper/VG_NAME-LV_NAME
三、管理学习篇
1、扩展VG
首先准备好一个PV,然后使用vgextend命令即可完成扩展;
命令格式:vgextend VG_NAME /PATH/TO/PV
2、缩减VG
首先确定要移除的PV,然后将此PV上的数据转移至其他PV,最后从卷组中将此PV移除;
命令格式:
移动数据:pvmore 盘区到盘区
移除VG:vgreduce VG_NAME /PATH/TO/PV
注:在移除物理卷之前一定要把数据转移到其他盘区上。
3、删除PV
命令格式:pvremove
4、扩展逻辑卷
首先确定扩展多大??然后确定当前逻辑卷所在的卷组有足够的空间可用,最后进行扩展:方法:
一:扩展物理边界:lvextend-L [+]SIZE /path/to/lv
(注:“+”可省的,其中有“+”表示扩展了,无“+”表示扩展了)
二:扩展逻辑边界:resize2fs/path/to/device
5、缩减逻辑卷
由于逻辑卷的缩减有风险,所以第一步要确定缩减为多大?也就是说至少能容纳原有的数据,第二步进行缩减;缩减需要三步:
a)、卸载并强行检测文件系统
命令:e2fsck –f
b)、逻辑边界
命令:resize2fs/path/to/device SIZE
c)、物理边界
命令:lvextend -L [+/-]SIZE /path/to/lv
效果图出现了一些不明情况,见谅。
d)、查看结果
6、快照卷(只是做原件的通路,不能修改,不能写入)
lvcreate
-s :指定快照卷;
-p r:限定快照卷为只读访问的;
格式: lvcreate -L SIZE-s -p r -n LV_NAME /path/to/lv
7、移除逻辑卷和快照卷
首先要确定已经卸载过了逻辑卷
格式:lvremove /path/to/lv
8、移除卷组
格式: vgremove/path/to/lv
总结:LVM逻辑卷是Linux里面一个很棒的空间使用机制,因为分区在没有格式化的情况下是没有办法加大或者放小的。通过LVM可以将你的磁盘空间做到灵活自如。
笔者到这里就算总结完了,有什么没有写到或者没懂或者错误的地方请大家指出,谢谢。共同学习共同进步。。。