(六)Linux中的高级存储管理 2021-11-12

前言

当系统中数据量超过单块硬盘的存储容量,仅仅通过添加存储硬件是无法解决该问题的,因为当另一个硬件设备挂载到系统中时,原来的将会被卸载,因此达不到扩展存储空间的目的。

LVM程序能够解决这个问题,它能够将不同硬件设备的存储空间连接到一起从而能被系统正常使用,就如同将两个橘子榨成汁融合在一起,两个橘子就相当于两块不同的硬盘,想喝多少果汁,就从LVM里面倒出多少

一、LVM逻辑卷管理

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

为了直观感受实验的每一步结果,先建立监控过程

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

(六)Linux中的高级存储管理 2021-11-12_第1张图片

1、LVM设备建立

步骤:

1)建立物理分区并设定分区type为lvm
(六)Linux中的高级存储管理 2021-11-12_第2张图片
(六)Linux中的高级存储管理 2021-11-12_第3张图片
(六)Linux中的高级存储管理 2021-11-12_第4张图片
(六)Linux中的高级存储管理 2021-11-12_第5张图片
(六)Linux中的高级存储管理 2021-11-12_第6张图片
在这里插入图片描述
(六)Linux中的高级存储管理 2021-11-12_第7张图片
2)pvcreate /dev/设备名 #创建pv
(六)Linux中的高级存储管理 2021-11-12_第8张图片
3)vgcreate vg0 -s 2M /dev/设备名 #创建vg,-s设定pe大小位2M
(六)Linux中的高级存储管理 2021-11-12_第9张图片
(六)Linux中的高级存储管理 2021-11-12_第10张图片
(六)Linux中的高级存储管理 2021-11-12_第11张图片
(六)Linux中的高级存储管理 2021-11-12_第12张图片
4)lvcreate -L 200M -n lv0 vg0 #创建lvm,-L指定大小 -n指定名称
(六)Linux中的高级存储管理 2021-11-12_第13张图片
5)格式化,以下两个命令中的目录其实意义一样
mkfs.xfs /dev/mapper/vg0-lv0
mkfs.xfs /dev/vg0/lv0
在这里插入图片描述
(六)Linux中的高级存储管理 2021-11-12_第14张图片
6)mount /dev/vg0/lv0 /指定挂载目录/ #挂载
(六)Linux中的高级存储管理 2021-11-12_第15张图片

2、LVM拉伸

1)当vg中容量还充足

a)当文件系统为xfs时

拉伸设备:

	lvextend -L 500M /dev/mapper/vg0-lv0

(六)Linux中的高级存储管理 2021-11-12_第16张图片 拉伸文件系统: (在rhel7中可以用设备或挂载点)二选一

xfs_growfs /data
xfs_growfs /dev/vg0/lv0

(六)Linux中的高级存储管理 2021-11-12_第17张图片

b)当文件系统为ext时

重新设置文件系统格式
(六)Linux中的高级存储管理 2021-11-12_第18张图片 (六)Linux中的高级存储管理 2021-11-12_第19张图片
在这里插入图片描述
拉伸设备:

lvextend -L 800M /dev/mapper/vg0-lv0

(六)Linux中的高级存储管理 2021-11-12_第20张图片
拉伸文件系统:
#在rhel8.0中只能用挂载点

resize2fs /dev/mapper/vg0-lv0

(六)Linux中的高级存储管理 2021-11-12_第21张图片

2)当vg中容量不足

a)划分第二个分区

(六)Linux中的高级存储管理 2021-11-12_第22张图片
(六)Linux中的高级存储管理 2021-11-12_第23张图片
在这里插入图片描述

b)pvcreate /dev/设备名

(六)Linux中的高级存储管理 2021-11-12_第24张图片

c)vgextend vg0 /dev/设备名

(六)Linux中的高级存储管理 2021-11-12_第25张图片

d)lvextend -L 1500M /dev/vg0/lv0 #指定扩展大小

在这里插入图片描述

e)resize2fs /dev/mapper/vg0-lv0 (之前已经设置系统文件格式为ext)

(六)Linux中的高级存储管理 2021-11-12_第26张图片

3、LVM缩减

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

    mkfs.ext4 /dev/vg0/lv0 #之前已经做过就不用重复
    

缩减步骤:

1)卸掉挂载文件

umount /data/

2)e2fsck -f /dev/vg0/lv0
(六)Linux中的高级存储管理 2021-11-12_第27张图片
3)与拉伸顺序相反,先缩减系统文件

resize2fs /dev/vg0/lv0 100M

在这里插入图片描述
4)缩减lv
(六)Linux中的高级存储管理 2021-11-12_第28张图片
5)挂载文件

mount /dev/vg0/lv0 /data/

(六)Linux中的高级存储管理 2021-11-12_第29张图片
6)vgreduce vg0 /dev/vdb2
(六)Linux中的高级存储管理 2021-11-12_第30张图片
补充:此时vdb1是在被使用中,若是想卸下vdb1而不是vdb2的话,需要先将vbd1中占用的空间移动到vbd2中,从而释放vdb1的空间

pvmove /dev/vdb1 /dev/vdb2

(六)Linux中的高级存储管理 2021-11-12_第31张图片
(六)Linux中的高级存储管理 2021-11-12_第32张图片
(六)Linux中的高级存储管理 2021-11-12_第33张图片
7)pvremove /dev/设备名
在第6)步中,卸下哪个vbd,就可以移除掉哪个vdb

4、LVM快照建立

1)生成实验素材
在这里插入图片描述
2)卸载LVM设备挂载

umount  /data

3)生成LVM快照

lvcreate -L 30M -n lv0-backup -s /dev/vg0/lv0

在这里插入图片描述
4)挂载LVM快照

mount /dev/vg0/lv0-backup /data

5)删掉/data下文件
(六)Linux中的高级存储管理 2021-11-12_第34张图片
6)取消快照挂载,删除这个快照并建立新的快照之后再次挂载查看文件
(六)Linux中的高级存储管理 2021-11-12_第35张图片

5、LVM删除

按如下顺序

umount /dev/mapper/vg0-lv0
lvremove /dev/vg0/lv0
vgremove vg0
pvremove /dev/vdb1
pvremove /dev/vdb2

(六)Linux中的高级存储管理 2021-11-12_第36张图片
将vdb硬盘回归原始状态
在这里插入图片描述
(六)Linux中的高级存储管理 2021-11-12_第37张图片

二、vdo(Virtual Data Optimize)虚拟数据优化器

1、vdo设备建立

若没有安装vdo

dnf search vdo
dnf install vdo -y

vdo create --name=vdo设备名 --device=/dev/设备名(硬盘)
(六)Linux中的高级存储管理 2021-11-12_第38张图片

vdo status --name=vdo设备名 | less
在这里插入图片描述
在less中 按/+关键字搜索
其中:

Deduplication: enabled vdo检测并删除重复数据的功能时开启
Compression: enabled vdo数据压缩功能开启

2、vdo设备使用

mkfs.xfs  -K /dev/mapper/vdo设备名   #格式化vdo设备的文件系统为xfs
mkdir /data                     #创建一个目录用于挂载vdo设备
mount /dev/mapper/vdo设备名 /指定目录 #挂载vdo设备到指定目录
这里vdo设备名是westos_vdo1

(六)Linux中的高级存储管理 2021-11-12_第39张图片
在这里插入图片描述

3、测试vdo性能

vdostats --human-readable     %查看vdo设备信息
用wacth命令监控
watch -n 1 “vdostats --human-readable”

在这里插入图片描述
在真机中两次复制同一文件到vdo设备中,第一次用原文件名,第二次同样的文件重命名为test.img
(六)Linux中的高级存储管理 2021-11-12_第40张图片
(六)Linux中的高级存储管理 2021-11-12_第41张图片
可以看到设备内存在第二次发送后没有变化,只有saving变为50%说明两个文件内容重复,但也都保留了下来
在这里插入图片描述

4、vdo设备设置开机挂载

(六)Linux中的高级存储管理 2021-11-12_第42张图片
修改完文件后重启

reboot

(六)Linux中的高级存储管理 2021-11-12_第43张图片

5、vdo设备的删除

1、umount  /dev/mapper/westos_vdo1
2、vdo stop --name westos_vdo1
3、vdo remove --name westos_vdo1

在这里插入图片描述
(六)Linux中的高级存储管理 2021-11-12_第44张图片

你可能感兴趣的:(linux,运维,服务器)