西瓜哥 发表于:13年08月27日 14:24 [原创] DOIT.com.cn
化腐朽为神奇,千言万语道不尽RAID 2.0
继续分享RAID 2.0细节的东西
块虚拟化和和LUN虚拟化:这两个术语大家可能听说过,一般来说,块虚拟化就是指RAID 2.0这样的技术,而LUN虚拟化就是指昨天我们说的传统厂商的RAID 1.5改良技术;
和上层应用的相关性:RAID技术其实和目前流行的自动分层存储和自动精简配置关系最大。我们来看一下HW HVS的RAID 2.0实现:
这是华为HVS实现的RAID 2.0全景图。大家发现没有,比我们昨天说的RAID 2.0又多切了一刀Grain(谷粒),这个我们不妨叫为微刀Grain。经过我对比分析总结,我发现RAID 2.0是硬盘拿到后,先用大刀切成CHUNK,HW HVS是64M,而3PAR 10000是1G,这个CHUNK就是构成RAID的基础;第二步就是用小刀切成小块EXTEND,HW HVS最小可以做到256K,而3PAR 10000只能做到128M,这个EXTEND是分层存储检测和迁移的单位;最后要切一刀就是用匕首切成Grain(谷粒一样细),HW HVS最小可以做到8K,而3PAR 10000是16K,这个是精简配置分配的单位。当然,不是每个LUN都需要做自动精简配置,因此如果是THICK LUN,也有叫FAT LUN,这一刀就不用挨了。从这个分析大家就可以看出,RAID 2.0确实是软件功能基础的基础,有了这个基础,上面的各种软件功能才能更加高效和快速。类似EMC/IBM/HDS在传统RAID基础上改进的RAID 1.5,虽然能够实现类似的功能,但在资源的利用率和效率、灵活性等等就差很多。有些功能就不能在THIN LUN上面做或者只能在THIN LUN上面做,THIN的时候必须预留空间,不能像RAID 2.0一样按需实时分配。
华为HVS对3PAR 10000的改进:这两天很多人问这个问题,我也说一下我的理解。华为居然敢叫RAID 2.0+,这个”+“可不是白加上去的。
首先是更细的粒度。上面的分析大家也看到了,华为的3刀切的粒度都比3PAR的小。CHUNK粒度小的好处是重构的数据量比较少,因为分配数据的时候可以知道那个CHUNK没有数据,不用重构,粒度小总数据量就少,比如只有64M数据的时候,华为只需要重构一个64M的CHUNK,但3PAR需要重构一个1G的CHUNK,数据差别还是比较大的。EXTEND粒度小在做热点数据监测和迁移的时候更加准确和高效,EXTEND过大可能把冷数据也迁移到SSD了,浪费容量。GRAIN粒度过大和过小都不合适,要和应用匹配效率最高。但大家知道ORACLE常用8K作为I/O单位,因此HW针对ORACLE这种场景应该比3PAR有更好的THIN效率和性能;
第二是华为的块标签技术,这个好像3PAR没有。华为RAID 2.0能够把盘切为片后,再把每个片打上一个标签(TAG),标签标明此片的容量、性能、成本等QoS属性,据此也就自然而然地使得HVS具备了面向不同业务、不同主机、不同应用提供不同SLA响应等级的能力。这才是RAID 2.0+中”+“的含义,这也是昨天HW的一位高人微信回复我才知道的。
从我的分享大家可能发现,RIAD 2.0还是很神奇的,特别是RAID 2.0+,学起来真是一个头八个大。希望我这两个的分享让你成为RAID 2.0高手。但我昨天总结的一句话还是对的:针对物理磁盘做RAID就是传统的RAID 1.0,针对硬盘切片CHUNK做RAID就是RAID 2.0。
觉得我写到不错就分享给其他人吧,让大家一块成为RAID 2.0高手。