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