20.5. RAID3 - 使用专用校验设备的字节级条带
上一页 | 第 20 章 GEOM： 模块化磁盘变换框架 | 下一页

## 20.5. RAID3 - 使用专用校验设备的字节级条带

Written by Mark Gladman 和 Daniel Gerzo.
Based on documentation by Tom Rhodes 和 Murray Stokely.

RAID3 是一种将多个磁盘组成一个卷的技术， 在这个配置中包含一个专用于校验的盘。 在 RAID3 系统中， 数据会以字节为单位拆分并写入除校验盘之外的全部驱动器中。 这意味着从 RAID3 中读取数据时将会访问所有的驱动器。 采用多个磁盘控制器可以进一步改善性能。 RAID3 阵列最多可以容忍其中的 1 个驱动器出现故障， 它可以提供全部驱动器总容量的 1 - 1/n， 此处 n 是阵列中的磁盘数量。 这类配置比较适合保存大容量的数据， 例如多媒体文件。

在建立 RAID3 阵列时， 至少需要 3 块磁盘。 所有的盘的尺寸必须一致， 因为 I/O 请求会并发分派到不同的盘上。 另外， 由于 RAID3 本身的设计， 盘的数量必须恰好是 3, 5, 9, 17, 等等 (2^n + 1)。

### 20.5.1. 建立专用的 RAID3 阵列

在 FreeBSD 中， RAID3 是通过 graid3(8) GEOM class 实现的。 在 FreeBSD 中建立专用的 RAID3 阵列需要下述步骤。

### 注意:

虽然理论上从 RAID3 阵列启动 FreeBSD 是可行的， 但这并不常见， 也不推荐您这样做。

1. 首先， 在引导加载器中用下面的命令加载 `geom_raid3.ko` 内核模块：

   `#` `graid3 load`

   此外， 也可以通过命令行手工加载 `geom_raid3.ko` 模块：

   `#` `kldload geom_raid3.ko`

2. 创建用于挂载卷的挂点目录：

   `#` `mkdir `/multimedia/``

3. 确定将要加入阵列的磁盘设备名， 并创建新的 RAID3 设备。 最终， 这个设备将代表整个阵列。 下面的例子使用三个未经分区的 ATA 磁盘： ``ada1`` 和 ``ada2`` 保存数据， 而 ``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`

   屏幕上会滚过许多数字， 这个过程需要一段时间才能完成。 此后， 您就完成了创建卷的全部操作， 可以挂载它了。

5. 最后一步是挂载文件系统：

   `#` `mount /dev/raid3/gr0p1 /multimedia/`

   现在可以使用 RAID3 阵列了。

为了让上述配置在系统重启后继续可用， 还需要进行一些额外的配置操作。

1. 在挂载卷之前必须首先加载 `geom_raid3.ko` 模块。 将下面的配置添加到 `/boot/loader.conf` 文件中， 可以让系统在引导过程中自动加载这个模块：

   geom_raid3_load="YES"

2. 您需要在 `/etc/fstab` 文件中加入下列配置， 以便让系统引导时自动挂载阵列上的文件系统：

   /dev/raid3/gr0p1 /multimedia ufs rw 2 2

上一页 | 上一级 | 下一页
20.4. RAID1 - 镜像 | 起始页 | 20.6. GEOM Gate 网络设备

本文档和其它文档可从这里下载： ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.

如果对于FreeBSD有问题，请先阅读 文档，如不能解决再联系 <questions@FreeBSD.org>.
关于本文档的问题请发信联系 <doc@FreeBSD.org>.