RAID10磁盘阵列优势全面详解

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

RAID10磁盘阵列优势全面详解

当前影响计算机运算速度的不是CPU,也不是内存而是硬盘。为了是硬盘能有更好的性能表现人们开使使用一种新的磁盘技术——磁盘阵列技术。下面为大家详细介绍各种磁盘阵列技术的特点。

当时,RAID是解决我们存储问题的灵丹妙药。通过RAID,我们可以将文件系统扩展得更大,获得更高的吞吐率,甚至还可以增加冗余度以便让我们可以承受磁盘损失的风险--这种风险在这段时间发生得尤其经常。

随着NAS(网络附加存储)和SAN(存储局域网)设备的兴起,我们已经不是很需要那种深入到物理存储然后调整物理存储以满足系统需求的技能了。这不是一件好事。我们仅仅是将存储卸载到外部设备,这并不能改变我们需要深入理解存储的事实,我们还是需要在理解的基础上调整存储以满足系统的特定需求。

过去五到十年来,人们似乎误以为RAID某种程度上相当于系统备份。其实它不是。RAID是一种容错形式。

备份和容错是不同的概念。备份让你可以在灾难发生后恢复数据。容错是减少灾难发生的概率。你可以想象成容错是在悬崖顶部立一条护栏,而备份是在悬崖底部设立一座医院。护栏和医院都是你想要的,但是它们是完全不同的事物。

一旦我们开始在驱动器上实施RAID,无论是本地连接的还是存储网络上的远程设备,如今的我们可以根据业务需要选择四种主要的RAID解决方案:RAID 1(镜像);RAID 5(带校验码的条带化);RAID 6(带双校验码的条带化);RAID 10(带条带的镜像)。

市场上还有其他类型的RAID,比如RAID 0,不过如果你真正理解你的驱动器子系统需求的话,你就知道RAID 0只适用于很罕见的场合。RAID 50和51也被人们所使用,但是更加少见。十年前,RAID 1和RAID 5是很常见的,但是如今我们有更多的选择。

RAID类型

现在我们一个一个来分析这些RAID,并讨论基本的数据。在我们的例子中,我们使用"n"来表示阵列中驱动器的数量,用"s"来表示单个驱动器的大小。通过这些符号,我们可以描述任何阵列的可用存储空间,让存储容量的比较更加方便。

RAID 1

在这种RAID类型中,驱动器被镜像。如果你有两个驱动器,那么它们同时一起做所有事情,也就是"镜像"。镜像可以非常稳定,因为它的流程非常简单,但是和完全不使用RAID 的情况比起来,它需要你购买双倍的驱动器,因为你要将第二个驱动器指定为冗余驱动器。

这种RAID的好处就是你可以确保你在磁盘上写入的每个数据都被重复写入,从而达到数据保护的目的。通过RAID 1,我们的可用容量计算是(n*s/2)。RAID 1所能提供的相对于非RAID驱动器的性能提升很小。RAID 1的写入速度和非RAID系统相当,而读取速度在大部分情况下差不多是非RAID系统的两倍,因为在读取操作过程中,驱动器可以并行地访问,从而提高了吞吐率。RAID 1限定于双驱动器设置。

RAID 5

带校验码的条带化。在这种类型的RAID中,数据通过复杂的条带写入到阵列中的所有驱动器,同时分布式校验块留在所有驱动器上。通过这么做,RAID 5可以使用指定大小的三块以上磁盘的阵列,而且只牺牲与单个校验磁盘相当的存储容量。但是校验码是分布式的,它并不单独存在于任何一块物理磁盘。

鉴于其成本经济性,RAID 5经常被使用。在大型阵列中,RAID 5所带来的容量损失是比较少的。和镜像不同,带校验码的条带化需要计算每条写入条带,这带来了一些系统开销。因此,RAID 5的吞吐量并不是那么容易计算,很大程度上需要依赖于系统在进行校验码计算时候的计算能力。

计算RAID 5的容量很容易:就是((n-1)*s)。一个RAID 5阵列可以承受阵列中任何单个磁盘的故障和损失。

RAID 6

带双校验码的冗余条带化。RAID 6和RAID 5很像,不过使用的是两个校验块而不是一个校验块,从而提高了对抗磁盘故障的保护能力。

RAID 6是RAID家族的新成员。RAID 6是在几年前在其他的RAID类型标准化后加入的。RAID 6比较特殊,因为它可以承受阵列中任意两块驱动器的故障,并同时防止数据丢失。但是为了提高冗余度,RAID 6阵列需要牺牲阵列中相当于两块驱动器的容量,并要求阵列拥有最少四块驱动器。我们可以用((n-2)*s)来计算RAID 6的可用容量。

RAID 10

带条带化的镜像。从技术上来说,RAID 10是复合RAID,结合了无校验码条带(RAID 0)和RAID 1。

在阵列中只有两块驱动器的情况下,许多厂商也使用RAID 10(或RAID 1+0)这个术语,不过实际上这种阵列只是RAID1,因为只有阵列中拥有四块以上驱动器条带化才会开始运作。通过RAID10,驱动器必须是一对一对地添加,因此阵列中驱动器的数量只可能是偶数。

RAID10可以承受占驱动器总数一半的驱动器故障和损失,同时最多只能承受每对驱动器中一个驱动器的故障和损失。RAID 10没有校验码计算,这使得它相对于RAID 5或RAID 6有性能上的优势,对阵列驱动器计算性能的要求也更低。在所有常见的RAID类型中,RAID 10提供了最高的读取性能,因为在读取操作中,阵列中的所有驱动器都可以同时使用。但是它的写入性能要更低。RAID 10的容量计算和RAID1相同,即(n*s/2)。

在如今的企业中,无论RAID软件或硬件是否已经实施,很少有IT部门需要考虑上述

四种基本设置以外的驱动器设置。以前,RAID阵列决策中最主要的考量就是可用容量。这是因为当年驱动器比较贵而且容量比较小。

如今,驱动器都很大,存储容量基本上不是问题,至少不像几年前那样。驱动器的成本也下降了许多,因此购买更多的驱动器以实现更高的冗余度也基本上不成问题。当容量是主要顾虑的时候,RAID 5是比较受欢迎的选择,因为和其他阵列类型相比,RAID 5损失的容量比例最小。

如今,我们有其他方面的顾虑,主要是数据安全性和性能。花稍微更多一点钱来确保数据保护是比较明智的选择。RAID 5只能承受一块驱动器的故障和损失。对于拥有三块驱动器的阵列,RAID 5的安全性只比RAID 1差一些。

我们可能可以接受三块驱动器中损失一块。三块驱动器损失一块和两块驱动器损失一块相比好像没那么让人害怕。但是如果是更大的阵列呢,比如说16块驱动器?如果我们只能承受16块驱动器中损失一块,那我们有理由怀疑系统的可靠性。

RAID 6可以填补这个安全性空白。RAID 6在用于大型阵列的时候,不会牺牲多少存储容量和性能,同时还提供可以承受任意两块驱动器故障/损失的保护能力。带校验码的条带化RAID的支持者经常引用这些数字来安抚客户的管理层,称RAID 5/6可以提供足够"物廉价美"的存储子系统。但是用户还有其他因素需要考虑。

对RAID 10的分析

在RAID的可靠性--这个也是很少被讨论的话题--讨论中,几乎完全被忽视的一个问题就是校验码计算的可靠性。

在RAID 1或RAID 10的情况下,系统不需要"计算"来创建带校验码的条带。系统以稳定的方式简单地写入数据。当一块驱动器发生故障的时候,它的伙伴会接过工作负荷,在替换驱动器之前,驱动器性能会有一些下滑。系统没有会影响现有驱动器成员的重建流程,也没有校验条带重建流程。

相关文档
最新文档