↧
新一代VNX软件架构 - 数据块级重复数据删除
转载请在文首保留原文出处:EMC中文支持论坛- https://community.emc.com/go/chinese
数据块级的重复数据删除(Block Deduplication)是新一代VNX新加入的功能(原先仅支持文件级别的重复数据删除)。简单来说,重复数据删除(又称数据消重)就是确认存储对象中的数据是否重复,并将它们合并后只保留一份实际的数据拷贝的过程。这一功能可以极大程度节省存储空间(取决于不同的数据特征)。本文将介绍新一代VNX数据块级重复数据删除的技术细节,更多关于新一代VNX的其他改进,请继续关注论坛文章!
功能概述:
新一代VNX的数据块级消重技术使用8KB大小的数据块(chunk)作为判断和压缩的最小数据单元:
第一份8KB的数据会被保留在Pool中,其他的则会被删除。含有重复数据chunk的LUN会将地址指向到Pool中含有剩余那份数据的地址。
如果有写操作进入因重复的数据块而被释放空间的地址,系统会将数据写入一个新的地址,而共享的重复数据指针将不再使用。系统会在下一个检查周期判断新写入的数据是否需要消重。
工作原理:
VNX的数据块消重可以在每一个Pool上启用。如果需要对一个传统RAID group LUN启用消重,用户必须先将其迁移至存储池(storage pool)。一旦启用消重后,LUN会被迁移至消重容器(Deduplication Container)中。迁移完成后,LUN会变成Thin LUN。消重容器是Pool中的私有空间,目前最大支持到1PB。当Pool中第一个LUN启用消重时它被创建,当最后一个LUN被禁用消重后它会被删除。每一个存储池最多只能由一个消重容器。没有启用消重的LUN可以和启用了消重的LUN共存在同一个Pool中。
VNX消重进程在后台运行,基于12小时的周期。同一时间每一个SP只能运行3个消重进程,如果SP上的消重进程超过3个,那就会按照轮询(round robin)的方式运行。。当一个消重进程允许运行时,它会检查Pool中是否已经有64GB的新或者更新过的数据。如果新数据不到64GB,这个进程就会继续等待12小时。如果新数据达到了64GB,这些数据会被分割成8KB的数据块(chunk)。基于这些chunk,会有专门的算法来判断是否存在重复的部分。
启用方法:
Unisphere GUI和Navisphere CLI(NaviSecCLI)都可以在LUN上启用数据消重。图形界面上启用的方法如下,如果是NaviSecCLI,需要安装最新版的Navisphere CLI工具,相关命令参数是deduplication(显示消重信息)和lun -modify(启用或禁用消重)。
创建LUN时启用:
创建后再启用:
同时选择多个LUN再启用:
限制和性能影响
数据块消重时在后台运行,以避免对SP 整体性能的影响。不过同一时间一个SP只有3个消重进程在运行,因此如果急于要对多个LUN进行消重时,注意这些LUN在SP上的分布。启用了消重的LUN的读性能和Thin LUN一样,写性能由于会有一些额外的消耗,因此和VNX Snapshots类似。根据性能需求,用户可以在Pool或者整个阵列上暂停消重功能。如果需要调整消重的进度,用户还可以设置高、中(默认等级)、低3种不同的消重速率(Deduplication rate):
EMC建议在使用数据消重时同时启用FAST Cache和FAST VP以最大化这些功能的效果。数据被消重后,由于只需跟踪和迁移更少的数据,FAST VP的效率变得更高。同时,下层Pool中实际的数据变得更少,因此FAST Cache可以有更多的空间贮存其他数据。
应用场景:
很显然,数据消重最适合那些存储环境中含有大量重复数据的场景。最普遍的应用场景包括:
虚拟桌面和虚拟服务器 — 虚拟化环境都含有大量的通用基础镜像,这些基础镜像在被调用时,其上很多文件都是不会改变的,因此特别适合数据消重。
拥有大量数据的环境 — 如果用户需要创建许多相同内容的数据集以供备份、测试和开发的需要,那么这样的环境也适合启用数据消重。
EMC技术白皮书
《VNX Deduplication and Compression》
VNX系列(VNX5400、VNX5600、VNX5800、VNX7600、VNX8000)
-------------------------------------------------------
更多资源下载,请关注的我共享主页,所有工具免费下载使用:
http://xiaoshanqingqing.pipipan.com
http://www.pipipan.com/u/1899168