虽然在租用台湾大带宽服务器尤其是高配服务器的过程中,RAID是一种常用的技术,但随着固态硬盘的出现,它的应用方式发生了巨大变化,许多客户询问了RAID,包括它是什么,它如何影响他们,以及如何获得最佳的可靠性和性能同时保持在他们的预算范围内。所以我决定重新审视我们之前的一些博客条目,并发布一个包含最新进展的更新版本。

  raid磁盘

  什么是RAID?

  硬盘冗余阵列(RAID)是一种在概念上将多个硬盘组合成一个阵列的方法。理论上,通过组合这些硬盘,它们可以达到更快速度和/或更高的可靠性。您从RAID获得的确切速度和可靠性现在取决于您使用的RAID类型。

  有哪些不同的RAID类型?

  RAID0(条带化)

  RAID0是一种将多张硬盘组合成一个大卷的方法。因为您同时读取和写入多张硬盘,这将显着提高性能。阵列中所有硬盘的速度和容量可以由单个文件使用。RAID0的缺点是它不是冗余的。任何单个硬盘故障都将导致全部数据丢失。这种RAID远不如单个硬盘可靠。

  在服务器环境中,很少有应该使用RAID0的情况。它可以用作缓存或用于速度至关重要但数据丢失不重要的其他应用程序。但是,它不应该用于其他任何事情。如果年硬盘故障率为2.5%,如果您有一个6硬盘RAID0阵列,那么您的年数据丢失风险已攀升至大约13.5%。

  RAID1(镜像)

  虽然RAID1可以以更复杂的方式进行配置,但实际上RAID1的每个用例都涉及一对相同的硬盘,它们在阵列的硬盘上平等地镜像/复制数据。RAID1的主要目标是冗余。即使您的一个硬盘完全发生故障,额外的硬盘也可以让您保持正常运行。

  如果其中一个硬盘发生故障,则可以更换损坏的硬盘而几乎没有停机时间。因为可以从阵列中的任何设备读取数据,所以RAID1具有更快读取性能的额外优势。缺点是您会遇到写入延迟的轻微增加。由于数据必须写入阵列中的两个硬盘,因此您只能访问一个硬盘的容量,而需要两个硬盘。

  RAID5/6(条带化+分布式奇偶校验)

  RAID5需要使用至少3个硬盘(RAID6需要至少4个硬盘)。它基于RAID0,除了不是跨多个硬盘条带化数据,而是跨多个硬盘条带化数据以提高性能。然而,在盘之间分配奇偶校验信息也增加了冗余。网上上有大量技术资料,可以更详细地了解其工作原理。简而言之,您可以丢失RAID5的一个硬盘和RAID 6的两个硬盘,但您的进程和数据仍然运行。

  RAID5和6的读取性能大大增强。但是,使用的raid卡对写入性能有很大影响。您几乎可能需要一个专门用于RAID5或6的硬件raid卡。这是因为必须在所有硬盘上计算和写入奇偶校验数据。RAID5和RAID6是典型Web服务器、文件服务器和其他大多数事务正在读取的通用系统的常见选择,因此物有所值。这是因为为RAID5(或RAID6)增加速度和冗余只需要一个额外的硬盘(或RAID6的两个额外的硬盘)。

  注意:在数据库服务器等高写入环境中,RAID5或RAID6不是最佳选择,因为它会降低整体性能。

  值得注意的是,如果您在RAID5或RAID6设置中丢失了一张硬盘,您将严重影响性能以保持您的环境运行。更换故障盘后,需要根据奇偶校验信息重建数据。这将占用阵列整体性能的很大一部分。随着硬盘变得越来越大,这些重建周期每年都变得越来越长。

  RAID10(镜像+条带化)

  RAID10是RAID1(镜像)和RAID0的组合,至少需要四个硬盘(条带化)。这将为您提供更快的速度和冗余。如果您想要速度但仍需要冗余,这通常是要使用的RAID级别。两个镜像硬盘在四硬盘排列中保存一半的条带数据,而另外两个镜像另一半。这意味着您可以丢失任何一个硬盘,甚至可能丢失第二个硬盘,而不会丢失任何数据。与RAID1一样,您只有一半的硬盘容量,但读写性能会提高。您还将受益于RAID1的快速重建时间。