ccd /usrのページ

ccdドライバを利用してRAID0相当のことがOSで出来る。I/Oのスループットを 上げたい場合にはうってつけだが、/usrをccdドライブ上に作るにはちょっと した手順を踏む必要が有る。というのはccdドライバに必要な物がccdで合成 されるドライブ上にあっては、箱の鍵は箱の中状態になってしまうからである。

OSの install

パーティションの区切りから計画を立てておこう。2台のドライブ上の パーティションがなるべく対称である方が効率が良くなる。ついでだから swapパーテションも複数のドライブにインターリーブしておこう。

distributionは、まずはbinとsys(kernel)があればよい。/(root)パーティション はマジメにinstallするが、/usr以下は一旦installした後消してしまうからだ。 sysをinstallするのは、GENERIC kernelにはccdドライバが含まれていないため 再構築が必要だからである。 例:

sd0	a:/
	b:swap
	e:/usr(仮)
sd1	a:/var
	b:swap
	e:/usr1(仮)

kernel再構築

ccdドライバを有効にしてkernelを再構築する。コンフィギュレーション ファイルは /パーティションにコピーしておこう。

さらに/etc/termcapをシンボリック リンクではなく、/usr/share以下に有る 実体をコピーしよう。/usr以下は消してしまうが、/stand/sysinstallには termcapデータベースが必要だからである。

またデバイス スペシャル ファイルも作っておく。

# cd /dev
# ./MAKEDEV ccd0

fix it フロッピーの作成

static linkされたコマンドが必要なので作っておく。

ccdconfig

いよいよ時は来た。シングルユーザブートして適当なccd.confファイルを 作る。catをリダイレクトすればよいだろう。例:
/etc/ccd.conf:
	ccd0	256	0	/dev/sd0s1e	/dev/sd1s1e
そして ccdconfig -C。うまくいったら newfs /dev/rccd0c。これを /usrにmountして、またdistributionを展開する。
# mount /dev/ccd0c /usr
fix itフロッピーをマウントして/standコマンド群を駆使しよう。PATHを 適切に設定しておくと良いだろう。

最後に/etc/fstabを編集し直すのを忘れないように!

/dev/ccd0c		/usr	ufs	rw	1 1

感想

/etc/rcのかなり最初の方に ccdconfig -Cとあるのに刺激されて挑戦してみた のだが、スループットの向上の他に、古い容量の小さなdiskの活用にもなる ようである。今や単体では使い道の無い200MB以下のdiskが複数台眠って いるようであれば一度お試しあれ。
Powered by FreeBSD
For questions or comments, please send mail to: kaz@kobe1995.net