Kenji Arisawa
E-mail: arisawa@aichi-u.ac.jp
Aichi University
Kurozasa 370, Miyoshi-cho
Aichi, Japan

2001/06/09

kfs ファイルシステムを作る

kfs ファイルシステムとは Plan9 の端末またはCPUサーバに備える plan9 用の
ローカルディスクの事である。
ここでは SCSI ディスクを例に、 kfs を新たに作る方法を示す。

Plan9端末ではローカルディスクが認識されると自動的に /dev に見える。
CPUサーバでは標準設定ではローカルディスクは隠されているが
bind -a '#S' /dev
を実行すれば /dev に見える。

	sd00	--- SCSI の 0 番
	sdC0	--- IDE の primary master
	sdD0	--- IDE の secondary master
 
ls -l /dev/sd00 は例えば
	--rw-r----- S 0 arisawa arisawa          0 Sep  8 15:14 ctl
	--rw-r----- S 0 arisawa arisawa 8455200768 Sep  8 15:14 data
	-lrw------- S 0 arisawa arisawa          0 Sep  8 15:14 raw

[1]. fdisk でパーティションを作成する
disk/fdisk  -abw /dev/sd00/data
	# did not find master boot record
	対策: disk/mbr /dev/sd00/data を実行する
結果: /dev/sd00/plan9 が作成される
	--rw-r----- S 0 arisawa arisawa          0 Sep  8 15:14 ctl
	--rw-r----- S 0 arisawa arisawa 8455200768 Sep  8 15:14 data
	--rw-r----- S 0 arisawa arisawa 8455168512 Sep  8 15:14 plan9
	-lrw------- S 0 arisawa arisawa          0 Sep  8 15:14 raw
	
[2]. /dev/sd00/plan9 の中に plan9 用のパーティションを作る
disk/prep -baw /dev/sd00/plan9
結果: fs, swap, 9fat が作成される
	term% ls -l
	--rw-r----- S 0 arisawa arisawa   10486784 Sep  8 15:14 9fat
	--rw-r----- S 0 arisawa arisawa          0 Sep  8 15:14 ctl
	--rw-r----- S 0 arisawa arisawa 8455200768 Sep  8 15:14 data
	--rw-r----- S 0 arisawa arisawa 8364940800 Sep  8 15:14 fs
	--rw-r----- S 0 arisawa arisawa 8455168512 Sep  8 15:14 plan9
	-lrw------- S 0 arisawa arisawa          0 Sep  8 15:14 raw
	--rw-r----- S 0 arisawa arisawa   79740928 Sep  8 15:14 swap

[3]. fs を初期化し、local の名前でサービスを開始する
	disk/kfs -rb4096 -f /dev/sd00/fs -nlocal
	すると
	/srv/kfs.local
	/srv/kfs.local.cmd
	が見える。"local" は他の名前でもよい。
	/n/kfs.local を作っておく
	mkdir /n/kfs.local
	mount -c /srv/kfs.local /n/kfs.local
	注: bind の先は /n/kfs.local に拘る必要はないが、サービス名と
	関連を持たせた方が間違いが少ないであろう。
結果: /n/kfs.local に作成したファイルシステムがみえる。
ファイルが作成されていないので
	ls /n/kfs.local
を実行しても何も見えないであろう。
	disk/kfscmd -nlocal allow
	cd /n/kfs.local
	touch x
	ls -l
を実行して見るがよい。

[4]. kfs の最小システムを作成する
この場合注意したいのは、この新しいファイルシステムを誰に使わせるかである。
多分一番多いケースは、現在運用中のファイルシステムのユーザであろう。
その場合には次のようになる。
	p=/sys/lib/sysconfig/proto/tmponlyproto
	disk/kfscmd -nlocal allow
	disk/mkfs -v -d /n/kfs.local -u /adm/users $p
	disk/kfscmd -nlocal user
この後不要なユーザを削るのが良い。
なお、Plan9 ではファイルシステムの間でユーザID(番号)を統一する必要はない

[5].この後は、作成されたファイルシステムの用途によって方針が異なる
既存のディスクのコピーに関しては「ファイルシステムのバックアップ」を
見よ。