Linux入门|(六)LIinux的高级存储管理(lvm逻辑卷的创建删除及挂载,拉伸与缩减;vdo虚拟数据优化器的建立,挂载,删除)

发布于:2023-01-23 ⋅ 阅读:(218) ⋅ 点赞:(0)

一、lvm逻辑卷

传统的文件系统是基于分区的,一个文件系统对应一个分区。第一,不同的分区相对独立,无相互联系,各分区空间很容易利用不平衡,空间不能充分利用;第二,当一个文件系统/分区已满,无法对其进行扩充,就只能采用重新分区/建立文件系统,或者把分区中的数据迁移到另一个更大的分区中,再或者采用符号连接的方式使用其他分区的空间,十分繁琐。第三,如果要把硬盘上的多个分区合并在一起使用,只能采用再分区的方式,但这个过程需要数据的备份与恢复。
这个时候,我们可以采用LVM(Logical Volume Manager)逻辑卷管理
用通俗易懂的话语讲解,我们可将物理设备(看做橘子),将其处理为pv物理卷(看做橙汁),再将多个pv物理分卷合成vg物理卷组(一大杯橙汁),这个物理卷组不能直接使用,需要将其划分为lvm逻辑卷(卖出去的小杯果汁),格式化成不同的文件系统后,分配给最终使用的设备,挂载后使用。

图解如下:

在这里插入图片描述

名称 解释 用途
pv 物理卷 被处理过的物理分区
pe 物理拓展 设定存储最小单元
vg 物理卷组 捆绑pv到一个组中
lv 逻辑卷 分配最终使用的设备

二、lvm设备的创建及挂载

前置准备:建立监控

开启监控,便于实时查看pv,vg,lv的状态及数据目录的变化

watch -n 1 "pvs;echo ===;vgs;echo ===;lvs;echo ===;df -h /pub/"

1.lvm设备建立

实验过程

(1)首先使用fdisk /dev/sdb 交互式或者 parted脚本式建立物理分区
并设置type为lvm

command (m for help) :t pv
l
8e —> Linux LVM

在这里插入图片描述

(2)使用pvcreate 设备分区创建pv物理卷;
使用vgcreate 物理卷组名字 设备分区 -s pe大小创建vg物理卷组;
使用lvcreate -L 大小 -n 指定名称创建lvm设备
(3)使用mkfs.文件类型 /dev/mapper/vg名称-lv名称 或者mkfs.文件类型 /dev/vg名称/lv名称 格式化为该类型文件系统
(4)挂载该逻辑卷到数据目录中,lvm设备创建完成

pvcreate /dev/sdb1  ##创建pv物理卷
vgcreate westosvg -s 2M /dev/sdb1  ##创建vg物理卷组 -s设定pe大小为2M
lvcreate -L 100M -n westoslv westosvg ##创建lvm -L指定大小 -n指定名称
mkfs.xfs /dev/mapper/westosvg-westoslv ##将lvm格式化为xfs文件系统
mount /dev/westosvg/westoslv /pub/ ##挂载到数据目录中

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

vgdisplay

vgdisplay查看vg的属性信息
在这里插入图片描述同理,还有lvdisplay

2.lvm拉伸

1)vg容量充足

lvm设备创建完成后,将其挂载到数据目录中,此时可以对该逻辑卷物理大小进行拉伸
lvextend -L 拉伸到的大小对逻辑卷物理大小进行拉伸,此时文件系统仍然为原大小
xfs_growfs 挂载点对文件系统进行拉伸

lvextend -L 200M /dev/mapper/westosvg-westoslv ##拉伸设备
xfs_growfs /pub/ ##拉伸文件系统,rhel7中可以使用挂载点或者设备
#rhel8中只能用挂载点
xfs_growfs /dev/mapper/westosvg-westoslv
#或者xfs_growfs /dev/westosvg/westoslv

在这里插入图片描述

2)vg容量不足

在拉伸lvm时,如果指定拉伸大小超出vg剩余容量的时候,无法进行拉伸
在这里插入图片描述

此时需要建立另一个分区,并使fdisk /dev/sdb2将其类型改为Linux LVM
建立pv物理卷
使用vgextend vg名称 新分区将新pv添加进vg
此时可以进行lvm设备的拉伸,拉伸方法同上

划分新分区
pvcreate /dev/sdb2
vgextend westosvg /dev/sdb2
lvextend -L 2500M /dev/westosvg/westoslv
xfs_growfs /dev/westosvg/westoslv ##同上,rehl8.0只能用设备,rehl7可以用挂载点

在这里插入图片描述

3.类型为ext4文件系统拉伸

当类型为ext4而非xfs(拉伸用xfs_growfs)时,使用resize2fs拉伸文件系统

resize2fs /dev/mapper/westosvg-westoslv
或者
resize2fs /dev/westosvg/westoslv

4.lvm缩减

xfs文件系统不支持缩减
ext文件系统才可以缩减

(1)取消挂载,将lvm设备格式化为ecy4文件系统

umount /pub/
mkfs.ext4 /dev/westosvg/westolv

在这里插入图片描述
(2)缩减(顺序反过来)

使用e2fsck -f /dev/vg名称/lv名称扫描空间大小
使用resize2fs /dev/vg名称/lv名称 缩减到的大小缩减文件系统
使用lvreduce -L 缩减到的大小 /dev/vg名称/lv名称缩减物理设备大小
挂载
vgreduce vg名称 分区缩减vg
pvreduce 分区缩减pv


e2fsck -f /dev/westovg/westoslv ##扫描空间大小,以防止缩减出错
resize2fs /dev/westosvg/westoslv 1500M ##缩减文件系统
lvreduce -L 1500M /dev/westosvg/westoslv ##缩减lvm物理设备大小
mount /dev/westosvg/westoslv /pub/
vgreduce westosvg /dev/sdb2
pvremove /dev/sdb2

在这里插入图片描述

5.lvm快照文件

lvm逻辑卷支持快照功能,快照可以保存原始lvm设备里的内容,读取设备的时候是从母盘读取,但写数据会写入快照
所以,我们可以将lvm设备的快照挂载到指定数据目录中,避免在数据目录中执行操作时对原lvm设备的数据造成损坏

lvcreate -s 关键选项,创建snap快照的意思
-L 快照大小的容量
-n 指定名称
-l 指定pe数量

(1)创建快照

lvcreate -L 快照大小的容量 -n
指定名称 -s /dev/vg名称/lv名称

(2)当不小心操作不当,删除部分文件,可恢复快照

取消挂载
lvremove /dev/vg名称/lv快照名称(创建时指定的)
lvcreate -L 50M -n
指定名称 -s /dev/vg名称/lv名称
重新挂载

在这里插入图片描述

5.lvm设备的删除

在这里插入图片描述

pvremove /dev/sdb1 #移除物理卷
lvremove /dev/westosvg/westoslv #移除lvm设备
vgremove /dev/westosvg #移除物理卷组

三、vdo虚拟数据优化器

虚拟数据优化器vdo(Virtual Data Oprimize)可以对数据进行优化压缩处理

1.vdo设备的建立

dnf install vdo -y #此处需要配置本地软件仓库
vdo create --name=westos_vdo1 --device=/dev/sdb
vdo status --name=westos_vdo1 | less ##查看服务是否开启
输入:/Deduplication 
Deduplication: enabled  ##vdo 检测并删除重复数据的功能开启
输入:/Compression
Compression: enabled ##vdo数据压缩功能开启

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

2.挂载vdo设备

前置条件:开启监控

watch -n 1"df -H /westosdir/;echo ===;vdostats --human-readable"

临时挂载

mkfs.xfs -K /dev/mapper/westos_vdo1
mkdir /westos_vdo
mount /dev/mapper/westos_vdo1 /westos_vdo

在这里插入图片描述

永久挂载

编辑文件vim /etc/fstab,设置永久挂载
在这里插入图片描述

3.测试vdo性能

vdosatas --human-readable

4.vdo设备的删除

vdo stop --name 设备名称 ##关闭vdo设备
vdo start --name 设备名称 ##开启vdo设备
vdo remove --name 设备名称 ##移除vdo设备

在这里插入图片描述

本文含有隐藏内容,请 开通VIP 后查看

网站公告

今日签到

点亮在社区的每一天
去签到