软 RAID 配置

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

SUSEŽ Linux Enterprise Server 提供了将若干硬盘组合为一个软 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 等),其中某些级别属于硬件厂商创建的专有实施方法。 由于这些级别并不是很普及,所以在此不再赘述。

使用 YaST 配置软 RAID

YaST RAID 配置可以通过 YaST 专家分区程序完成,如第 15.1 节 “使用 YaST 分区程序”中所述。此分区工具用于编辑和删除现有分区并创建用于软 RAID 的新分区。 下面创建 RAID 分区:

  1. 硬盘中选择一个硬盘。

  2. 更改到分区选项卡。

  3. 单击添加并输入此磁盘上需要的 raid 分区大小。

  4. 使用不格式化分区并将文件系统 ID 更改为 0xFD Linux RAID。不要装入该分区。

  5. 重复此过程,直到您在可用磁盘上定义了所有所需物理卷。

对于 RAID  0 和 RAID  1,至少需要两个分区,对于 RAID  1,通常只需要两个分区。 如果使用 RAID 5,则至少需要 3 个分区。 建议只采用相同大小的分区。 RAID 分区应位于不同硬盘上,以降低由于某块硬盘(RAID 1 和 5)出现问题而导致数据丢失的风险,同时还可以优化 RAID 0 的性能。创建用于 RAID 的所有分区之后,单击 RAID+添加 RAID 以启动 RAID 配置。

在下一个对话框中选择 RAID 级别 0、1 和 5。然后,选择应由 RAID 系统使用的,类型为 “Linux RAID” 或 “Linux native” 的所有分区。未显示交换分区或 DOS 分区。

图 15.5. RAID 分区

RAID 分区

要将以前未指派的分区添加到所选的 RAID 卷中,请先单击该分区,然后单击添加。 指派所有为 RAID 保留的分区。 否则,分区中的空间仍处于未使用状态。 指派所有分区之后,单击下一步选择可用的 RAID 选项

在最后一步中,设置所用的文件系统,以及 RAID 卷的加密方法和安装点。单击完成完成配置后,请查看 /dev/md0 设备和专家分区工具中指示为 RAID 的其他设备。

查错

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

请注意,尽管可以在重构建期间访问所有数据,但在 RAID 完全重构建之前,仍然可能遇到一些性能问题。

有关详细信息

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

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