Linux文件系统-LVM逻辑卷

Linux文件系统-LVM逻辑卷,第1张

LVM(Logical Volume Manager)卷组管理器,通过对底层物理磁盘的封装,可以将多块物理磁盘组合成逻辑资源池,提供给上层应用使用(如文件系统). LVM的好处是,可以跨物理硬盘为文件系统提供容量,并且可以动态进行分区容量的调整,而不会损坏原有的文件系统.

物理磁盘 :物理存储介质,可以是整块物理存储或一个分区.

物理卷PV(physical volume) :LVM要使用物理磁盘,在物理磁盘的头部写入lvm标签头,就创建了一个PV,PV是组成VG的基本单元.

卷组VG(Volume Group) :VG相当于非LVM系统中的物理硬盘,一个卷组VG由一个或多个PV组成,形成一个存储资源池.

逻辑卷LV(logical volume) :LV相当于非LVM系统中的硬盘分区,LV建立在卷组VG之上,文件系统建立在LV之上.

物理块PE(physical Extent) :创建LV时可以分配的最小存储单元,大小可以指定,默认为4MB

如上是从物理磁盘到lvm逻辑卷的创建过程及映射关系,lv01、lv02被创建后,通过device-mapper映射为逻辑块设备(块设备路径/dev/vg01/lv01、/dev/vg01/lv02),供文件系统使用,通过mkfs.ext4 /dev/vg01/lv02可创建ext4文件系统.

元数据主要是两部分,PV header + metadata,位置一般是在PV的0~2048 sector中,从2048 sector开始是数据区域.

通过pvcreate创建pv时,会将pv header写入物理磁盘,位置一般是在磁盘的第二个sector(512B/sector),lvm扫描磁盘时,通过pv header来识别PV.

pv header主要信息包括,pv uuid、元数据位置和metadata位置.

pv header实例:

metadata记录的是vg和lv的配置信息,以ASCII码的方式写入metadata区域;vg和lv的每次配置变更,都会以追加的方式写入metadata区域,并打上时间戳,该区域写满后,新的变更记录会覆盖最早的一次记录. 进行vgscan时,猜测应该是通过读取最新一次的配置记录,进行激活.

vg配置信息,主要是包含的pv信息.

lv配置信息,主要是lv的起始位置和PE大小.

实例:

pvcreate /dev/vdb1

pvcreate /dev/vdb2

pvcreate /dev/vdb3

vgcreate /dev/vdb1 /dev/vdb2 /dev/vdb3

vgcreate wan /dev/vdb1 /dev/vdb2 /dev/vdb3

lvcreate -L 300M -n lv01 wan

将PV的前2048个sector通过dd拷贝出来,用cat查看如下.

假设我们有一块磁盘 /dev/sdb1 作为应用数据盘使用,以此为例创建lvm分区

先创建物理卷PV,命令: pvcreate /dev/sdb1

创建卷组VG,卷组命名为kylin,命令:vgcreate kylin /dev/sdb1

在VG中创建逻辑分区LV,命令:lvcreate -L 30G -n test kylin

创建逻辑分区后,进行格式化,然后便可以挂载使用.

mkfs.ext4 /dev/kylin/test

mount /dev/kylin/test /data

假设我们在上述基础上,又获得一块磁盘/dev/sdc1进行扩容,将磁盘容量增加到LV分区/dev/kylin/test中,具体 *** 作如下.

先创建物理卷PV,命令: pvcreate /dev/sdc1

将/dev/sdc1添加进VG kylin,命令:vgextend kylin /dev/sdc1

增加LV分区容量,命令:lvextend -L +30G /dev/kylin/test

lvm卷组配置备份

lvm的配置信息默认在/etc/lvm/backup、/etc/lvm/archive/两个目录存在备份,当lvm元数据损坏,lvm卷组读取异常时,可通过备份文件进行恢复.

/etc/lvm/backup: 保留了当前配置的备份

/etc/lvm/archive/:保留了每次配置更新前的备份

实例演示

逻辑卷/dev/wan/lv01

在/dev/wan/lv01上创建文件系统

挂载并创建文件

覆盖/dev/vdb1、/dev/vdb2的lvm元数据,并重启系统,vg已不能识别

通过pvcreate命令修复pv header 和metadata数据.

激活逻辑卷

挂载/dev/wan/lv01成功,说明成功修复

每个Linux使用者在安装Linux时都会遇到这样的困境:在为系统分区时,如何精确评估和分配各个硬盘分区的容量,因为系统管理员不但要考虑到当前某个分区需要的容量,还要预见该分区以后可能需要的容量的最大值。如果估计不准确,当遇到某个分区不够用时管理员可能甚至要备份整个系统、清除硬盘、重新对硬盘分区,然后恢复数据到新分区

逻辑卷管理器LVM(Logicl Volume Manager),通过使用逻辑卷管理器对硬盘存储设备进行管理,可以实现硬盘空间的动态划分和调整,而且可以将零碎的空间进行整合

• 物理卷(PV-Physical Volume)

物理卷在逻辑卷管理中处于最底层,它可以是实际物理硬盘上的分区,也可以是整个物理硬盘

• 卷组(VG-Volumne Group)

卷组建立在物理卷之上,一个卷组中至少要包括一个物理卷,在卷组建立之后可动态添加物理卷到卷组中。一个逻辑卷管理系统工程中可以只有一个卷组,也可以拥有多个卷组

• 逻辑卷(LV-Logical Volume)

逻辑卷建立在卷组之上,卷中的未分配空间可以用于建立新的逻辑卷,逻辑卷建立后可以动态地扩展和缩小空间。系统中的多个逻辑卷可以属于同一个卷组,也可以属于不同的多个卷组

逻辑卷管理器和是主分区还是逻辑分区没有关系

vgdisplay 里的PE Size是指逻辑卷的最小单位。假设PE Size是4M;比如我向里写东西。我一个文件可能只占用1B的容量,但是我先占上4M,其他的也是,不足4M我也先占上4M。等到每个块都用了,但是每个块都有剩余位置的时候,会把每个区的剩余位置都拼凑一下,以供使用。但是只要还有没被占用的块,都不会使用用过的块。逻辑卷大小为这个PE Size的整数倍

处在它所在的文件夹的时候是无法卸载的

我现在想创建两个卷组,vg1和vg2。sdc1和sdc2给vg1,sdc3和sdc4给vg2

修改卷组属性,用来设置卷组是否处于活动状态,活跃状态的时候卷组无法被删除,非活动状态的卷组才能被删除掉。VG Status:resizable是表示可被调整大小的状态。lvremove时有可能因为逻辑卷里东西过多导致删除逻辑卷的时候假删除,即逻辑卷没了,但是里面东西还在,这时卷组觉得它里面还有东西,就会处于活跃状态,这时需要↓

接下来resize1要用来做块(逻辑卷)的放大,resize2要用来做块的缩小。设备放大时不论是挂载状态下或非挂载状态下都可以做放大,即在线放大。但是缩小的话设备要是非挂载的状态,即离线缩小

df -lh

发现size大小变小了。之前给的resize1是800M,resize2是784M,这里的大小表示文件系统(filesystem)大小(即这个设备能存多少东西),剩下的容量mkfs,挂载的时候都会损耗一定的容量大小。文件系统大小不会随着块的变大或缩小而改变,需要手动才能改变文件系统大小。

放大要先放大块的大小,再放大文件系统的大小

lvresize -L +200M /dev/vg3/resize1 放大逻辑卷

如果不带+,会出现warning,+时是在原有基础之上加200M,不加+的话就是将现有逻辑卷的大小调整成200M。如果比之前设置的逻辑卷小的话就证明是要将其缩小,会造成数据丢失

resize2fs /dev/vg3/resize1 调整文件系统大小,但是不会管你到底是放大还是缩小,就是将文件系统调整到它可以变大的最大程度

df -lh 看设备容量变大了

缩小的时候要先将文件系统缩小,再缩小逻辑卷的大小

umount /mnt/rs2/

resize2fs /dev/vg3/resize2 700M

出现提示 [请先输入e2fsck -f /dev/vg3/resize2 命令],将处于多个块当中的内容整理到一起,以便进行缩小。但是也不能百分百保证数据不丢失

e2fsck -f /dev/vg3/resize2

resize2fs /dev/vg3/resize2 700M

lvresize -L 700M /dev/vg3/resize2

mount /dev/vg3/resize2 /mnt/rs2/ 重新挂载回来

df -lh 看系统里设备和文件系统挂载的使用情况

发现size变小了,缩小成功

逻辑卷(LVM)它是Linux环境下对磁盘分区进行管理的一种机制,它是建立在物理存储设备之上的一个抽象层,优点在于灵活管理。特点: 1、动在线态扩容 2、离线裁剪 3、数据条带化 4、数据镜像相关特点分析,可以参考黑马程序员社区一个板块都是技术知识。我朋友在黑马学的运维,现在13k16薪。我也正在学习呢。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/8498666.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-17
下一篇2023-04-17

发表评论

登录后才能评论

评论列表(0条)

    保存