RAID(廉价磁盘冗余阵列)的用途是将多个硬盘分区合并成一个大的虚拟硬盘,以便优化性能和/或数据安全性。 但使用此方法是牺牲一个优点来换取另一个优点。大多数 RAID 控制器使用 SCSI 协议,因为它能通过比 IDE 更有效的方式处理更多硬盘,并且更适合命令的平行处理。还有一些支持 IDE 或 SATA 硬盘的 RAID 控制器。请参考位于 http://cdb.suse.de 的硬件数据库。
与 RAID 控制器(通常非常昂贵)一样,软 RAID 也能执行这些任务。 借助于 YaST,SUSE Linux 可以将多块硬盘合并成一个软 RAID 系统,这是硬件 RAID 的一个非常合理的备选解决 方案。RAID 暗示将多块硬盘合成一个 RAID 系统的多种策略,这些策略的目标、优点及特点各不相同。这些变化形式通常称作 RAID 级别。
常用的 RAID 级别如下:
此级别通过将每个文件按块分放到多个磁盘驱动器上,提高了数据访问性能。这实际上并不是真正的 RAID,因为它未提供数据备份,但 RAID 0 已成为这种类型的系统的标准名称。使用 RAID 0,可以将两块或多块硬盘组合在一起。这样性能固然很好,但如果有任何一块硬盘出现故障,都将损坏 RAID 系统并丢失数据。
此级别为数据提供了充分的安全性,因为它将数据按 1:1 复制到另一块硬盘上。这种方法称为硬盘镜像。如果一块磁盘损坏,则可以使用另一块磁盘上的内容副本。在所有这些硬盘中,只要有一块硬盘没有损坏,您的数据就不会丢失。与使用单个磁盘访问时相比,写性能在复制进程中稍有损失(慢 10% 到 20%),但读访问的速度要大大快于任何一块普通物理硬盘,原因是对数据进行了复制,从而可以并行扫描它们。一般来讲,使用级别 1 读事务的速率几乎是使用单个磁盘时的两倍,而写事务的速率与使用单个磁盘时相差无几。
这些不是典型的 RAID 实现。级别 2 在位一级而不是块一级对数据进行分带。级别 3 则利用专用的校验磁盘在字节一级进行分带,但不能同时处理多个请求。这两种级别都极少使用。
级别 4 与级别 0 一样,也是在块一级进行分带,只是结合使用了专用的校验磁盘。当数据盘发生故障时,则可以利用奇偶校验数据来制作一块替代盘。不过,这块校验磁盘可能造成写访问的瓶颈。尽管如此,有时仍使用级别 4。
RAID 5 是级别 0 和级别 1 在性能和冗余方面经优化后的折衷方案。硬盘空间等于使用的磁盘数减 1。数据分布在这些硬盘上,这一点与 RAID 0 相同。但出于安全原因,在其中一个分区上创建了奇偶校验块。这些块通过 XOR 互相链接,并在系统出现故障时,通过 XOR 启用相应的校验块重构建内容。对于 RAID 5,在同一时间只能有一块硬盘出现故障。如果一块硬盘出现故障,则必须尽快将其更换,以防止丢失数据。
其它多种 RAID 级别也已开发出来(RAIDn、RAID 10、RAID 0+1、RAID 30、RAID 50 等),其中某些级别属于硬件厂商创建的专有实施方法。由于这些级别并不是很普及,所以在此不再赘述。
YaST 专家分区程序完成 YaST 软 RAID 配置,如第 3.7.5 节 “分区程序” (↑启动)中所述。此专业分区工具用于编辑和删除现有分区并创建用于软 RAID 的新分区。利用该工具可创建 RAID 分区,方法是首先单击+,然后选择 作为分区标识符。对于 RAID 0 和 RAID 1,至少需要两个分区,而对于 RAI 1,通常只需要两个分区。如果使用 RAID 5,则至少需要 3 个分区。建议只采用相同大小的分区。应将 RAID 分区储存在多块硬盘上,以降低由于某块硬盘出现问题而导致数据丢失的风险(RAID 1 和 5),同时还可以优化 RAID 0 的性能。创建了所有用于 RAID 的分区后,请单击 + 开始 RAID 配置。
在下一个对话框中选择 RAID 级别 0、 1 和 5 (有关详细信息,请参见 第 2.3.1 节 “软 RAID”)。单击后,随即显示的对话框将列出类型为“Linux RAID”或“Linux native”的所有分区(请参见 图 2.6 “RAID 分区”)。未显示交换分区或 DOS 分区。如果已将某个分区指派给 RAID 卷,则在列表中显示此 RAID 设备的名称(例如,/dev/md0)。用“--”表示未指派的分区。
要将以前未指派的分区添加到所选的 RAID 卷中,请先单击该分区,然后单击。此时,RAID 设备的名称就被输入到所选分区的旁边。指派所有为 RAID 保留的分区。否则,分区中的空间仍处于未使用状态。指派了所有分区后,单击进入设置对话框,从中对性能进行微调(请参见 图 2.7 “文件系统设置”)。
与传统的分区一样,设置所用的文件系统,以及 RAID 卷的加密方法和装入点。选中确保在引导时以这种方式识别 RAID 分区。单击完成配置后,请查看 /dev/md0 设备和专家分区工具中指示为 RAID 的其他设备。
查看文件 /proc/mdstats 以确定 RAID 分区是否受损。如果系统出现故障,请关闭 Linux 系统并用以同样方式分区的新硬盘替换出现问题的硬盘。然后重启动您的系统并输入命令 mdadm /dev/mdX --add /dev/sdX。将“X”替换为您的特定设备标识符。此命令会自动将该硬盘集成到 RAID 系统并进行完全重构建。
位于下列位置的 HOWTO 文档提供了软 RAID 的配置说明和详细信息:
/usr/share/doc/packages/raidtools/Software-RAID.HOWTO.html
另外还可参考邮件列表,如 http://www.mail-archive.com/linux-raid@vger.rutgers.edu。