FreeBSD - ccdでRAID0(ストライピング)ディスクの作成
ccdデバイスを用いたストライピング(RAID0)ディスクの構築について解説します。
ここでは下記の/tmp0, /tmp1, /tmp2, /tmp3ディレクトリをccdデバイスとして
/homeディレクトリへマウントさせる事を前提としています。
# Device Mountpoint FStype Options Dump Pass#
/dev/da0s1b none swap sw 0 0
/dev/da0s1a / ufs rw 1 1
/dev/ad0s1e /tmp0 ufs rw 2 2
/dev/ad1s1e /tmp1 ufs rw 2 2
/dev/ad2s1e /tmp2 ufs rw 2 2
/dev/ad3s1e /tmp3 ufs rw 2 2
proc /proc procfs rw 0 0
カーネルの再構築
GENERICカーネルにはccdデバイスが組み込まれていないので、
まずccdデバイスを追加したカーネルへ再構築します。
# cd /usr/src/sys/i386/conf
# cp GENERIC MYKERNEL
# echo pseudo-device ccd 4 >> MYKERNEL
# config MYKERNEL
# cd ../../compile/MYKERNEL
# make depend && make
# make install
# shutdown -r now
コンフィグレーション
# echo ccd0 32 none /dev/ad0s1e /dev/ad1s1e /dev/ad2s1e /dev/ad3s1e > /etc/ccd.conf
ccdデバイスの作成
# cd /dev
# sh MAKEDEV ccd0
ディスクラベルの書き換え
# ccdconfig -C
# disklabel -r -w ccd0c auto
上記コマンドを実行した際、Warning, partition c is...
というワーニングメッセージが出るが無視する。
newfs の実施
# newfs /dev/rccd0c
# mkdir /home
/etc/fstab の修正
/dev/ad0s1e, /dev/ad1s1e, /dev/ad2s1e, /dev/ad3s1eのエントリーを削除して、/dev/ccd0cを追加して再起動します。
# vi /etc/fstab
| # Device | | Mountpoint | FStype | Options | Dump | Pass# |
| /dev/da0s1b | | none | swap | sw | 0 | 0 |
| /dev/da0s1a | | / | ufs | rw | 1 | 1 |
| /dev/ccd0c | | /home | ufs | rw | 2 | 2 |
| proc | | /proc | procfs | rw | 0 | 0 |
再起動