[an error occurred while processing this directive]

(Illustration by Gaich Muramatsu)

Coda File System

Home Downloads
(インフォサイエンス)
Bugs Documentation
News Mailing lists FAQ Research
 
---------

次へ 戻る コンテンツ


3. Coda の設定と開始

WARNING:

CODA はプロダクションの使用のための準備が不十分です。このリリースは機能の作動試験のためのものです。カーネルコードを含み、サーバは root 権限で走ります。データ・ロスがあるかもしれません。

Coda を走らせるには 3 つのステップがあります:

  1. クライアントのためにカーネルを利用できる Coda を入手します(サーバには特別なカーネルは必要ありません)。
  2. クライアント・キャッシュ・マネージャ・Venus を設定して、走らせます
  3. ファイルサーバ、認証サーバ、更新サーバを設定して、走らせます
  4. 新しいサーバにクライアントを接続します

3.1 カーネル利用可能な Coda の入手

Coda クライアントを使う前に、カーネルに新しいファイルシステムのドライバが必要です。大体、このドライバはユーザレベルのキャッシュ・マネージャ venus にリクエストをリダイレクトします。コンパイル前のモジュールは、普通に使われるカーネルとして存在します。もしあなたのためのモジュールがなければ、以下を見てください。

Linux

coda-fs-module-k2.?.?-c?.?.?.arch.rpm rpm パッケージを入手して、インストールしてください。 k2.?.? はカーネルバージョン(uname -a)と一致していなければならず、c?.?.? は Coda のバージョンと一致していなければなりません。

Linux カーネルはしばしば変更があり、多くの人は環境に合わせてカーネルをカスタマイズしています。私たちのモジュールは RedHat Linux カーネルでだけ動くもので、カーネルのためにモジュールを構築することになるかもしれません。カーネルモジュールの構築を見てください。

FreeBSD

FreeBSD 配布から Coda lkm を入手することができます:

cd /lkm
coda_mod.o が既にあるかどうか確認してください。そうでなければ、Coda サイトから Coda lkm を入手してください:
ftp://ftp.coda.cs.cmu.edu/pub/coda/freebsd/3.0-aout/i386/coda_mod.o

lkm のインストールは:

modload -v -e coda_mod -o /var/run/lkm.coda /lkm/coda_mod.o

カーネルに Coda VFS レイヤのためのサポートを構築することができます。これは後にあるFreeBSD の構築で詳述します。

NetBSD

注: GENERIC NetBSD カーネルは Coda を使用可能になっています。 実行:

nm -o /netbsd | grep coda_open
もしこれがあれば、このセクションはおしまいです。 先に進む必要はありません

lkm をロードする必要があれば、NetBSD 配布にあるはずです:

cd /usr/lkm

coda.o が既にあるかどうか見てください。そうでなければ、Coda サイトから Coda lkm を入手できます:

ftp://ftp.coda.cs.cmu.edu/pub/coda/netbsd/current/i386/coda-1_3H.o

それから lkm をインストールします:

modload -v -e coda_lkmentry -o /var/run/lkm.coda /usr/lkm/coda-1_3H.o

カーネルに Coda VFS レイヤのためのサポートを構築しますが、これは自動的に行われます。後にある NetBSD の構築で詳述します。

Windows 95 & NT

カーネル・モジュールは Coda クライアント・インストーラの一部です。

3.2 Linux と BSD: Venus とクライアント・キャッシュ・マネージャの作動

これは Coda ファイルシステムのセットアップと設定についての簡単な説明です。 ここで作成されたセットアップの改良については、http://ftp.coda.cs.cmu.edu/doc/html/manual.html に記述されています。最初の例では多分改良を必要としません。

venus-setup スクリプトは面倒な作業を全て行い、coda コントロール・ファイルをセットアップして、カーネルと通信するために /dev/cfs0 を作り・・・をします。キャッシュファイルのためにディレクトリを初期化します。最初の Coda の作動では 20 MB のキャッシュを推奨します。キャッシュサイズは少なくとも 10Meg、普通は 60-200Meg です。300Meg 以上にはなりません。作成された全てのファイルは /usr/coda 下に置かれます。 /usr/coda が一杯になったキャッシュを維持するために常駐する、ファイルシステムに十分なスペースがあることを確かめてください。

venus-setup <comma_separated_host_list> <cache_size_in_kb>

venus-setupvenus/usr/sbin にあります。 /usr/sbin にパスが通っていることを確かめてください。 まず最初に comma_separated_host_list として testserver.coda.cs.cmu.edu を試すことをお勧めします。キャッシュサイズを 20000 にします。

注: venus-setup はサービスを追加するために /etc/services を編集します。

以下では X-Windows が動いているものとします。しかし、仮想コンソールの場合にはコマンドを入力する前に xterm -e を省略して実行してください。

Venus の起動:

venus &

-init フラッグは venus を起動するときに使います; ローカル・キャッシュのコンテンツをフラッシュします。 venus が最初に起動すると、venus-setup は init します。-init フラッグは、Coda がクラッシュの後、あるいは手動で vstab ファイルを編集した後そのキャッシュをリカバーできないときに、与えられます。

venus ログの監視:

xterm -e tail -f /usr/coda/etc/console
venus が起動してステータスを与えるとこうなります

Type:

xterm -e codacon &
Venus と Vice 間の通信を見るためです。

Venus のログが上昇することにより、カーネルから Venus へのアップコールを見ることができますが、あまり面白いものではありません。 (最小デバッグに変えるには:

vutil -d 1
そして tail -f /usr/coda/coda.cache/venus.log)

venus を halt するには:

vutil shutdown
umount /coda  (Linux only)
あるいは kill -9 venus 。

Linux ユーザへ:

3.3 Windows 95: Coda クライアントの起動と設定

インストールのときに、クライアントと Coda サーバ の IP アドレスの入力があります。指示通りに入力してください。

全ての実行プログラムは C:\usr\coda\bin ディレクトリにあります。

Coda を動かすには二つの方法があります:

CodaStart

CodaStart プログラムは、Windows 95 Coda クライアントを制御して監視する Win32 のアプリケーションです。将来は拡張されるでしょう。Venus.exe を起動して、カーネル・モジュールをロードするのが簡単です。デバッグの目的で kernel-venus の通信も表示します。表示されるメッセージは'Monitor'チェックボックスを外すことで停止します。'Reset'ボタンで表示を消去します。

  1. 初めて Venus を起動するとき、あるいはそのキャッシュを初期化したいとき'Init Venus'チェックボックスをチェックしてください。これは'-init' と '-cf 1500' のフラッグで Venus を起動します。フラッグを追加するか無効にするには 'Configure' ボタンを使ってください。'Start'ボタンをクリックして Venus を起動してください。'Status' メッセージは Venus 起動時に 'Running' であることを表示します。Venus がまだ初期化中であることに注意してください。
  2. 'Start'ボタンを右クリックするとカーネル・モジュールをロードします。うまく動けば'Status'メッセージは'Running'を示します。
  3. マウントするには'Mount'ボタンをクリックして、最初のメッセージを見てください。'Monitor'が無効になっていれば、Venus が走っている DOS ボックスをチェックしてください。'Venus starting...' という表示が出たら 'Mount' を実行してください。
  4. アンマウントするには、'Unmount'ボタンを押してください('Mount' ボタンは 'Unmount' ボタンに変更されています)。これはカーネル・モジュールをアンロードします。CodaStart で Coda をアンマウントできなければ、'Starting Coda by hand'にある方法を試してください。
  5. 以下の 'Important Note' を見てください。

エクスプローラを使って Coda ファイルシステムの中を見ることができます!

手動による Coda の起動

  1. relay.exe
    
    をコマンド Window で入力してください。これはエクスプローラにあるファイルをダブルクリックすることによって起動する 32bit の DOS アプリケーションです。
  2. ここで Venus を起動します。
    venus.exe -cf 1500 -init
    
    をコマンド Window で入力してください。 (これは 1500 のキャッシュ・ファイルを放棄して、うまく動けばそれ以上にします。初期化は指定したキャッシュファイル以上になります)
  3. Venus が "Venus starting ..." を表示すると、
    mount.exe N:
    
    が走ります。 これは Coda ファイルシステムを N: ドライブにマップします。

エクスプローラを使って Coda ファイルシステムの中を見ることができます!

  1. キャッシュを初期化しないで Venus を再起動したければ、venus.exe を走らせるだけです。 もし venus が再起動にクラッシュすれば、あなたのやることはいつも通りです。
  2. リレーがクラッシュしたら、N: ドライブのマウントを外して:
    unmount.exe
    
    を実行します。これは relay.exe を停止して(もし走っていれば)、relay.exe によってロードされた codadev.vxd をアンロードします。

特に注意すること

注: インストールによっては、アクティブでないときに DPMI DOS エクステンダ・ウィンドウがサスペンドします。この場合、window のプロパティ 'Properties->Misc->Background->Always Suspend' のチェックを外します。もしチェックされていなければ、チェックして、チェックを外してみるといいかもしれません。また、'Termination' フラッグのチェックを外すと、システムがシャットダウンしたときに Coda が自動的にシャットダウンするようになります。'Program'タブにある'Close on Exit'チェックボックスをチェックしておくと便利です。

3.4 Codasrv -- ファイルサーバ

サーバの設定

SCM サーバをセットアップするためには、vice-setup スクリプトを走らせます。このスクリプトは /vice ディレクトリ下に設定ファイルを作り、ファイルデータとメタデータのストレージのために、システムにファイルとディレクトリを作ります。vice-setup が聞いてくることに答えるには、以下の見解を持っていることが必要です:

ファイルスペース

ファイルサーバがファイルを置くディレクトリは、空のディレクトリ(viz /vicepa)です。このファイルシステムにある空き領域は、Coda に置きたいデータと同じ位でなければなりません。

RVM メタデータのストレージ

RVM メタデータのためのファイルか生パーティションです。ファイルを使うことができますが、大きいサーバでは非常に遅くなります。このパーティションは /vicepa に置きたいファイルのトータルサイズの 4% 程度でなければなりません(例えば、2GB のサーバなら rvm データは 80M 程度使います)。最初のインストールでは、RVM ログとデータのためのファイルで使う、デフォルトの 22M オプションを推奨しています。 (注: Windows NT のセットアップは c:\coda\rvm\DATA ファイルを作ります。RVM メタデータのためにこれを使います。)

仮想メモリ

RVM データファイルにあるメタデータはメモリ・マップされています。 サーバ( 6MB)とその他のソフトウェアを走らせる仮想メモリとは別に、システムの仮想メモリとしての空きが必要です。

RVM トランザクション・ログ

ログファイルはできれば、ディスクの新しいパーティションです。これは大きい必要はなくて、数 MB で大丈夫です。 (注: Windows NT セットアップは c:\coda\rvm\LOG ファイルを作ります。RVM トランザクション・ログのためにこれを使います)

サーバ番号

coda セルにある全てのサーバは認識のためにユニークな番号を持っている必要があります。id がマップしているサーバ名は SCM の /vice/db/servers ファイルにある管理者によって定義されます。このファイルのフォーマットは以下です:

     servernameX.domain.name    1
     servernameY.domain.name    2
     ...

id が実際には使用できない、いくつかの制限があります:

これはサーバの id として 1-126、128-245 が使えるということです。

シークレット・トークン

二つのシークレット・トークンはきっちり 8 文字です

注: セットアップ・スクリプトを走らせる準備はできています。 サーバをそれぞれに設定するのは非常に難しいので、示されたデフォルトの選択にすることを強く勧めます。

それから実行します:

vice-setup
質問に答えてください。vice-setup が最後に出力するコマンドをメモしてください。

注: Windows NT の場合、"Start"メニューから実行する Cygwin B19 シェルが必要でしょう。シェルは root のマウントポイントである c:\coda ディレクトリを使います。

Vice の起動:

タイピングによるファイルサーバと同じように、rpc2portmap サーバ、更新サーバ、クライアントと認証サーバを起動します:

Linux

/etc/rc.d/init.d/auth2.init start
/etc/rc.d/init.d/update.init start
/etc/rc.d/init.d/codasrv.init start

BSDs

/etc/rc.vice start

Windows NT

codastart

ログの監視:

xterm -e tail -f  /vice/srv/SrvLog & 
SrvLogFile Server started を表示するはずです。そうでなければ、なにか問題があるのです。

pscodasrv, auth2, rpc2portmap, updatesrv, updateclnt が走っているのを見てください。

root ボリュームの作成

設定の間に、プログラムに root ボリュームのための名前を入力します。この root ボリュームを作る必要があります: 的確なコマンドは vice-setup プログラムによって表示され、以下で /vicepa にファイルスペースがあり、root ボリュームが coda:root であると仮定します。

createvol_rep coda:root E0000100 /vicepa

NOTE: E0000100 は vice-setup による Volume Storage Group セットアップです。多くのサーバでは /vice/db/VSGDB に他のグループを定義します -- Coda ユーザマニュアルを見てください。

3.5 新しい Coda サーバへのクライアントの接続

このサーバで Venus(クライアント) をポイントする準備ができました。

venus-setup  server-name cache-szie-in-kb
を実行します。 注: Windows 95 ユーザの場合は IP アドレスを入力しますが、サーバのホスト名は入力しません。

上にある説明のようにして Venus を起動します。coda のクライアント側からは、root ボリュームが /coda 下になります。それを使うのは Coda の認証なので、書き込みの保護がされています。

vice-setup プログラムはサーバに Coda の管理ユーザをインストールしました。選択された uid を持ち、パスワードが割り振られます。この uid で Coda をクロッグします:

clog "adminuser"
ctokens ユーティリティを使ってトークンの保持を有効にしてください。

coda に新しいファイルを作ることができるのは、管理ユーザが /coda ディレクトリのアクセス制御リスト(ACL) にいるからです。Coda で行うより多くのことについては、次のセクションを見てください。


次へ 戻る コンテンツ

---------
詳しくはメールで

このページの情報に関わる、ご質問、お問い合わせは、 japache@infoscience.co.jpまで。
Coda ホームページ