20.3. RAID0 - 条带

原作 Tom RhodesMurray Stokely.

条带是一种将多个磁盘驱动器合并为一个卷的方法。 许多情况下, 这是通过硬件控制器来完成的。 GEOM 磁盘子系统提供了 RAID0 的软件支持, 它也成为磁盘条带。

RAID0 系统中, 数据被分为多个块, 这些块将分别写入阵列的所有磁盘。 与先前需要等待系统将 256k 数据写到一块磁盘上不同, RAID0 系统, 能够同时分别将打碎的 64k 写到四块磁盘上, 从而提供更好的 I/O 性能。 这一性能提升还能够通过使用多个磁盘控制器来进一步改进。

RAID0 条带中的每一个盘的尺寸必须一样, 因为 I/O 请求是分散到多个盘上的, 以便让这些盘上的读写并行完成。

磁盘条带图
过程 20.1. 在未格式化的 ATA 磁盘上建立条带
  1. 加载 geom_stripe.ko 模块:

    # kldload geom_stripe
  2. 确信存在合适的挂接点 (mount point)。 如果这个卷将成为根分区, 那么暂时把它挂接到其他位置i, 如 /mnt

    # mkdir /mnt
  3. 确定将被做成条带卷的磁盘的设备名, 并创建新的条带设备。 举例而言, 要将两个未用的、 尚未分区的 ATA 磁盘 /dev/ad2/dev/ad3 做成一个条带设备:

    # gstripe label -v st0 /dev/ad2 /dev/ad3
    Metadata value stored on /dev/ad2.
    Metadata value stored on /dev/ad3.
    Done.
  4. 接着需要写标准的 label, 也就是通常所说的分区表到新卷上, 并安装标准的引导代码:

    # bsdlabel -wB /dev/stripe/st0
  5. 上述过程将在 /dev/stripe 目录中的 st0 设备基础上建立两个新设备。 这包括 st0ast0c。 这时, 就可以在 st0a 设备上用下述 newfs 命令来建立文件系统了:

    # newfs -U /dev/stripe/st0a

    在屏幕上将滚过一些数字, 整个操作应该能在数秒内完成。 现在可以挂接刚刚做好的卷了。

要挂接刚创建的条带盘:

# mount /dev/stripe/st0a /mnt

要在启动过程中自动挂接这个条带上的文件系统, 需要把关于卷的信息放到 /etc/fstab 文件中。为达到此目的, 需要创建一个叫 stripe 的永久的挂载点:

# mkdir /stripe
# echo "/dev/stripe/st0a /stripe ufs rw 2 2" \
    >> /etc/fstab

此外, geom_stripe.ko 模块也必须通过在 /boot/loader.conf 中增加下述设置, 以便在系统初始化过程中自动加载:

# echo 'geom_stripe_load="YES"' >> /boot/loader.conf

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

如果对于FreeBSD有问题,请先阅读 文档,如不能解决再联系 <questions@FreeBSD.org>.

关于本文档的问题请发信联系 <doc@FreeBSD.org>.