再谈切西瓜刀法:RAID 2.0 FAQ
西瓜哥 发表于:13年08月27日 14:24 [原创] 存储在线
总的来说,大家都认可区分RAID 2.0和RAID 1.0的区别,也就是说,基于硬盘切片CHUNK来创建RAID,这个就是RAID 2.0;基于物理硬盘来创建RAID组,这个就是传统的RAID。这个区别可能不是根本的,但可以帮助大家理解和辨别。
还有很多人混淆CHUNK,Extent,Grain的关系,不知道后面再切几刀有啥用。我分析3PAR和HW的实现,这里再给大家解释一下。
CHUNK是创建RAID的单位,它的主要作用就是用来创建RAID组(CKG)。CKG是有属性的,可以是RAID 5,RAID 1,RAID 6啦。我查阅各种文档,3PAR高端的CHUNK(它叫CHUNKLET)粒度是1GB,而中端的粒度是256MB(今天微信公众号“高端存储知识”的订阅量也是这个数,哈)。而HW HVS是64MB。3PAR没有看到说可以用户可以调整这个数值,HW的我不清楚。按照我的理解,这个CHUNK和应用关系不大,一般都无需调整(估计厂商要调整也是底层命令行来做,用户应该轻易不会去调整这个值的),就像切瓜器,每台阵列选好了一个切瓜器,规格就定下来了,所有的西瓜,哦不对是硬盘都切成一样的大小。当然,CHUNK也是硬盘失效重构的最小单位。
至于Extent,这个一个可变的值。也就是用户要在上面创建LUN,映射给某个主机。主机不同的应用可能有不同的要求,如ORACLE,这个块可以小些,如对视频数据,这个块可以大些。我们以后说的分层存储都是基于这个粒度,系统会检查每个Extent的I/O情况,然后把热数据迁移到SSD上,提升性能。
而Grain,这就不是必须的。如果这个LUN是Thin LUN,这一刀一般就是要挨的。挨着一刀就是和应用每次I/O平均分配的数据量有关,如果匹配,那么分配的效率是最高的。我详细分析了3PAR的文档,它系统后端设计的每个I/O是16K,因此,它理论上最小只能到16K了。
总结一下切西瓜刀法:切瓜器是随高端阵列赠送的,因此规格就固定了。但用户自己要想吃西瓜,估计还得拿把西瓜刀再切分成Extent,男同胞嘴大,喜欢切大块吃,向我这样的樱桃小口(喂,又别扔臭鸡蛋,再扔,我一口一个臭鸡蛋....),我喜欢切小一些。如果家有BB,比较瘦小(thin),那么还需要用匕首再切成颗粒状Grain,用牙签去喂他。当然,不同的BB要求而已不同。
哎,不说了,口水都流了一地了。我们再来回答大家的几个问题:
CHUNK\Extent\Grain的粒度越小越好吗?这个有技术门槛吗?
答:不是的。前面的分析也可以看到,后面两刀的粒度和应用密切相关,也是用户创建LUN的时候可以选择调整的,而CHUNK主要和RAID的管理和重构有关联,小的好处我昨天也提了。但我想事务总是有两面性的,太小,管理的开销必然大,我个人设想3PAR把高端的CHUNK定义得比中端大,就是由于高端要支持的硬盘更多,但3PAR目前高端的CPU还是老一代的CPU,中端的CPU已经更新了。还有就是3PAR的内存比HW HVS要少。这是我的猜想。这些粒度都没有太多的技术门槛,应该是每个厂商根据自己的硬件资源和软件的算法选择的一个最优值而已;
华为HVS真的比3PAR好?3PAR真的不支持每个块打标签吗?
答:这个昨天我收到最多鸡蛋的地方,大家都说我有倾向。老实说,我也不知道3PAR是否支持块打标签,但3PAR有元数据,也会记录这些块的属性,这是必须的,因为后面你要做RAID,要做分层,你必须知道这些块是SSD,还是SATA,在那个框里等等。只是HW做网络出身的,而且是后做的,是否把MPLS那套思路拿来,标签的属性更加丰富,说不定还可以嵌套,哈哈。总的来说,光从RAID 2.0的对比看,HW HVS毕竟是后来者,因此在粒度方面做得更灵活(至于实际的用处有多大,就是仁者见仁智者见智的事情了),而3PAR的优势应该在ASIC上,它的RAID用ASIC做的,理论上速度会更快(因此也叫Fast RAID),3PAR曾经和ORACLE以前做过一个测试,它的FAST RAID 5的性能可以做到基本和RAID 10持平(91%),3PAR经常用来告诉用户,用RAID 5就可以了,性能差不多,还省空间。但HW HVS虽然没有ASIC做RAID加速,但毕竟是后发布的产品,可以利用更新的平台和更快的CPU,因此整体上性能如何我暂时没有拿到对比结果。至于应用层的功能差别,以后我们再谈。
HVS到底是啥缩写?
有知情人士告诉我,HVS缩写是hyper virtual storage,不再是荣耀。很抱歉,百度上搜索hyper virtual storage,看不到和HVS相关的结果。再次说明华为的宣传是不够的。还有RAID 2.0+这个名字,感觉有点俗气,主要是搜索不好搜,这个小数点和+号一般都被搜索引擎过滤掉了,反正相关的文章也不多,如果叫UltraRAID,这种专业名称就比较容易宣传了。
RAID 2.0提升了性能和效率,可靠性如何?重构速度真的比传统RAID快20倍?
这个问题比较复杂,包括重构时间,我搜集了很多的数据和资料,明天打算作为一个专题和大家分享。也是,我一个LUN的数据你给我打散到100块盘上去了,万一坏了两块盘,我的数据不是完了吗?要知道RAID 2.0(包括fast RAID)如何解决这个问题,请看下一页分解。