存储 频道

详谈RAID 0阵列经验

  【IT168 技术】本人很喜欢RAID 0阵列,在工作中也很喜欢总结关于RAID 0阵列的经验教训,下面就这个问题来详细说说吧。RAID 0也是一种不带任何 "R"(冗余)的 "RAID" 模式。尽管如此,RAID 0还是极其有用的。这主要是因为它是各种 RAID 模式中性能潜力最大的一种模式。

  要安装RAID 0卷,您需要有两个或多个大小相同(或是几乎相同)的分区。RAID 0代码将在所有的组成分区之间均分读写。通过在各组成设备之间并行读写,RAID 0成倍提高了 IO 性能。如果不考虑控制器和总线带宽的复杂性,则由位于两个相同磁盘上的两个分区构成的RAID 0卷能提供几乎两倍于传统分区的性能。如果将您的RAID 0卷分布到三个磁盘,则性能也几乎是原来的三倍。这就是 IDE 磁盘的RAID 0阵列优于市面上最快的 SCSI 或 FC-AL 驱动器的原因。为了真正增强性能,您可以在RAID 0阵列中安装一组 SCSI 或 FC-AL 驱动器。这就是RAID 0的魅力。

  要创建RAID 0卷,您需要彼此位于不同磁盘上的两个或多个分区。卷的容量将等于各组成分区的容量之和。就像线性模式一样,您完全可以用RAID 0将来自各种驱动器(诸如 IDE 和 SCSI 驱动器)的块设备组合为单个卷。

  如果您正在用 IDE 磁盘创建RAID 0卷,您应该尽量使用符合 UltraDMA 的磁盘及控制器,以获得最大的可靠性。同时,为了避免降低性能,每个 IDE 通道上只应连接一个驱动器 -- 从属设备(尤其是当它也是RAID 0阵列的一部分时)对速度的负面影响几乎会抵消RAID 0的全部性能优势。您可能还需要外加一个 IDE 控制器,以便提供您所需的额外 IDE 通道。

  如果您准备用 SCSI 设备创建一个RAID 0卷,注意不要让所有驱动器的总吞吐量超过 SCSI(和 PCI)总线的最大吞吐量。在这种情况下,SCSI 总线将成为限制性能的因素。举个例子,如果您在速度为 40 兆字节/秒的 68 针 Ultra Wide 总线上安装四个最大吞吐量为 15 兆字节/秒的驱动器,有时就会出现驱动器使总线饱和的情况,性能也将升高到接近 40兆字节/秒的最大值。对于您的应用程序来说这可能相当不错(毕竟,40兆字节/秒的 IO 并不是太差!),但其峰值 IO 性能可能仅与使用三个驱动器的RAID 0卷的峰值 IO 性能相同。

  RAID 0应用

  从可靠性的立场来看,RAID 0模式与线性模式具有同样的特征 -- 向阵列中添加的驱动器越多,卷的故障概率就越高。此外,与线性模式一样,单个驱动器的报废将会击垮整个RAID 0卷,而且无法恢复。要计算您的RAID 0卷的故障概率,只需将所有组成驱动器的故障概率相加即可。

  RAID 0对于需要获得最大 IO 性能的应用程序来说很理想,因为它是目前性能较好的 RAID 模式。但请记住,仅当您能承受更多的卷故障风险时才应使用这一模式。

  如果您正在设置 compute farm 或 web 集群,RAID 0是一种提高磁盘 IO 性能的较好方法。由于在这种情况下您将有一定的现成冗余(大量备用机器),所以您的资源在以下这种罕见情况下仍可用:必须关闭其硬盘驱动器出现故障的机器来更换这个驱动器并重新启动。

  设置 Linux 2.4 软件 RAID

  使 Linux 2.4 支持软件 RAID 涉及两个步骤。首先,应在内核一级启用 RAID 支持。这通常要重新编译安装一个新内核,除非您已经在使用一个内置 RAID 支持的 Linux 2.4 内核。然后,需编译并安装 raidtools 软件包。raidtools 是使您可以初始化、启动、停止及控制 RAID 卷的用户级工具。一旦完成了这两步,您就可以创建自己的 RAID 卷,在这些卷上创建文件系统,最后就可以挂载这些卷了。

  内核问题

  我使用的是 2.4.0-test10 内核。我建议您使用您能得到的最新 2.4 内核,至少应是 2.4.0-test10 内核 (但不是 2.4.0-test11,因为它有严重的系统文件损坏问题)。您可在 kernel.org 上找一个近期的内核,还可以在 developerWorks 上找到说明如何重新编译并安装一个新内核的教程(请参阅本文后面的参考资源部分)。

  配置内核

  我建议您对内核进行配置,以便在内核一级添加软件 RAID 支持(而不是作为模块支持)。当您输入 "make menuconfig" 或 "make xconfig" 后,您会发现软件 RAID 设置位于 "Multi-device support (RAID and LVM)" 部分。我也建议您启用与 RAID 相关的每一项支持,包括 "Boot support" 和 "Auto Detect support"。这将允许内核在引导时自动启动 RAID 卷,如果您愿意,您还可以创建一个 RAID 根文件系统。以上介绍RAID 0阵列。

0
相关文章