软 RAID 配置软 RAID 配置

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

RAID 级别RAID 级别

借助于 YaST,SUSE® Linux Enterprise 可以将多块硬盘合并成一个软 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 等),其中某些级别属于硬件厂商创建的专有实施方法。 由于这些级别并不是很普及,所以在此不再赘述。

使用 YaST 配置软 RAID使用 YaST 配置软 RAID

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

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

图 7.6. RAID 分区

RAID 分区

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

图 7.7. 文件系统设置

文件系统设置

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

查错查错

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

有关详细信息有关详细信息

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

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