2.2. 软 RAID 配置

RAID(独立磁盘冗余阵列)的用途是将多个硬盘分区合并成一个大的虚拟硬盘,以便优化性能和/或数据安全性。大多数 RAID 控制器使用 SCSI 协议,因为它能通过比 IDE 协议更有效的方式寻址更多数目的硬盘,并且更适合命令的平行处理。还有一些支持 IDE 或 SATA 硬盘的 RAID 控制器。软件 RAID 具有 RAID 系统的优势,并且没有硬件 RAID 控制器的额外成本。但是这需要一些 CPU 时间以及内存,所以不适用于真正高性能的计算机。

2.2.1. RAID 级别

借助于 YaST,SUSE Linux 可以将多块硬盘合并成一个软 RAID 系统,这是硬件 RAID 的一个非常合理的备选解决方案。RAID 暗示将多块硬盘合成一个 RAID 系统的多种策略,这些策略的目标、优点及特点各不相同。这些变化形式通常称作 RAID 级别

常用的 RAID 级别如下:

RAID 0

此级别通过将每个文件按块分放到多个磁盘驱动器上,提高了数据访问性能。这实际上并不是真正的 RAID,因为它未提供数据备份,但 RAID 0 已成为这种类型的系统的标准名称。使用 RAID 0,可以将两块或多块硬盘组合在一起。这样性能固然很好,但如果有任何一块硬盘出现故障,都将损坏 RAID 系统并丢失数据。

RAID 1

此级别为数据提供了充分的安全性,因为它将数据按 1:1 复制到另一块硬盘上。这种方法称为硬盘镜像。如果一块磁盘损坏,则可以使用另一块磁盘上的内容副本。在所有这些硬盘中,只要有一块硬盘没有损坏,您的数据就不会丢失。但是,如果没有检测到损坏,已损坏的数据镜像到正确的磁盘仍有可能发生,从而导致数据损坏。与使用单个磁盘访问时相比,写性能在复制进程中稍有损失(慢 10% 到 20%),但读访问的速度要大大快于任何一块普通物理硬盘,原因是对数据进行了复制,从而可以并行扫描它们。一般来讲,使用级别 1 读事务的速率几乎是使用单个磁盘时的两倍,而写事务的速率与使用单个磁盘时相差无几。

RAID 2 和 RAID 3

这些不是典型的 RAID 实现。级别 2 在位一级而不是块一级对数据进行分带。级别 3 则利用专用的校验磁盘在字节一级进行分带,但不能同时处理多个请求。这两种级别都极少使用。

RAID 4

级别 4 与级别 0 一样,也是在块一级进行分带,只是结合使用了专用的校验磁盘。当数据盘发生故障时,则可以利用奇偶校验数据来制作一块替代盘。不过,这块校验磁盘可能造成写访问的瓶颈。尽管如此,有时仍使用级别 4。

RAID 5

RAID 5 是级别 0 和级别 1 在性能和冗余方面经优化后的折衷方案。硬盘空间等于使用的磁盘数减 1。数据分布在这些硬盘上,这一点与 RAID 0 相同。但出于安全原因,在其中一个分区上创建了奇偶校验块。这些块通过 XOR 互相链接,并在系统出现故障时,通过启用相应的校验块重构建内容。对于 RAID 5,在同一时间只能有一块硬盘出现故障。如果一块硬盘出现故障,则必须尽快将其更换,以防止丢失数据。

其它 RAID 级别

其它多种 RAID 级别也已开发出来(RAIDn、RAID 10、RAID 0+1、RAID 30、RAID 50 等),其中某些级别属于硬件厂商创建的专有实施方法。由于这些级别并不是很普及,所以在此不再赘述。

2.2.2. 使用 YaST 配置软 RAID

YaST 专家分区程序完成 YaST 软 RAID 配置,如第 2.9.5 节 “分区程序” (↑启动)中所述。此分区工具用于编辑和删除现有分区并创建用于软 RAID 的新分区。利用该工具可创建 RAID 分区,方法是首先单击创建+不格式化,然后选择 0xFD Linux RAID 作为分区标识符。对于 RAID 0 和 RAID 1,至少需要两个分区,而对于 RAI 1,通常只需要两个分区。如果使用 RAID 5,则至少需要 3 个分区。建议只采用相同大小的分区。 应将 RAID 分区储存在不同硬盘上,以降低由于某块硬盘出现问题而导致数据丢失的风险(RAID 1 和 5),同时还可以优化 RAID 0 的性能。创建了所有用于 RAID 的分区后,请单击 RAID+创建 RAID 开始 RAID 配置。

在下一个对话框中选择 RAID 级别 0、1 和 5 (有关详细信息,请参见 第 2.2.1 节 “RAID 级别”)。单击下一步后,随即显示的对话框将列出类型为“Linux RAID”或“Linux native”的所有分区(请参见图 2.6 “RAID 分区”)。未显示交换分区或 DOS 分区。如果已将某个分区指派给 RAID 卷,则在列表中显示此 RAID 设备的名称(例如,/dev/md0)。用“--”表示未指派的分区。

图 2.6. RAID 分区

RAID 分区

要将以前未指派的分区添加到所选的 RAID 卷中,请先单击该分区,然后单击添加。此时,RAID 设备的名称就被输入到所选分区的旁边。指派所有为 RAID 保留的分区。否则,分区中的空间仍处于未使用状态。指派了所有分区后,单击下一步进入设置对话框,从中对性能进行微调(请参见 图 2.7 “文件系统设置”)。

图 2.7. 文件系统设置

文件系统设置

与传统的分区一样,设置所用的文件系统,以及 RAID 卷的加密方法和装入点。选中持久性超级块确保在引导时以这种方式识别 RAID 分区。单击完成完成配置后,请查看 /dev/md0 设备和专家分区工具中指示为 RAID 的其它设备。

2.2.3. 查错

查看文件 /proc/mdstats 以确定 RAID 分区是否受损。如果系统出现故障,请关闭 Linux 系统并用以同样方式分区的新硬盘替换出现问题的硬盘。然后重启动您的系统并输入命令 mdadm /dev/mdX --add /dev/sdX。将“X”替换为您的特定设备标识符。此命令会自动将该硬盘集成到 RAID 系统并进行完全重构建。

2.2.4. 参考信息

位于下列位置的 HOWTO 文档提供了软 RAID 的配置说明和详细信息:

另外还可参考 Linux RAID 邮件列表,如 http://marc.theaimsgroup.com/?l=linux-raid&r=1&w=2