背景
RAID是一种最常见的存储技术。它可以让用户把存储媒介连接成组,从而获得更大的容量,提升性能或减少硬盘失效带来的损失。对于大部分RAID来说,会要损失一点总容量,因为要存储冗余的校验信息,或者建立一个镜像。传统RAID技术在面临大容量磁盘的时候显得有点力不从心,这主要由于大容量磁盘技术的引入使得RAID的数据重构时间急剧变长,并且整体IO性能也受到了严重影响。主要问题包括:
1、硬盘容量越来越大,RAID组中的硬盘数量会减少(RAID-5和RAID-6都是这样的情况),但是还会出现URE。
2、重建时间变得越来越长,因为读写性能保持不变,但是RAID组要处理更多的数据了。
这些问题使得RAID的未来却越来越迷茫。许多人还预测几年之后 RAID将终结。但是现在出现了新的技术可以改善这种情况。动态硬盘池(DDP),这项技术将使RAID重新焕发出生机。
定义DDP电脑是指以动态硬盘池为主要存储技术的电脑1。DDP技术是在传统RAID基础上发展起来的新一代RAID架构,其核心思想是引入了虚拟化技术。NetApp最开始提出了名为动态硬盘池的概念,可以改善传统RAID遇到的问题。随着磁盘容量的进一步增大,未来DDP技术将会在磁盘存储系统中进一步发展。
技术特征DDP将数据保护域和磁盘物理域进行了分离,将所有的物理磁盘分成D-Piece,通过映射算法映射之后,若干个D-Piece组成一个D-Stripe;每个D-Stripe内部和传统的RAID-6的布局是相同的。也就是说,一个D-Stripe由多个传统的Stripe(条带)构成。由于这种虚拟化是底层虚拟化,为了降低虚拟化技术所引入的overhead,D-Piece的容量往往会大于512MB。DDP的数据分布不是固定的,而传统RAID在磁盘上的数据分布是固定的。DDP需要通过一个D-Piece的资源分配器进行资源分配,这种资源分配策略往往采用动态按需分配的方式,所以在架构上具有灵活性。
传统RAID的数据重构性能瓶颈点不仅在于Spare盘的写,而更为重要的是在于重构数据读操作。数据重构的性能瓶颈点在于Spare盘的写,那么可以将Spare盘分布到多个磁盘上,这样可以避免单点写入的瓶颈,这种方案也就是distributed spare。但是即使将spare盘分布到多个物理磁盘上,reconstruction的整体性能还是无法得到提升。其主要原因在于重构数据的读性能是性能瓶颈点。所以,如果想要提升reconstruction的性能,必须要破解重构数据读写的双重瓶颈点,需要调整优化RAID的数据分布。
采用DDP的灵活架构就可以优化RAID的数据分布,这样就可以消除数据重构的性能瓶颈。在一个由多个shelf构成的大系统中,存在多个RAID6的array;并且所有这些Array中的数据都按照分配算法分布到所有这些shelf中。那么,当一个shelf中的一个磁盘发生故障后,所有array都将会受到影响;那么所有array都会参与到数据重构中去。更为重要的是,由于在数据布局的过程中采用了特殊算法,因此,在所有array都进行数据重构的过程,所有的磁盘都会参与到数据重构过程中去,这时候的数据重构性能非常出色,并且如果shelf的数量越多,数据重构速度就越快,这是一个线性扩展的关系。而要达到这种目的,数据布局算法,也就是虚拟化过程中的资源分配器尤为重要,其决定了数据重构的性能。随着磁盘数量的增加,传统RAID的数据重构时间是恒定的,但是,DDP的重构时间可以线性降低。
优势第一,动态硬盘池为用户提供更多的收益。首先,DDP很容易理解,因为它本身就是RAID。可是,它又不是像创建RAID组那样有固定的硬盘规格。而且,它能扩展潜在的RAID块,在池中横跨所有硬盘随机设定,形成RAID-6的8+2的模式。
第二,在出现硬盘失效的情况下,借助DDP,用户可以让更多的硬盘加入到重建过程中,它们都可以进行读写,消除单一硬盘写入性能的限制。这将大幅减少恢复时间。
第三,在重建过程中,只有丢失的D-Piece被重建。而在传统的RAID-6中,用户需要读取剩余硬盘的所有空间,即使有的空间并没有被使用——这将使用户很容易遇到URE的问题。
而且,在传统的RAID-6中,如果不进行完重建,用户就不能获得RAID-6保护(也就是说,在每样东西在完成之前,它就不是100%)。而在 DDP中,一些D-Stripe可以快速获得RAID-6的保护。随着复原的推进,整个池获得RAID-6保护的比例将不断增加。所以,这不是一个“要不 全部都是,要不一个没有”的命题。
除此之外,在DDP中很容易创建所需容量的卷,还可以在池中留下多余的容量。当用户有需要的时候,可 以继续在池中增加卷。而且,DDP可以动态监控 潜在容量(当然,你需要扩展文件系统)。使用传统的RAID,用户需要创建新的卷,把它增加到现有的池中,在这过程中还要利用一些逻辑卷管理器,还要增加 文件系统。
最后,使用DDP意味着用户可以承受失去两块以上的硬盘。如果传统的RAID-6在一个LUN中失去了2块以上的硬盘,这个LUN就不能再重建了,数据只能从备份或副本中获得。在DDP中,一个单一池可以损失多块硬盘,数据也不会丢失。
配置指南每个池里的最小硬盘数:11;
每个池里的最大硬盘数:180;
同时添加到池里的最大硬盘数:1到12个硬盘;
每个系统最大硬盘池数量:16;
每个池里最大的卷的大小:64TB;
支持的硬盘:SAS NL-SLS