什么是逻辑卷管理器lvm?lvm设备的管理

基础概念

为什么使用lvm?
lvm是Linux系统用于对硬盘分区进行管理的一种机制,为了解决硬盘设备在创建分区后不易修改分区大小的缺陷。尽管对传统的硬盘分区进行强制扩容或缩容从理论上讲是可行的。但是却可能造成数据的丢失。LVM技术是在硬盘分区和文件系统之间添加了一个逻辑层,它提供了一个抽象的卷组,可以把多块硬盘进行卷组合并。这样一来,用户不必关心物理设备和底层架构和布局,就可以实现对硬盘分区的动态调整。

  • LVM(Logical Volume Manager)逻辑卷管理器:
    是Linux环境下对磁盘分区进行管理的一种机制,可以动态调整磁盘容量,提高磁盘管理灵活性。本质上是一个虚拟设备驱动,是在内核中块设备和物理设备之间添加的一个新的抽象层次。但是/boot分区必须独立出来,不能基于LVM创建。
  • PV(Physical Volume)物理卷:
    是LVM机制的基本存储设备,处于LVM中的最底层,通常对应一个普通分区或是整个硬盘。创建物理卷时,会在分区或磁盘头部创建一个用于记录LVM属性的保留区块,并把存储空间分割成默认大小为4MB的基本单元(Physical Extend,PE),从而构成物理卷。
  • VG(Volume Group)卷组:
    卷组建立在物理卷之上,是由一个或多个物理卷组成的一个整体。一个LVM系统中可以只有一个卷组,也可以包含多个卷组。可以动态添加、移除物理卷,创建时可以指定PE大小。
  • LV(Logical Volume)逻辑卷:
    建立在卷组之上,与物理卷没有直接关系。格式化后,即可挂载使用。它是最终用户使用的逻辑设备。逻辑卷创建之后,其大小可以伸缩。
  • PE(Physical Extents)物理扩展块:
    PE是LVM最小的存储单位,一般为4MB大小,它是构成VG的基本单位,PE的大小是可以指定的。但PE的大小一旦确定将不能改变,同一个卷组中的所有的物理卷的PE的大小是固定的。
  • LE(logical extent)逻辑块:
    逻辑块是逻辑卷中可用于分配的最小存储单元,逻辑块的大小取决于逻辑卷所在卷组中的物理块的大小(PE和LE的大小是相同的)。一个LV由多个固定大小的LE组成。

简单点说:我们硬盘的分区安装上lvm软件后变成物理卷pv,pe设定了物理卷pv最小存储单元,物理卷pv捆绑到一起叫vg卷组,vg卷组里再划分出来一个设备,设备叫lv逻辑卷,格式化后即可挂载使用。lv逻辑卷没有了从vg卷组里取,vg卷组没有了再划分物理磁盘添加,这样保证了lv空间永远是充足的。

在这里插入图片描述
图源:什么是lvm

lvm设备的建立

第一步:建立物理分区并设定分区type为lvm
fdisk /dev/sda,输入n建立分区
在这里插入图片描述
输入t更改分区类型,然后wq退出保存。最后udevadm settle,同步分区表
在这里插入图片描述
第二步:创建pv
pvcreate /dev/sda1
在这里插入图片描述
第三步:创建vg
vgcreate lcukyvg -s 2M /dev/sda1 ,-s设定最大存储单元pe大小为2M,存储单元越小,划分精度越高,读取速度越慢,最小128KB
vgdisplay查看vg
在这里插入图片描述
第四步:创建lvm
lvcreate -L 100M -n luckylv0 luckyvg ,-L指定大小 -n指定名称
在这里插入图片描述
第五步:格式化
mkfs.xfs /dev/luckyvg/luckylv0
在这里插入图片描述
第六步:挂载
mount /dev/luckyvg/luckylv0 /lucky
在这里插入图片描述
最终结果:
在这里插入图片描述

xfs文件系统下的lvm扩容(不支持缩容)

1. 当vg中的容量充足,lv的不够了

第一步:拉伸lv
`lvextend -L 200M /dev/mapper/luckyvg/luckylv0`
##拉伸设备到200M

在这里插入图片描述
第二步:拉伸文件系统:
xfs_growfs /lucky/
或者
xfs_growfs /dev/luckyvg/luckylv0
##拉伸文件系统,可以用设备或挂载点
在这里插入图片描述

2. 当vg中的容量不足时,添加pv

第一步~第二步见上面lvm设备的建立:划分分区并创建pv
在这里插入图片描述
第三步:对容量不够的vg扩容
vgextend luckyvg /dev/sda2
##将pv物理卷sda2加入到vg卷组中
在这里插入图片描述
第四步:拉伸lv
lvextend -L 1500M /dev/mapper/luckyvg/luckylv0
第五步:拉伸文件系统:
xfs_growfs /lucky/
##刷新文件系统
在这里插入图片描述

EXT4文件系统下的lvm扩容和缩容

扩容

第一步:在上文创建好lvm设备的基础上,卸载并格式化为EXT4文件系统然后再挂载回去
在这里插入图片描述
第二步:拉伸lv和文件系统
lvextend -L 1800M /dev/luckyvg/luckylv0
##拉伸lv到1800M
resize2fs /dev/mapper/westosvg-westoslv
##刷新文件系统
在这里插入图片描述

缩容

第一步:在上文创建好lvm设备的基础上,卸载并检测设备上有多大的数据e2fsck -f /dev/luckyvg/luckylv0
在这里插入图片描述
第二步:缩减文件设备并挂载
resize2fs /dev/luckyvg/luckylv0 500M
##缩到500M
在这里插入图片描述
第三步:缩减lv
lvreduce -L 500M /dev/luckyvg/luckylv0
在这里插入图片描述
第四步:把vg里闲置的pv移走
pvs查看/dev/sda2是空的,可以把这块移走
在这里插入图片描述
vgreduce luckyvg /dev/sda2
##减掉vg
pvremove /dev/sda2
##移走pv的sda2
在这里插入图片描述

如果想移走的pv是有数据的,可以先把数据移动到其他的pv分区里,再减掉vg,移走不要的pv设备
pvmove /dev/sda1 /dev/sda2
##1的数据移到2里
在这里插入图片描述

给lvm设备拍快照

拍快照的目的是在快照上进行操作,不会对原始设备造成损害!
拍快照命令:
lvcreate -L 50M -n luckylv0-backup -s /dev/luckyvg/luckylv0
##L存储更改内容的大小
##快照在/dev/luckyvg/目录下
测试:
第一步:挂载原始lv设备,并进入挂载点创建一些文件,然后卸载
在这里插入图片描述
第二步:拍快照(lvs可以查看到),然后挂载luckylv0-backup这块设备(拍的快照)到之前我们创建文件的目录!!!进入挂载点删掉创建的文件,然后卸载。
##这样我们的操作就是在快照上进行,不会对原始设备造成损害!
在这里插入图片描述

第三步:去掉我们快照的设备lvremove /dev/luckyvg/luckylv0-backup,然后重新对原始硬盘拍快照,然后重新挂载快照设备查看我们之前的文件还在,说明我们的原始设备没有数据没有被删除,测试成功!
在这里插入图片描述

删掉lvm设备

lvm删除:
umount /dev/luckyvg/luckylv0		#如果有快照还挂载着记得也卸载了
lvremove /dev/luckyvg/luckylv0
vgremove /dev/luckyvg
pvremove /dev/sda2 --force --force	#有数据的情况下要加--force --force,强制清空
最后dd if=/dev/zero of=/dev/sda bs=1M count=5覆盖原数据,就是全新的设备了!

在这里插入图片描述

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值