存储 频道

存储那点事:关于RAID保护

  RAID保护技术综述

  RAID-5是在存储系统中广泛采用的数据保护技术。该技术是通过把应用数据分成数段,连同这些数据段的校验信息写入一组磁盘来实现的。如果其中有个磁盘出现了故障,就会利用其余的磁盘中的数据和检验信息把故障盘中的数据恢复到热备盘中以保证数据不会丢失。这样RAID-5就存在一种风险,如果在数据重建的过程中,RAID组中的第二块硬盘出现故障,就会出现数据。

  而RAID 1(准确来讲应该是RAID 10)技术是另外一种相对成本较高的数据保护技术,通过把一份数据写到两个磁盘中做到镜像保护,这样即使一块磁盘坏了,另外一块磁盘上也存有同样的数据从而实现了数据的可靠性保护。如果其中有个磁盘出现了故障,其重构机制也要比RAID 5快很多(避免了相对复杂的XOR计算,只需要重新复制一次),而且从概率上来讲数据可靠性比RAID 5要更高。

  从上面的分析我们可以发现,不管是RAID 10还是RAID5,都无法逃避同一个RAID组中两块磁盘同时损坏这个“点背”到家的情况,事实上以前,两块盘同时坏的情况是超级小概率事件,几乎不可能发生。但是近来随着光纤通道磁盘和SATA磁盘的容量和密度不断增加(出现了450GB/600GB的光纤盘和1TB/2TB的SATA盘),使得RAID-5的重建时间也不断增加。这样两块盘同时坏的概率也增加了,在企业级存储上,这种风险必须得到重视。

  为了应对这种情况,存储厂商推出了全新的RAID技术。RAID-6技术就是可以保证两块盘同时出故障而不会丢失数据的技术。存储器技术发展到今天,各种存储系统除了支持RAID5,RAID1技术以外都增加了对于RAID6保护技术的支持,提供给用户多种保护方式的选择。

  RAID 技术总览

  RAID技术是为了防止存储系统因为磁盘故障而丢失数据而研发出来的。该技术把数据和校验信息分布到一组盘中(RAID组),当有盘坏的时候,丢失的那部分数据可以通过其他盘上的数据和校验信息计算恢复。这样就增强了存储系统的可靠性。

  一个好的存储系统应当可以同时支持RAID0,RAID-1,RAID-5和RAID-6技术,这样该存储器不但可以提供更好的可靠性,而且也可以比以往的存储系统有更出色的性能。

  比如说高端存储器一般以4个磁盘为一个组,称为磁盘组Array Group,而一个RAID组则包含一个或者多个Array Group。例如:RAID-1(镜像)可以是2D + 2P或者4D + 4P的配置,也就是说2块数据盘,2块镜像盘,或者4块数据盘和4块镜像盘的配置。RAID-5(带校验的条带化)可以是3D + 1P的配置,其中3块数据盘,1块检验盘,或者是7D + 1P的配置,其中7块数据盘,1块检验盘的配置。实际上,RAID-5的数据和校验都是条带化后分散在RAID组中的各个磁盘中的。

  RAID-1提供了最高的可靠性,一块盘上的数据都镜像到RAID组中的另外一块磁盘上。但是这种方式对磁盘的率用率不高,只有一半的磁盘空间能够存放数据,存放同样的数据要多买一倍的磁盘。RAID-5改善了率用率的问题,但是因为要计算校验信息而使得写性能有所下降。有些存储器也能支持RAID-0技术(没有校验的条带化),RAID-0技术有很好的性能表现,但是RAID-0没有冗余保护功能,RAID组中任何一块磁盘的损坏都会造成数据的丢失。在SATA盘上绝对不提倡采用RAID-0,同时建议用户不要在关键数据上采用RAID-0技术。

  当采用RAID-1或者RAID-5技术的时候,如果其中有个磁盘出现了故障,就会利用RAID组中其余的磁盘中的数据和检验信息把故障盘中的数据恢复到热备盘中以保证数据不会丢失。工程师用新盘替换坏掉的磁盘,这时候存储系统会把热备盘中的数据拷贝回新换上的盘中(也有一些存储器支持RAID保护环境下的磁盘漫游技术,可以不回拷以减轻存储器的负担)。当回拷完成后,系统又回到了正常工作状态,可以再次抵御磁盘故障。

  如今磁盘的容量和密度一再变大,出现了450GB/600GB的光纤盘和1TB/2TB的SATA盘,每个盘中存放的数据比以往大了很多,磁盘故障影响的数据量也跟着增加。这样从磁盘故障,到磁盘系统恢复正常状态的时间也会比以往长很多,这个过程中同一个RAID组里面第二块磁盘出现故障而导致数据丢失的可能性也变大。

  为了防止两块磁盘故障而引起的数据丢失,存储器提供了RAID-6解决方案。和RAID-5相似的是,RAID-6采用了校验数据,和RAID-5不同的是RAID-6有两份检验数据,可以保证同一RAID组中两块磁盘同时故障而不丢失数据。

0
相关文章