(linux基础15)linux下关于不讲武德的LVM逻辑卷学习

LVM逻辑卷


一.逻辑卷含义

LVM(Logical Volume Manager)可以让分区变得弹性,可以随时随地的扩大和缩小分区大小,前提是该分区是LVM格式的。

lvm需要使用的软件包为lvm2,一般在CentOS发行版中都已经预安装了。

PV(Physical Volume)即物理卷

硬盘分区后(还未格式化为文件系统)使用pvcreate命令可以将分区创建为pv,要求分区的system ID为8e,即为LVM格式的系统标识符。

VG(Volume Group)即卷组

将多个PV组合起来,使用vgcreate命令创建成卷组,这样卷组包含了多个PV就比较大了,相当于重新整合了多个分区后得到的磁盘。虽然VG是整合多个PV的,但是创建VG时会将VG所有的空间根据指定的PE大小划分为多个PE,在LVM模式下的存储都以PE为单元,类似于文件系统的Block。

PE(Physical Extend)

PE是VG中的存储单元。实际存储的数据都是存储在这里面的。

LV(Logical Volume)

VG相当于整合过的硬盘,那么LV就相当于分区,只不过该分区是通过VG来划分的。VG中有很多PE单元,可以指定将多少个PE划分给一个LV,也可以直接指定大小(如多少兆)来划分。划分为LV之后就相当于划分了分区,只需再对LV进行格式化即可变成普通的文件系统。

通俗地讲,非LVM管理的分区步骤是将硬盘分区,然后将分区格式化为文件系统。而使用LVM,则是在硬盘分区为特定的LVM标识符的分区后将其转变为LVM可管理的PV,其实PV仍然类似于分区,然后将几个PV整合为类似于磁盘的VG,最后划分VG为LV,此时LV就成了LVM可管理的分区,只需再对其格式化即可成为文件系统。

LE(logical extent)

PE是物理存储单元,而LE则是逻辑存储单元,也即为lv中的逻辑存储单元,和pe的大小是一样的。从vg中划分lv,实际上是从vg中划分vg中的pe,只不过划分lv后它不再称为pe,而是成为le。

LVM之所以能够伸缩容量,其实现的方法就是将LV里空闲的PE移出,或向LV中添加空闲的PE。
LVM的写入机制

LV是从VG中划分出来的,LV中的PE很可能来自于多个PV。在向LV存储数据时,有多种存储机制,其中两种是:

  1. 线性模式(linear):先写完来自于同一个PV的PE,再写来自于下一个PV的PE。
  2. 条带模式(striped):一份数据拆分成多份,分别写入该LV对应的每个PV中,所以读写性能较好,类似于RAID 0。

尽管striped读写性能较好也不建议使用该模式,因为lvm的着重点在于弹性容量扩展而非性能,要实现性能应该使用RAID来实现,而且使用striped模式时要进行容量的扩展和收缩将比较麻烦。默认的是使用线性模式。

逻辑卷含义
pv物理卷,被处理过的物理分区
pe物理扩展,设定存储最小单元
vg物理卷组,捆绑pv到一个组中
lv逻辑卷,分配最终的使用设备
                          **注:lvm中的容量是pe的整数倍**

二.实验环境

  1. 虚拟机node1下准备一个硬盘(mbr),大小随意,我之前是20G
    在这里插入图片描述

  2. 分一个或两个lvm格式的分区,ID为8e
    在这里插入图片描述

  3. 开一个终端监控lvm加盘过程,到此实验环境就有了,接下来理解下lvm的图解

在这里插入图片描述

在这里插入图片描述

三.利用图形理解LVM

在这里插入图片描述

四.LVM设备建立

建立物理分区并设定分区type为lvm(创建实验环境时已经完成)

命令与步骤:
pvcreate  /dev/vdb2                     创建pv
pvcreate  /dev/vdb3                     创建pv
gcreate vg0 -s 2M /dev/vdb2             创建vg   -s代表设定pe大小位2M
lvcreate -L 100M -n lv0 vg0             创建lvm -L指定大小 -n指定名称
mkfs.xfs /dev/westosvg/westoslv         格式化
mount  /dev/vg0/lv0   /wechatdata       挂载

打开另一个终端
在这里插入图片描述在这里插入图片描述
在这里插入图片描述

五.LVM拉伸与缩减

5.1.lvm拉伸

当vg中的容量充足才能拉伸

  1. 查看vg容量:
    命令:vgs
    在这里插入图片描述
  2. 拉伸实验(xfs文件系统只可以拉伸,不可以缩减)
-xfs文件系统格式使用下面命令
lvextend  -L 200M /dev/vg0/lv0           拉伸设备
xfs_growfs  /wechatdata	                 拉伸文件系统,rhel7中可以用设备或挂载点。
                                                      rhel8中只能用挂载点

-ext4格式文件系统
umount /wechatdata                       格式化文件系统需要先卸载
mkfs.ext4 /dev/vg0/lv0                   格式化成ext4格式
mount /dev/vg0/lv0 /wechatdata           挂载
lvextend -L 1024M /dev/vg0/lv0           拉伸文件设备
resize2fs   /dev/vg0/lv0                 扩展文件系统

在这里插入图片描述在这里插入图片描述在这里插入图片描述

5.2.lvm缩减(只针对非xfs格式,这里用ext4格式)

xfs文件系统不支持容量缩减,所以想要缩减最开始做文件系统就不要做xfs,可以做成ext文件系统。

umount /westosdir                        解除挂载
mkfs.ext4 /dev/vg0/lv0                   格式化成ext4格式,是ext系统可以忽略。
e2fsck -f /dev/westosvg/westoslv         扫描一下文件系统
resize2fs   /dev/westosvg/westoslv  800M 原来1700到800M,缩减文件系统
mount /dev/westosvg/westoslv /westosdir  挂载
lvreduce -L 800M /dev/westosvg/westoslv  缩减设备文件

在这里插入图片描述在这里插入图片描述

六.LVM文件移动(必须是两个硬盘都是同一个vg下的pv)

pvmove /dev/vdb1 /dev/vdb2        移动文件内容

移动前:
在这里插入图片描述
移动中:
在这里插入图片描述
移动后:
在这里插入图片描述

七.LVM快照

lvcreate -L 20M -n westos-back -s /dev/westosvg/westoslv
L指定快照大小      n 指定快照名称    s指定照的对象

在这里插入图片描述
在这里插入图片描述

八.删除设备

首先要保证所有设备都没有被挂载

lvremove  /dev/westosvg/westoslv    删除lvm设备
vgremove westosvg                   删除vg
pvremove /dev/vdb1                  删除pv
fdisk /dev/vdb                      删除硬盘LVM分区

在这里插入图片描述在这里插入图片描述在这里插入图片描述
在这里插入图片描述



努力-奋斗
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值