For the complete documentation index, see llms.txt. This page is also available as Markdown.

22.4.RAID3——带有专用奇偶校验的字节级条带

RAID3 是一种将多个磁盘驱动器组合成单个卷并使用专用奇偶校验磁盘的方式。在 RAID3 系统中,数据被拆分为字节,写入除一个磁盘外的所有磁盘,而该磁盘作为专用奇偶校验磁盘。也就是说,从 RAID3 实现中读取数据时,会访问所有磁盘。通过使用多个磁盘控制器,可提高性能。RAID3 阵列提供了对 1 个磁盘的容错能力,同时提供的容量为总磁盘容量的 (1 - 1/n) 倍,其中 n 是阵列中的硬盘数量。这样的配置主要适用于存储较大尺寸的数据,例如多媒体文件。

构建 RAID3 阵列至少需要 3 个物理硬盘。每个磁盘的大小必须相同,因为 I/O 请求是交替进行的,读取或写入数据时会并行地访问多个磁盘。此外,由于 RAID3 的特性,硬盘数量必须等于 3、5、9、17 等,或为 2^n + 1。

本节将展示如何在 FreeBSD 系统上创建软件 RAID3。

注意

虽然理论上可从 RAID3 阵列引导 FreeBSD,但这种配置不常见,也不推荐使用。

22.4.1. 创建专用 RAID3 阵列

在 FreeBSD 中,RAID3 的支持是通过 graid3(8) GEOM 类实现的。要在 FreeBSD 上创建专用的 RAID3 阵列,需要按照以下步骤操作。

  1. 首先,通过以下命令加载 geom_raid3.ko 内核模块:

    # graid3 load

    或者:

    # kldload geom_raid3
  2. 确保存在合适的挂载点。以下命令创建新目录,用作挂载点:

    # mkdir /multimedia
  3. 确定将添加到阵列中的磁盘的设备名称,并创建新的 RAID3 设备。最后列出的磁盘将作为专用奇偶校验磁盘。在此示例中,使用了三块未分区的 ATA 磁盘:ada1ada2 用于数据,ada3 用于奇偶校验。

    # graid3 label -v gr0 /dev/ada1 /dev/ada2 /dev/ada3
    Metadata value stored on /dev/ada1.
    Metadata value stored on /dev/ada2.
    Metadata value stored on /dev/ada3.
    Done.
  4. 为新创建的 gr0 设备分区并在其上创建 UFS 文件系统:

    # gpart create -s GPT /dev/raid3/gr0
    # gpart add -t freebsd-ufs /dev/raid3/gr0
    # newfs -j /dev/raid3/gr0p1

    许多数字会在屏幕上滚动,经过一段时间后,过程将完成。卷创建完成,准备挂载:

    # mount /dev/raid3/gr0p1 /multimedia/

    现在 RAID3 阵列已准备好使用。

需要额外的配置来确保在系统重新引导后保持此设置。

  1. 在挂载阵列之前必须加载 geom_raid3.ko 模块。为了在系统初始化时自动加载内核模块,请将以下行添加到 /boot/loader.conf 文件中:

  2. 必须将以下卷信息添加到 /etc/fstab 文件中,以便在系统引导时自动挂载阵列的文件系统:

最后更新于