【我的Linux,我做主!】逻辑卷管理LVM的原理与实现方式

今天我们来了解一下LVM的概念、作用以及使用方法,帮助大家了解LVM,并能够使用LVM对您的磁盘系统进行灵活的配置和管理。
一,什么是LVM
LVM是逻辑卷管理(Logical Volume Manager)的简称,它是对磁盘分区进行管理的一种机制,简历在磁盘和分区之上的一个逻辑层,用来提高磁盘管理的灵活性。通过LVM可以将若干个磁盘分区连接为一个整块的卷组(Volume Group),形成一个存储池。可以在卷组上随意创建逻辑卷(Logical Volume),并进一步在逻辑卷上创建文件系统,与直接的物理存储在管理上相比,提供了更好的灵活性。
LVM本质上是一个虚拟的设备驱动,处于物理设备和文件系统层之间,维护这个逻辑盘区和物理盘区之间的映射。LVM主要是通过DM技术实现的,即Device mapper设备映射技术。

Device Mapper Kernel Architecture即DM设备映射的内核架构,其中DM支持的技术比较广,包含linear线性链接,类似于JBod技术,可以将多个磁盘组织成一块磁盘使用;还有mirror镜像技术,可以实现数据的备份;snapshot即快照卷技术,可以将系统之前某一时刻保存下来,等后续如果系统出现错误,需要恢复,便可以使用快照来恢复;multipath多路径可以让服务器有多条线路传输数据,当一条线路出现问题后,系统仍然可以通过其他线路顺利的进行数据的传输。
二,LVM的优点
LVM将存储虚拟化,使用逻辑卷,你不会受限于物理磁盘的大小,另外与硬件相关的存储设置会被其隐藏,可以不停止应用或卸载文件系统就能直接调整卷大小和数据迁移,减少操作成本。LVM与直接使用物理存储相比,有以下优点:
(1)灵活的容量
当使用逻辑卷时,文件系统可以扩展到多个磁盘上,你可以聚合多个磁盘或磁盘分区成单一的逻辑卷。
(2)可伸缩的存储池
你可以使用简单的命令来扩大或缩小逻辑卷大小,不用重新格式化或分区磁盘设备。
(3)在线的数据分配
你可以在线移动数据,数据可以在磁盘在线的情况下重新分配。
(4)便捷的设备命名
逻辑卷可以按你觉得方便的方式来起任何的名称。
(5)镜像卷
LVM逻辑卷提供方便的方法来镜像你的数据。
(6)快照卷
使用逻辑卷,你可以获得设备快照用来一致性备份或者测试数据更新效果而不影响真实数据。
三,基本概念

1,物理卷:PV(Physical Volume)
物理卷在逻辑管理中处于最底层,它可以是实际物理磁盘上的分区,也可以是整个物理磁盘,甚至可以是RAID磁盘阵列。
2,卷组:VG(Volume Group)
卷组建立在物理卷之上,一个卷组中至少包括一个物理卷,在卷组简历之后可以动态的扩展或缩小空间。
3,逻辑卷:LV(Logical Volume)
逻辑卷建立在卷组之上,卷组中的未分配空间可以用于建立新的逻辑卷,逻辑卷建立后可以动态的扩展或缩小空间。系统中的多个逻辑卷可以属于同一个卷组,也可以属于不同的多个卷组。
4,物理盘区:PE(Physical Extent)
物理盘区是物理卷中可用于分配的最小的存储单元,物理盘区的大小可根据实际情况在建立物理卷的时候指定。物理盘区大小一旦确定将不能更改,同一卷组中所有物理的物理盘区大小都一致。
5,逻辑盘区:LE(Logical Extent)
逻辑盘区是逻辑卷中可用于分配的最小的存储单元,逻辑盘区的大小取决于逻辑卷缩在卷组物理盘区的大小。
四,常用命令
PV
pvcreat,pvremove,pvscan,pvdisplay,pvmove
VG
vgvreat,vgremove,vgextend,vgreduce,vgs,vgdisplay,vgscan
LV
lvcreat,lvremove,lvextend,lvreduce,lvs,lvdisplay
五,LVM逻辑卷管理操作详解
首先创建三个PV分区
#fdisk /dev/sda
n(新建分区)
+7G
n
+3G
n
+5G
t(调整分区类型)
10
8e(调整为LVM类型)
t
11
8e
t
12
8e
w(保存退出)
#partprobe /dev/sda
解释:重读/dev/sda分区的信息
#cat /proc/partitions
解释:查看是否有重读分区信息后更新成功
#pvcreat /dev/sda{10,11}
解释:创建物理卷sda10和sda11
#pvs
解释:查看当前系统的PV信息
#pvdisplay /dev/sda10
解释:查看sda10物理卷的详细信息
#pvscan
解释:扫描当前系统一共有多少个物理卷
创建VG卷组
#vgs
解释:查看当前系统的卷组信息
#vgcreat myvg /dev/sda{10,11}
解释:创建卷组,将sda10和sda11放到myvg的卷组中
#vgs
解释:再来查看一下创建的卷组的信息
#vgdisplay myvg
解释:显示卷组创建的详细信息,可以看到PE Size的大小为4M
#pvdisplay /dev/sda10
解释:可以发现PE Size和Total PE的数值都显示出来了
#vgremove myvg
解释:移除myvg
#vgcreat -s 8M myvg /dev/sda{10,11}
解释:重新指定PE物理盘区的单位大小为8M
#vgdisplay myvg
解释:显示卷组的详细信息,并且可以看到PE物理盘区的大小为8M
执行缩减VG卷组操作
#pvs
解释:可以查看每个磁盘对应的卷组的对应项
#pvmove /dev/sda11
解释:先把sda11上的物理盘区的数据先挪到其他盘区
#vgreduce myvg /dev/sda11
解释:从myvg中把sda11移除
#pvremove /dev/sda11
解释:最后可以执行删除物理卷sda11的操作
扩展新的卷组VG操作
#pvcreat /dev/sda12
解释:创建物理卷sda12
#vgextend myvg /dev/sda12
解释:在myvg的卷组中加入物理卷sda12
#pvdisplay /dev/sda12
解释:可以发现当sda12加入myvg的卷组后,sda12的默认物理盘区大小就自动更新为8M
创建逻辑卷
#lvcreat -L 50M -n testlv myvg
解释:对卷组myvg创建一个大小为50M名称为testlv的LV逻辑卷
#lvdisplay /dev/myvg/testlv
解释:显示/myvg/testlv下的逻辑卷的详细信息
#mke2fs -j /dev/myvg/testlv
解释:对逻辑卷testlv进行高级格式化为ext3文件系统
#mount /dev/myvg/testlv /mnt
解释:将文件系统testlv挂载至/mnt目录下
#ls /mnt
解释:在/mnt目录下可以看到lost+found文件。说明挂载成功,该文件系统可用
#mount
解释:可以看到/mnt下挂载的是/dev/mapper/myvg-testlv文件
#ls -l /dev/mapper
解释:可以看到这个是属于b块设备文件
#ls -l /dev/myvg
解释:可以看到/dev/myvg下的testlv是一个链接文件,指向/dev/mapper/myvg-testlv
移除逻辑卷
#umount /mnt
解释:如果一个逻辑卷处于挂载的状态是处于打开的状态,是无法直接移除的,需要先卸载
#lvremove /dev/myvg/testlv
解释:可以移除逻辑卷成功
扩展逻辑卷
#lvcreat -L 2G -n testlv myvg
解释:由于之前的删除了,所以重新使用卷组myvg创建一个2G的逻辑卷testlv
#mke2fs -j /dev/myvg/testlv
解释:对重新创建的逻辑卷testlv进行高级格式化为ext3文件系统
#mkdir /users
解释:创建一个用户的目录,用来挂载逻辑卷的文件系统
#vim /etc/fstab
解释:进入/etc/fstab的配置文件中
/dev/myvg/testlv /users ext3 defaults,acl 0 0
解释:在/etc/fstab配置文件中添加上面的一行信息
#mount -a
解释:-a选项表示挂载/etc/fstab文件中定义的所有的文件系统
#df -lh
解释:此时发现/dev/mapper/myvg-testlv的大小是2G
#lvextend -L 5G /dev/myvg/testlv
解释:将逻辑卷testlv的物理边界扩展到5G大小
#lvs
解释:发现testlv的大小是扩展到了5G,但是目前只是扩展了物理边界,没有扩展逻辑边界
#resize2fs -p /dev/myvg/testlv
解释:将逻辑卷testlv的逻辑边界也扩展到和物理边界一样的大小5G
#df -lh
解释:发现dev/mapper/myvg-testlv也显示了5G
#cd /users
#ls
解释:仍然可以正常的查看文件inittab
缩减逻辑卷
注意:
1,不能在线缩减,得先卸载
2,确保缩减的空间大小仍然能存储原有的所有数据
3,在缩减之前应该先强行检查文件,以确保文件系统处于一致性状态
#df -lh
解释:先查看一下逻辑卷的大小
#umount /users
解释:卸载/users挂载的目录
#e2fsck -f /dev/myvg/testlv
解释:强行检查逻辑卷文件系统内部的一致性
#resize2fs /dev/myvg/testlv 3G
解释:首先缩减testlv逻辑卷的逻辑边界至3G大小
#lvreduce -L 3G /dev/myvg/testlv
解释:然后再缩减testlv逻辑卷的物理边界
#mount -a
解释:重读/etc/fstab中定义的所有文件系统,重新挂载缩减后的testlv逻辑卷
创建快照卷
注意:
1,生命周期为整个数据时长,在这段时长内,数据的增长量不能超出快照卷大小
2,快照卷应该是只读的
3,跟原卷在同一个卷组内
#cp /ect/inittab ./
解释:将/ect/inittab复制到当前目录下来
#cp /etc/issue ./
#lvcreat -L 20M -n test-snap -s -p r /dev/myvg/testlv
解释:-L快照卷的大小为20M,-n快照卷的名称为test-snap,-s创建快照卷,-p权限为只读
#mount /dev/myvg/tsetlv-snap /mnt
解释:挂载快照卷后,发现数据内容保存的是备份的那一时刻的数据信息,后面如果修改或新增都不会有显示
#tar jcf /tmp/users.tar.bz2 inittab issue
解释:将快照卷下的文件压缩为/tmp/users.tar.bz2文件
#umount /mnt
解释:此时快照卷的作用结束,可以卸载快照卷
#lvremove /dev/myvg/testlv-snap
解释:移除快照卷testlv-snap
#cd /users
#rm inittab issue messages
解释:模拟无意间删除了/users目录下的信息
#tar xf /tmp/users.tar.bz2
解释:将刚刚保存的快照卷的打包压缩文件展开至/users目录下,从而完成用快照卷还原到过去特定时刻的作用

原文地址:http://blog.51cto.com/13613726/2085388

时间: 2024-10-10 15:03:55

【我的Linux,我做主!】逻辑卷管理LVM的原理与实现方式的相关文章

linux基础知识——————逻辑卷管理器(lvm)

*****什么是lvm:           lvm就是将几个物理的分区通过软件组合成为一块看起来是独立的大磁盘(vg),然后将这块大磁盘分成可使用的分区. 然后就可以格式化创建文件系统,最终可以挂载使用啦.   *****我们该如何创建lvm呢? 一.首先创建分区,将其id设为8e,如下图   二.然后创建pv      pv阶段有如下常用的命令 pvcreate : 将物理的分区创建为pv pvscan  : 查看磁盘里的所有pv的信息 pvdiplay :查看pv的状态 pvremove

Linux逻辑卷管理LVM详解

Linux逻辑卷管理LVM详解 Linux用户安装Linux操作系统时遇到的一个最常见的难以决定的问题就是如何正确地评估各分区大小,以分配合适的硬盘空间.而遇到出现某个分区空间耗尽时,解决的方法通常是使用符号链接,或者使用调整分区大小的工具(比如Patition Magic等),但这都只是暂时解决办法,没有根本解决问题.随着Linux的逻辑卷管理功能的出现,这些问题都迎刃而解,本文就深入讨论LVM技术,使得用户在无需停机的情况下方便地调整各个分区大小. 一.LVM基本术语 LVM是在磁盘分区和文

Linux的lvm2 逻辑卷管理工具

有时候我们做主机规划时考虑的不够到位或者其他的原因会导致我们给的磁盘分区不够.这时我们只能够重新扩展磁盘容量了,如果再加一块硬盘上去,然后重新分区格式化,将原来的分区数据完整的复制到新的硬盘,最后将原来的分区给卸载重新挂载上新分区.这样的话,事情就会变得很繁琐了.而且有时候我们如果给的太多就会造成磁盘空间被浪费了.有么哦有更好的办法呢?答案是肯定的 .LVM就是为解决这种问题而存在的. 什么是LVM? LVM的全名是Logical Volume Manager,即逻辑卷管理器.它可以整合多个物理

存储5——逻辑卷管理LVM

1. LVM概念 LVM是 Logical Volume Manager(逻辑卷管理)的简写,它由Heinz Mauelshagen在Linux 2.4内核上实现.LVM将一个或多个硬盘的分区在逻辑上集合,相当于一个大硬盘来使用,当硬盘的空间不够使用的时候,可以继续将其它的硬盘的分区加入其中,这样可以实现磁盘空间的动态管理,相对于普通的磁盘分区有很大的灵活性. 与传统的磁盘与分区相比,LVM为计算机提供了更高层次的磁盘存储.它使系统管理员可以更方便的为应用与用户分配存储空间.在LVM管理下的存储

逻辑卷管理(LVM)

参考资料列表 本文部分资料参考自以下列表 https://www.ibm.com/developerworks/cn/linux/l-lvm2/ 比较详细地描述了Linux 逻辑卷的管理 https://linux.die.net/man/8/lvm Linux LVM2工具手册 本文将从以下几个方面介绍LVM 什么是逻辑卷 逻辑卷的结构 逻辑卷的管理 迁移逻辑卷到新的系统 删除逻辑卷 逻辑卷快照 什么是逻辑卷 逻辑卷管理(LVM)指系统将物理卷管理抽象到更高的层次,常常会形成更简单的管理模式.

逻辑卷管理LVM

LVM是逻辑卷管理(Logical Volume Manager)的简称,它是建立在物理存储设备之上的一个抽象层,允许你生成逻辑存储卷,与直接使用物理存储在管理上相比,提供了更好灵活性.LVM将存储虚拟化,使用逻辑卷,你不会受限于物理磁盘的大小,另外,与硬件相关的存储设置被其隐藏,你可以不用停止应用或卸载文件系统来调整卷大小或数据迁移.这样可以减少操作成本.LVM与直接使用物理存储相比,有以下优点:1. 灵活的容量.当使用逻辑卷时,文件系统可以扩展到多个磁盘上,你可以聚合多个磁盘或磁盘分区成单一

LVM(逻辑卷管理器)原理

LVM的作用 LVM的重点在于可以弹性调整文件系统的容量,LVM可以整合多个物理分区在一起,让这些分区看起来就像是一个磁盘一样,而且,还可以在将来其他的物理分区或将其从这个LVM管理的磁盘当中删除.如此一来,整个磁盘空间的使用上,相当具有弹性. 什么是LVM:PV.PE.VG.LV的意义 LVM的全名是Logical Volume Manager(逻辑卷管理器),LVM的做法是将几个物理的分区(或磁盘)通过软件组合成为一块看起来是独立的大磁盘(VG),然后将这块大磁盘再经过分成可使用分区(LV)

Linux逻辑卷管理LVM学习总结

LVM(Logical Volume Manager),它是Linux环境下对磁盘分区进行管理的一种机制,LVM是建立在硬盘和分区之上的一个逻辑层,可以弹性的增加或减小分区的大小,使得磁盘分区管理更具灵活性.LVM的实现示意图: 创建LVM实例: 1.首先创建3个准备组成卷组VG的物理分区,并且把分区格式改为8e.以/dev/sdb1./dev/sdb2./dev/sdb3为例: #在/dev/sdb磁盘上创建分区/dev/sdb1./dev/sdb2./dev/sdb3,大小分别为3G.4G.

Linux逻辑卷管理LVM学习总结备忘

LVM(Logical Volume Manager),它是Linux环境下对磁盘分区进行管理的一种机制,LVM是建立在硬盘和分区之上的一个逻辑层,可以弹性的增加或减小分区的大小,使得磁盘分区管理更具灵活性.LVM的实现示意图: 创建LVM实例: 1.首先创建3个准备组成卷组VG的物理分区,并且把分区格式改为8e.以/dev/sdb1./dev/sdb2./dev/sdb3为例: #在/dev/sdb磁盘上创建分区/dev/sdb1./dev/sdb2./dev/sdb3,大小分别为3G.4G.