码迷,mamicode.com
首页 > 其他好文 > 详细

21、【华为HCIE-Storage】--Smart dudepe & Compression

时间:2018-04-05 11:36:36      阅读:222      评论:0      收藏:0      [点我收藏+]

标签:HCIE   storage   hostman   

------------------------------------重要说明------------------------------------

以下部分内容来网络,部分自华为存储官方教材

具体教材内容请移步华为存储官网进行教材下载

    网络引用内容无法找到原创,如有侵权请通知

------------------------------------重要说明------------------------------------


① 定义

华为技术有限公司开发的SmartDedupe&SmartCompressoion特性又叫智能数据重删压缩特性。

SmartDedupe&SmartCompression特性包含重复数据删除和数据压缩两种特性

重复数据删除特性( SmartDedupe)是一种数据缩减技术,通过删除存储系统中的冗余数据块,减少数据占用的物理存储容量,从而满足日益增长的数据存储需求。 OceanStor 5300 V3/5500 V3/5600 V3/5800 V3/6800 V3存储系统支持的是在线重复数据删除,即只对新写入的数据进行重删处理。

数据压缩特性( SmartCompression)是指在不丢失信息的前提下,通过对数据进行重新组织,缩减数据量以减少存储空间,提高存储系统的传输、处理和存储效率。 OceanStor 5300 V3/5500 V3/5600 V3/5800 V3/6800 V3存储系统支持的是在线压缩,即只对新写入的数据进行压缩处理。

OceanStor 5300 V3/5500 V3/5600 V3/5800 V3/6800 V3存储系统中,只有thin LUN才支持SmartDedupe&SmartCompressoion特性,请确保SmartThin特性的License文件可用。

技术分享图片

重复数据删除和数据压缩是存储业界常用的数据缩减技术,旨在减少冗余数据占用的存储空间,提高存储系统的传输、处理和存储效率。

技术分享图片

ROW (Redirect On Write 重定向写),每次写入的数据都分配新的存储空间来保存,不直接覆盖之前写入的数据, ROW LUN其实质是一个Thin LUN,只是在每次写入数据时都按照ROW的形式实现。

重删压缩模块位于文件系统模块之下。重删的数据块大小和文件系统的数据块大小保持一致( 4KB~64KB);压缩时,会动态的根据数据块大小选择是否进行合并压缩,以提高数据压缩率。

② 相关概念

重删数据块大小:用于指定存储系统进行重删的粒度。重删数据块的大小与thinLUN的分配单元大小一致。根据业务需要,用户可以在CLI( Command LineInterface)下运行create lun命令,通过grain_size参数为thin LUN设置不同的分配单元大小。

压缩数据块大小:用于指定存储系统进行压缩的粒度。存储系统基于新写入LUN的数据块大小进行智能合并压缩。

定长重删:重删过程中,存储系统按照相同的重删数据块大小对写入LUN的数据进行重删。

哈希算法:校验数据块一致性的方法。通过该方法,可以计算出数据块的指纹信息(指纹信息是一个固定长度的二进制数值,与人的指纹类似,可以看成是每个数据块的唯一标识)。当多个数据块的指纹信息一致时,存储系统会认为这些数据块是重复的。

逐字节比较策略:查找重复数据块时,对哈希算法的补充校验方法。当采用逐字节比较策略时,存储系统除了要对比指纹,还需要逐字节比较数据块中的数据。

业界重复数据删除的类型

部署位置的不同,重复数据删除可分为源端重复数据删除和目标端重复数据删除。源端重复数据删除是先删除重复数据,再将数据传到备份设备。目标端重复数据删除是先将数据传到备份设备,存储时再删除重复数据。

检查重复数据的算法不同,重复数据删除可以分为对象/文件级和块级的重复数据删除。对象级的重复数据删除保证文件不重复。块级重复数据删除则将文件分成数据块进行比较。

切分数据块方法的不同,又可分为定长块和变长块的重复数据删除技术。变长块的重复数据删除,数据块的长度是变动的。定长块的重复数据删除,数据块的长度是固定的。

是否在线不同,可以分为在线重删和后处理重删。

 

③ 在线重删流程

OceanStor 5300 V3/5500 V3/5600 V3/5800 V3/6800 V3存储系统实现了在线重删,仅对新写入的数据进行重复数据删除处理。对LUN开启重复数据删除功能后,存储系统会将新写入的数据块与该LUN中原有的数据块进行对比,如果识别出重复数据块,存储系统会删除新写入的数据块,并将被删除数据的存储位置修改为存储系统中原有数据块的位置。

技术分享图片

存储系统利用哈希算法计算新写入数据块的指纹信息。数据块的划分粒度与thinLUN的分配单元大小一致,且每次重删处理的数据块大小保持一致,实现定长重删。

通过指纹信息对比新写入数据块与原有数据块是否重复。

– 是 => 存储系统认为新写入的数据块与原有数据块重复,删除该数据块,并将

该数据块的存储位置指向原有数据块的存储位置。

– 否 => 存储系统认为新写入的数据是一个新数据块,将新数据块写入硬盘

例如, LUN中原有数据为A和B。应用服务器写入数据块C和数据块D,数据块C和数据块D与原有数据的比较结果如表所示。采用不同的数据重删策略时,数据重删处理结果示意图如图所示。

技术分享图片

技术分享图片

④ 在线重删原理-数据写入

 

技术分享图片

1、按照文件系统的写入块大小将待写入的数据分割成多个长度相同的数据块。

2、为每个待重删的数据块使用SHA1算法计算指纹。

3、将该指纹在系统指纹库中进行查找比对,如果存在相同的指纹库,则说明为重复块,就不保存该数据;如果不存在相同的数据块,则说明为唯一块,需要保存该数据块。

4、存在相同指纹之后,可以进一步比较数据是否相同,如果相同,则说明待重删数据块为重复块;如果不相同,则说明该数据块为唯一块;对唯一块需要申请存储空间进行保存,在保存之前先对该数据块执行压缩操作。

重删压缩处理流程包括如下部分,数据分块、指纹计算、指纹查找、数据压缩/解压缩、数据保存;其中,指纹计算、 数据压缩/解压缩比较消耗计算资源。为了减少重删压缩消耗的计算资源,将上述操作卸载到硬件加速卡上执行。

⑤ 数据压缩原理-智能压缩

在数据进行压缩之前,将属于同一压缩对象(例如文件、LUN)的逻辑地址连续的多个数据块合并到一起进行压缩,以获取更高的压缩率。

技术分享图片

技术分享图片 


两种压缩策略:Fast、Deep

a.  Fast

Fast策略是系统默认使用的压缩算法。该算法压缩速度快,但与Deep策略相比压缩后空间节省效率低一些。

b.  Deep

Deep策略可以获得空间节省效率的明显提升,但压缩和解压需要花费更长的时间。

⑥ 重删压缩数据读取流程

上层模块将读数据请求传入重删压缩模块,其中包含本次读操作对应的地址及该地址对应的数据是否经过压缩的标志。

读取该地址对应的数据。

如果该数据标记为经过压缩,同时系统中存在重删压缩加速卡,则将该压缩数据传输到该加速卡上进行解压缩;如果加速卡不存在,则直接利用存储系统自身的CPU进行解压缩;将解压缩之后的数据返回上层模块。

如果该数据标记为未经过压缩,则直接将该数据返回上层模块。

⑦ 应用场景

a.  重复数据删除应用场景

VDI( Virtual Desktop Infrastructure)应用是重复数据删除常见的应用场景。在VDI应用中,用户会在一台存储设备上创建多个虚拟镜像,这些镜像之间会存在大量的重复数据。当重复数据逐渐增多,存储系统的空间将无法满足业务运行的需求。通过使用重复数据删除特性,将各个镜像间重复的数据删除,释放存储资源,用于存储更多的业务数据。

b.  数据压缩应用场景

数据压缩处理会占用系统额外的CPU资源,存储系统压缩处理的数据量越大,开销越大。

数据库

数据库是数据压缩的最佳应用场景。数据库中需要存储的数据较多,许多用户愿意以存储系统略微的业务性能影响换来65%以上的存储空间节省。

文件服务

文件服务也是数据压缩常见的应用场景。在繁忙状态时间约占50%且数据集可压缩率为50%的文件服务系统中,启用数据压缩后, IOPS( Input/Output Operations Per Second)有轻微下降。

工程数据、地震地质数据

工程数据、地震地质数据的特点与数据库备份类似,这些数据的存储格式相同,但数据间相似度较低,通过数据压缩可以实现存储空间节省。

⑧ SmartDedupe&SmartCompression 配置流程

技术分享图片 

技术分享图片 



21、【华为HCIE-Storage】--Smart dudepe & Compression

标签:HCIE   storage   hostman   

原文地址:http://blog.51cto.com/hostman/2094963

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!