19.3 RAID0 - 分散連結(striping)

Written by Tom Rhodes and Murray Stokely.

分散連結(striping) 可用來連結多個磁碟成為一大塊空間。 很多時候硬體控制器可以完成這件事,不過 GEOM 也提供了軟體版本的 RAID0,也就是分散連結(striping)。

RAID0 裡,資料會被切分成很多塊, 再分散寫入全部的磁碟。例如要寫入 256k 的資料到單一磁碟,在 四個磁碟的 RAID0 中可同時寫入 64k 到四個磁碟裡, 因此可大幅提升 I/O 效能。如果使用更多的磁碟控制器, I/O 效能可再提升。

由於讀或寫時會同步交錯對許多磁碟進行 I/O 處理,因此 RAID0 的每個磁碟必須大小一樣。



用未格式化的 ATA 磁碟來建立分散連結(striping)

  1. 載入 geom_stripe kernel module:

    # kldload geom_stripe.ko
    
  2. 確定掛載點(mount point)存在。 如果想用分散連結(striping)的空間做為根目錄(root partition,即 / ), 則先用個暫時的掛載點,如 /mnt

    # mkdir /mnt
    
  3. 確認要用來分散連結(striping)的裝置名稱,接著建立新的分散連結(striping)。 例如下面的指令會分散連結(striping)兩個未使用、尚未分割區的 ATA 磁碟(/dev/ad2/dev/ad3) :

    # gstripe label -v st0 /dev/ad2 /dev/ad3
    
    # gstripe label -v st0 /dev/ad2 /dev/ad3
    
  4. 用下面的指令來建立分割區表(partition table):

    # bsdlabel -wB /dev/stripe/st0
    
  5. 除了先前建立的 st0 ,這個步驟還會在 /dev/stripe 下新增兩個裝置: st0ast0c。 利用 newfs 指令可以在 st0a 建立檔案系統:

    # newfs -U /dev/stripe/st0a
    


    螢幕上會有一堆數字傾瀉而過,幾秒鐘後就會完成。此時空間已建立, 可用來掛載使用了。

下面指令可用來手動掛載分散連結(striping)空間:

# mount /dev/stripe/st0a /mnt

如果要在開機時自動掛載,在 /etc/fstab 加入這塊空間的資訊:

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

geom kernel module 必須在系統初始化時自動載入, 因此在 /boot/lodaer.conf 加入一行:

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

本文及其他文件,可由此下載:ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/

若有 FreeBSD 方面疑問,請先閱讀 FreeBSD 相關文件,如不能解決的話,再洽詢 <questions@FreeBSD.org>。
關於本文件的問題,請洽詢 <doc@FreeBSD.org>。