VDO(Virtual Data Optimize虚拟数据优化)

news/2024/11/8 18:32:50/

作者:吴业亮
博客:wuyeliang.blog.csdn.net

VDO(Virtual Data Optimize虚拟数据优化):通过压缩或删除存储设备上的数据来优化存储空间
VDO层放置在现有块存储设备例如RAID设备或本地磁盘的顶部。这些块设备也可以是加密设备。存储层(如LVM logic卷和文件系统放置在VDO层的顶部。
VDO按以下顺序将三个阶段应用于数据,减少存储设备上的占用空间

零区块的排除:

在初始化阶段,整块为0的会被元数据记录下来,这个可以用水杯里面的水和沙子混合的例子来解释,使用滤纸(零块排除),把沙子(非零空间)给过滤出来,然后就是下一个阶段的处理

重复数据删除:

在第二阶段,输入的数据会判断是不是冗余数据(在写入之前就判断),这个部分的数据通过UDS内核模块来判断(U niversal D eduplication S ervice),被判断为重复数据的部分不会被写入,然后对元数据进行更新,直接指向原始已经存储的数据块即可

压缩:

一旦消零和重删完成,LZ4压缩会对每个单独的数据块进行处理,然后压缩好的数据块会以固定大小4KB的数据块存储在介质上,由于一个物理块可以包含很多的压缩块,这个也可以加速读取的性能

实验
1、安装VDO模块,需要的软件包是kmod-kvdo vdo

# yum install vdo kmod-kvdo -y
# systemctl start vdo
# systemctl enable vdo

如果内核加载不上需要重启下

2、创建VDO卷

# vdo create --name=vdo1 --device=/dev/sdd --vdoLogicalSize=5G

虚拟数据优化器(VDO)以重复数据删除,压缩和精简配置的形式为Linux提供了内联数据缩减。设置VDO卷时,可以指定要在其上构造VDO卷的块设备以及计划提供的逻辑存储量。

当托管活动的虚拟机或容器时,红帽建议以10:1的逻辑与物理比率配置存储:即,如果您使用1 TB的物理存储,则将其表示为10 TB的逻辑存储。
对于对象存储(例如Ceph提供的类型),Red Hat建议使用3:1的逻辑与物理比率:也就是说,将1 TB的物理存储表示为3 TB的逻辑存储。

3、分析一个VDO卷(deduplication重复删除数据 compression压缩)

# vdo status --name=vdo1

4、给vdo1一个xfs文件系统,之后挂载到/mnt/vdo1上

#mkfs.xfs -K /dev/mapper/vdo1

-K选项可防止立即丢弃文件系统中未使用的块,从而使命令返回更快

刷新存储设备

# udevadm settle
#mkdir /mnt/vod1
vdostats

挂载使用

#mount /dev/mapper/vdo1 /mnt/vdo1/

5、使用vdostats命令查看卷的初始统计信息和状态

# vdostats --human-readableDevice Size Used Available Use% Space saving%/dev/mapper/vdo1 8.0G 4.0G 4.0G 50% 98%

6、创建文件

# cp /run/media/root/RHEL-8-0-0-BaseOS-x86_64/images/install.img /root/install.img

7、移动文件到挂载点中,然后看一下结果

#mv /root/install.img /mnt/install.1.img# vdostats --human-readableDevice Size Used Available Use% Space saving%/dev/mapper/vdo1 8.0G 4.4G 3.6G 54% 73%

8、重新复制一遍

# cp /root/install.img /mnt/vdo1/install.2.img# vdostats --human-readableDevice Size Used Available Use% Space saving%/dev/mapper/vdo1 8.0G 4.4G 3.6G 55% 70%

总结:会发现传一个相同的文件,但是空间并不会发生变化。


http://www.ppmy.cn/news/428011.html

相关文章

DO、DTO和VO分别是什么?

在Java中,DO、DTO和VO分别表示数据对象(Data Object)、数据传输对象(Data Transfer Object)和值对象(Value Object),它们有以下区别: 1. DO(数据对象&#x…

三、Docker的基本组成和常用命令(一)

文章目录 Docker的基本组成镜像(image)容器(container)仓库(repository)总结 Docker的常用命令帮助命令镜像命令docker imagesdocker searchdocker pulldocker rmi Docker的基本组成 镜像(image) Docker 镜像(Image)就是一个只读的模板。镜像可以用来创…

如何构建LAMP平台:Apache,MySQL,PHP

如何构建LAMP平台:Apache,MySQL,PHP 一、Apache网站服务:1. Apache的起源(多系统兼容):2.重要特点:3.软件版本:4.编译安装呢http服务器: 二、LAMP简介与概述&…

我是一名普通机器视觉工程师,胸无大志又何妨,平平淡淡又怎样!最终归宿,看大门,放放羊!

康耐视智能相机Insight-缺陷检测 我平常写文章经常把一句话写在文章中: 对于年轻人来说,需要工作,更需要生活。 对于年轻人来说,需要努力,更需要“面包”。 对于年轻人来说,需要规划,更需要发展。 如果不是你想要的,你可以尽快花上一段时间调整下自己,但是时间不要…

C高级 day35

1、ubuntu的网络配置 1、查看网络是否连接 ping baidu.com 2、保证虚拟机有桥接网络 虚拟机---->设置---->网络适配器------>选择桥接或者是Vmnet0 给虚拟机添加桥接网络,如果没有vmnet0,添加网络 3、配置虚拟机的桥接网络 右上角网络图标-----…

python 妙笔生花

1.学习编程好处 最主要的好处就是,思考问题的方式变得更加具有逻辑性。 日常我们敲代码时,需要思考每一行的代码执行效果,它就需要认真设计每行代码可用性。如果在设计上发生错误,在代码执行时就会报错。还能做到 触类旁通。 古语有云: 有道无术,术可求,有术无道,止于术…

道闸系统服务器内存不足,停车场智能道闸系统 常见问题及解决方案

停车场智能道闸系统一般是口控制机、出口控制机、智能道闸、地感线圈、余位显示屏、图象识别设备、系统软件、管理工作站等这些设备组成的,所以哪方面出了问题,就可以从哪方面着手解决。下面为大家带来停车场智能道闸系统常见问题及解决方法 。 停车场智…