Dynamic Disk Pool技术解析

传统RAID技术在面临大容量磁盘的时候显得有点力不从心,这主要由于大容量磁盘技术的引入使得RAID的数据重构时间急剧变长,并且整体IO性能也受到了严重影响。所以很多人预测,传统RAID技术作为存储核心的时代即将过去,大容量磁盘的数据管理需要其它的数据保护技术。我也曾经在一些文章中分析过,传统RAID如果不进行架构级别的革新,那么数据重构时间(reconstruction time)和一致性性能(consistent performance)将会无法得到彻底解决。

在2012年中的时候,我在公司内部提出采用存储虚拟化的技术解决磁盘RAID所面临的问题。该核心思想能够大大提高数据重构的性能,并且可以将应用IO和数据重构IO进行有效分离,使得应用IO性能在数据重构的时候不受到严重影响。无独有偶,在2012年的时候DELL,NetApp也推出了在架构上非常类似的系统,该系统就是Dynamic Disk Pool,简称DDP。2013年底,华为也发布了他们最新的磁盘阵列系统RAID2.0,该架构和DDP也是类似的。这种架构的核心思想是将传统RAID中的数据保护层从磁盘管理组(DiskGroup)中剥离出来。数据保护在逻辑域中完成;磁盘管理在物理域中实现。通过这种分离,数据保护域和磁盘物理域之间可以进行很灵活的映射。这种架构上的灵活性可以提高数据重构的性能,并且使得数据重构性能随着磁盘数量的增加而提升。

下面首先来看一下DDP的技术特征。上面已经提及,DDP也将数据保护域和磁盘物理域进行了分离。从下图可以看出,DDP将所有的物理磁盘分成D-Piece,通过映射算法映射之后,若干个D-Piece组成一个D-Stripe;每个D-Stripe内部和传统的RAID-6的布局是相同的。也就是说,一个D-Stripe由多个传统的Stripe(条带)构成。由于这种虚拟化是底层虚拟化,为了降低虚拟化技术所引入的overhead,D-Piece的容量往往会大于512MB。

通过上图可以很清晰的说明DDP的数据分布不是固定的,而传统RAID在磁盘上的数据分布是固定的。DDP需要通过一个D-Piece的资源分配器进行资源分配,这种资源分配策略往往采用动态按需分配的方式。

分析到此处,其实我们只是看到了DDP这种架构上的灵活性,但是还没有看到为什么采用DDP之后数据重构时间将会大大降低,这其中的奥妙何在?

要想搞清楚为什么引入虚拟化之后,RAID的数据重构时间会大大降低,这还需要分析传统RAID的性能瓶颈点。传统RAID的数据重构性能瓶颈点不仅在于Spare盘的写,而更为重要的是在于重构数据读操作。其实,如果数据重构的性能瓶颈点在于Spare盘的写,那么可以将Spare盘分布到多个磁盘上,这样可以避免单点写入的瓶颈,这种方案也就是distributed spare。

在实践中可以发现,即使将spare盘分布到多个物理磁盘上,reconstruction的整体性能还是无法得到提升。其主要原因在于重构数据的读性能是性能瓶颈点。所以,如果想要提升reconstruction的性能,必须要破解重构数据读写的双重瓶颈点。而且,我们知道写瓶颈是相对容易解决的,但是读瓶颈是很难解决的。其主要原因在于,如果想要破解读瓶颈,那么需要调整优化RAID的数据分布。

采用DDP的灵活架构就可以优化RAID的数据分布,这样就可以消除数据重构的读性能瓶颈。试想,在一个由多个shelf构成的大系统中,存在多个RAID6的array;并且所有这些Array中的数据都按照分配算法分布到所有这些shelf中。那么,当一个shelf中的一个磁盘发生故障后,所有array都将会受到影响;那么所有array都会参与到数据重构中去。更为重要的是,由于在数据布局的过程中采用了特殊算法,因此,在所有array都进行数据重构的过程,所有的磁盘都会参与到数据重构过程中去,那么,这时候的数据重构性能将会是一个什么样的表现?事实证明,这时候的数据重构性能非常出色,并且如果shelf的数量越多,数据重构速度就越快,这是一个线性扩展的关系。而要达到这种目的,数据布局算法,也就是虚拟化过程中的资源分配器尤为重要,其决定了数据重构的性能。

华为和NetApp的技术架构类似,但是在分配算法上应该是不相同的。我采用虚拟化技术实现这种数据保护的RAID架构,并且实现了一种满足数据备份领域需求的分配算法,能够达到很好的数据重构性能以及一致性文件系统性能(consistent file system performance)。

从NetApp的数据来看,随着磁盘数量的增加,DDP的数据重构时间在减少。这种数据重构性能的线性扩展能力是大容量磁盘梦寐以求的事情。从下图中可以看出,随着磁盘数量的增加,传统RAID的数据重构时间是恒定的,但是,DDP的重构时间可以线性降低。

另一个非常有意思的结果是在两块盘发生故障的情况下,传统RAID的数据重构时间将会是翻倍的关系,但是,DDP不是这种关系。如下图所示,在两块盘发生故障的情况下,DDP的数据重构时间增加了50%,而不是100%。

可以说,DDP技术是在传统RAID基础上发展起来的新一代RAID架构,其核心思想是引入了虚拟化技术。随着磁盘容量的进一步增大,未来DDP技术将会在磁盘存储系统中大行其道。

Dynamic Disk Pool技术解析,布布扣,bubuko.com

时间: 2024-12-31 03:52:28

Dynamic Disk Pool技术解析的相关文章

Elasticsearch技术解析与实战 PDF (内含目录)

Elasticsearch技术解析与实战 下载地址:https://pan.baidu.com/s/1q46lwAqzbUMs0qbKyBNBqg 关注微信公众号获取提取码: 输入:esjs     获取提取码.                                   介绍: Elasticsearch是一个强[0大0]的搜索引擎,提供了近实时的索引.搜索.分析功能.本书作者根据自己多年的开发经验,总结了使用和开发Elasticsearch的实战经验.本书全面介绍Elasticsea

会员卡管理系统技术解析(十八)Timer定时监听

会员卡管理系统技术解析(十八)Timer定时监听 在web应用中,有时候客户需要一些定时程序,不需要客户自己去操作,而是由应用程序自行触发(代理)执行某些操作.这个时候监听与定时器的配合使用就基本可以实现这个需求了.网上很多代码并不完整,水平未到,看得太吃力了.下面以系统每天00:00:00进行的当日最大单据数维护进行实例解析. 首先,建立相关的包河类,如下图: 图1 然后,在"web.xml"中对定时器和监听类注册,代码如下: <servlet> <servlet-

关于垃圾回收的一些基本原理及技术解析

关于垃圾回收的一些基本原理及技术解析 什么是垃圾,为什么要垃圾回收? 垃圾回收是很大一块,在java虚拟机一些资料描述中,jvm大致干三件大事儿,1>加载class 2>分配存储空间 3>执行垃圾回收:可见垃圾回收在高级语言中所占的分量.(不好意思,扯远了~),简单点儿说就是:在程序运行时刻,产生的一直未能删除的或不能被引用的对象数据称之为垃圾,如果一直未能通过有效的方式回收会导致内存泄露(通俗点就是内存撑爆了). 关于人工回收的一些问题: 在C或C++语言中,程序员可显示地安排数据回收

STM32F413/423/446芯片解密单片机破解技术解析!

STM32F413/423/446芯片解密单片机破解技术解析! 深圳凯基迪科技,专业承接各种高难度加密芯片,现承诺STM32F413解密STM32F423解密STM32F446芯片解密单片机破解100%包成功!如有需要欢迎咨询:132-6677-8242 , QQ:528621124 STM32F413/423 Cortex-M4入门级高性能微控制器: STM32F413/423微控制器为高性能STM32F4系列单片机的入门级产品,实现了运行模式下的动态功耗和处理器性能之间的最佳平衡,即使在3.

VXLAN 技术解析-(1)VXLAN简述

VXLAN 技术解析-(1)VXLAN简述 VXLAN简述 VXLAN,Virtual Extensible LAN,顾名思义,是VLAN的扩展版本.VXLAN技术主要用来增强在云计算环境下网络的扩展能力. VXLAN使用UDP报文将Ethernet报文封装起来,从而实现跨IP的数据传输,其使用的UDP端口号为4789.VXLAN的端设备称为VTEP,VXLAN tunnel endpoint,一般由物理交换机(Nexus 5600/9000)或虚拟交换机(Open vSwitch/Nexus

PCIe闪存控制器技术解析

一.PCIe-SSD架构解析 PCIe作为CPU的局部总线,最大的特点在于数据传输吞吐量大和延迟低.对于NandFlash固态存储而言,传统磁盘存储领域存在的随机读写问题将不复存在,因此,整个存储系统的瓶颈从存储介质转移到了传输接口上来了.为存储而生的SATA/SAS接口在SSD上的表现不是那么理想了,非常影响IO的传输延迟.为此,显而易见,存储接口应该从传统的SATA/SAS往离CPU更近的系统总线PCIe或者DIMM方向发展. 大家其实很早就认识到了这一点,当年Fusion-io推出基于PC

钟表维修管理系统技术解析(一) MVC架构搭建

钟表维修管理系统技术解析(一)  MVC架构搭建 1.1新建项目 第一步:打开VS2010界面,点击左上角文件,点击新建,选择项目 1.1(图1) 第二步:点击网站Web类型,选择ASP.net MVC3 Web应用程序,在名称中输入项目名称(解决方案名称),位置可自行选择存放该项目的路径,完成后点击确定 1.1(图2) 第三步:选择空项目,点击确定,然后MVC项目创建成功 1.1(图3) 1.1(图4) 1.2创建控制器和视图 第一步:右键点击Controllers(控制器),点击添加,选择控

保驾11.11 京东多中心交易系统技术解析

保驾11.11 京东多中心交易系统技术解析 2015-11-12 程序员的那些事 来源:IT168 ,作者:刘策 一年一度的“11.11”电商节购物狂欢季,各大电商平台也纷纷摩拳擦掌准备大干一场.但是网友消费热情的上涨不免对电商平台后端的数据中心提出更高的要求,许多消费者或许还记得几年前由于系统原因造成的卡单.丢单等事情,大大影响了用户体验.为此,近年来各家电商也都提前准备应对策略,积极的寻求瞬间大流量的解决办法. 日前,京东召开11.11技术备战大会,详细介绍了京东如何应对即将到来的“11.1

学习PHP爬虫--《Webbots、Spiders和Screen Scrapers:技术解析与应用实践(原书第2版)》

<Webbots.Spiders和Screen Scrapers:技术解析与应用实践(原书第2版)> 译者序 前言 第一部分 基础概念和技术 第1章 本书主要内容3 1.1 发现互联网的真正潜力3 1.2 对开发者来说3 1.2.1 网络机器人开发者是紧缺人才4 1.2.2 编写网络机器人是有趣的4 1.2.3 网络机器人利用了“建设性黑客”技术4 1.3 对企业管理者来说5 1.3.1 为业务定制互联网5 1.3.2 充分利用公众对网络机器人的经验不足5 1.3.3 事半功倍6 1.4 结论