storage R&D guy.
全部博文(1000)
分类: 服务器与存储
2015-04-22 11:00:04
分别解析如下:
1. RAID2.0
把单个硬盘按照一定size分成逻辑块,用逻辑块来做RAID而非磁盘。它同样可以实现0,1,5,6多种RAID级别,并且热备块分布在各磁盘上。 在磁盘故障做RAID重建时,只需计算该磁盘上有数据部分,同时由于逻辑块是分布在多个磁盘的,读取校验和写入新数据都能能够调动多个磁盘,改变传统RAID写热备的瓶颈问题,大大提升RAID重建速度,在磁盘容量越来越大的今天,这个技术就显得更有价值。IBM和华为都宣称1TB盘的重建时间能够缩短到30分钟。
但可靠性和性能常常是矛盾的,虽然重建加速减低了再坏一块磁盘的风险,但是数据分散到更多磁盘,两个盘几乎同时失效的风险也增加了。磁盘数量到达一定程度,整体的可靠性反而会降低。
2.网络RAID技术有利有弊
传统RAID以磁盘为组建磁盘组,而网络RAID以节点(存储设备)作为组建RAID的单位,相比传统RAID高一层次。若节点损坏或者断网,可以从其他节点读取副本(RAID 1)或计算校验(RAID5,6)获得数据,保证可靠性。
(如果节点(存储设备)内部先在磁盘层面做RAID组,再以节点为单位组建网络RAID,如此将获得两层RAID保护,有更好的安全性,但是性能和容量会有更多损失)
通常网络RAID在实际方案中选择RAID1和RAID5较多,RAID1镜像机制同样提供一倍冗余和更好性能,但容量损失。另外网络RAID5、网络RAID6性能和网络RAID1 RAID0相比会有20%的下降
但是网络RAID带来的网络问题也很明显,尤其以RAID5和6为甚, 整个节点的大量数据需要在网络间传输,以完成校验计算(读写都会),而原来这些数据是在机器内部的背板上传输的。故障恢复时,数据重建产生的网络风暴,更对网络产生大的压力,因此大多数方案都必须采用万兆网络,从整体方案上看,会有额外成本的增加和性能的损失。
另外网络RAID在性能上尤其是IOps有较大的损失,写惩罚(Write Penalty)仍然存在,RAID5的写惩罚是4,RAID 6的写惩罚更高达6. 这对整个RAID组甚至整个存储子系统来说,会造成大量的IOps性能下降,尤其是以写数据为主的应用场景中。
3. 纠删玛技术理论优秀,但成熟的实现不多
纠删码通过对数据分块后计算校验产生校验块,并与原始数据块共同存储,在部分数据块或校验块丢失的情况下,可以通过计算恢复原始数据,纠删码的特别之处在于容错率可设定,如总数10块磁盘可以容忍1,2,3,4多块磁盘损坏,系统仍然可用。这种情况下冗余配比分别为1.1,1.2,1.3和1.4。
纠删码同样可以磁盘为单位或以节点为单位组建,实现全局冗余,这意味着数据分片是跨节点,并不限于一台节点(存储设备)以内。一些纠删码的产品在存储系统在线,有数据读写的情况下,可以调整冗余配比参数。
纠删码技术在存储领域还较新,理论上可以达到的效果较好,但实际产品中还缺乏大量应用。同样它在读写过程中有大量计算和额外校验块的负担,也会给网络带来较大压力,方案中需要更高成本的网络。 例如使用纠删码的OneFS产品在存储节点间使用的是造价更加昂贵的Infinity Band网络。
4. 多数据副本是分布式系统中成熟的冗余机制。
多副本是指数据在系统中切片,而每一个数据的切片都有多个副本,分布在不同节点中。这种机制不仅提供数据的可靠性,还能改善性能。由于多副本能够支持更多并发访问,无论是多个应用并发访问还是单个访问,数据可以从最快响应的节点获得,因此系统会提供更好的性能响应。
多数据副本明显的弊端在于容量的损失。如果两副本就等于RAID10的损失,但是因为切片,性能比RAID10好
PS. 写惩罚影响的计算方法
写惩罚对整个磁盘组的IOPS性能影响很大,可以按以下方法计算
如果读写比例为 Pr%和Pw%
理论上RAW的IOPS= 单盘IOps x 磁盘数
实际 IOPS = (Raw IOPS * Pw% / 写惩罚) + (RAW IOPS * Pr %)