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