RHCE-vdo卷案例、分层存储

VDO会按以下顺序对数据实施三个阶段的处理,以减少存储设备上的空间占用:
1.零块消除将过滤掉仅包含零(0)的数据块,且仅在元数据中记录这些块的信息。非零数据块隨即被传递到下一个处理阶段。该阶段将启用VDO设备中的精简配置功能。(整块为0的会被元数据记录下来,这个可以用水杯里面的水和沙子混合的例子来解释,使用滤纸(零块排除),把沙子(非零空间)给过滤出来,然后就是下一个阶段的处理重复数据删除:)
2.重复数据删除将去除冗余的数据块。在创建相同数据的多个副本时,VDO 会检测重复数据块并更新元数据,以便使用这些重复块来引用原始数据块,而不会创建冗余数据块。通用重复数据删除服务(UDS)内核模块将通过其维护的元数据来检查数据的冗余。该内核模块是作为VDO的一部分而提供的。
3.最后一个阶段是压缩。 kvdo 内核模块使用LZ4压缩对块进行压缩,并以4 KB块进行分组。

使用vdo删除重复数据

创建VDO卷(磁盘sdd大小5G,比例3:1)
1.安装vdo:yum install kmod-kvdo -y
2.创建vdo卷:
[root@localhost ~]# vdo create --name=vdo1 --device=/dev/sdd --vdoLogicalSize=15G
在这里插入图片描述
3.分析vdo1卷(deduplication重复删除数据 compression压缩)
[root@localhost ~]# vdo status --name=vdo1
[root@localhost ~]# vdo status --name=vdo1 | grep Deduplication
[root@localhost ~]# vdo status --name=vdo1 | grep Compression
在这里插入图片描述
这里看到 Deduplication(删除重复数据)和Compression(压缩存储)功能是激活状态的
4.给vdo1一个xfs文件系统
[root@localhost ~]# mkfs.xfs -K /dev/mapper/vdo1(-K选项可防止立即丢弃文件系统中文使用的块,从而使命令返回更快)
在这里插入图片描述
5.使用udevadm命令注册新设备节点
[root@localhost ~]# udevadm settle
6.创建挂载目录并挂载使用
[root@localhost ~]# mkdir /mnt/vdo1
[root@localhost ~]# mount /dev/mapper/vdo1 /mnt/vdo1/
7.使用vdostats命令查看卷的初始统计信息和状态
[root@localhost ~]# vdostats --human-readable
在这里插入图片描述
8.将一个文件复制到挂载点中,查看结果
[root@localhost ~]# cp /run/media/root/RHEL-8-0-0-BaseOS-x86_64/images/install.img /mnt/vdo1/
[root@localhost ~]# vdostats --human-readable
在这里插入图片描述
**9.在重新复制一遍,再次查看结果(在挂载目录下创建一个子目录,将复制的文件放在挂载目录下的一个子目录中)
[root@localhost ~]# cp /run/media/root/RHEL-8-0-0-BaseOS-x86_64/images/install.img /mnt/vdo1/1
[root@localhost ~]# vdostats --human-readable
在这里插入图片描述
这里能看到复制相同数据,并不会再次占用空间,这就是使用了VDO的删除重复数据功能

需要删除vdo卷时需要先取消挂载,在删除vdo卷:
[root@localhost ~]# umount /mnt/vdo1
[root@localhost ~]# vdo remove --name=vdo1

分层存储Stratis

是一个卷管理文件系统volume-managing filesystem(VMF)
Stratis是本地存储管理器,Stratis 有三个概念:blockdevs、池和文件系统。 Blockdevs 是组成池的块设备,例如磁盘或磁盘分区,优点

  • 管理快照和精简配置
  • 根据需要自动增加文件系统的大小
  • 维护文件系统

案例:通过分层存储创建文件系统,确保文件可以正常存放文件
1.安装Stratis:yum install stratisd stratis-cli
2.重启stratisd:systemctl restart stratisd
3.创建存储池
[root@localhost ~]# stratis pool create pool2 /dev/sdd
4.查看存储池
[root@localhost ~]# stratis pool list
在这里插入图片描述
5.给存储池创建文件系统
[root@localhost ~]# stratis filesystem create pool2 fs2
6.再次查看存储池
[root@localhost ~]# stratis fs list
在这里插入图片描述
7.创建挂载目录并挂载使用
[root@localhost ~]# mkdir /test/pool2
[root@localhost ~]# mount /stratis/pool2/fs2 /test/pool2/
在这里插入图片描述
8.将系统日志同步到当前存储池中
[root@localhost ~]# cp /var/log/* /test/pool2/
在这里插入图片描述
9.摧毁池,首先需要取消挂载,在摧毁文件系统,最后才能摧毁存储池
[root@localhost ~]# umount /test/pool2
[root@localhost ~]# stratis fs destroy pool2 fs2
[root@localhost ~]# stratis pool destroy pool2
在这里插入图片描述
可以看到取消挂载后,先摧毁文件系统查看存储池状态,新创建的fs2不在了,在执行摧毁存储池命令后,新创建的pool2存储池不在了。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值