NFSとAutoFSの設定
動作確認OSは、Solaris 9である。
NFSサーバーの設定
NFSリソースをシェアするには shareコマンド、シェアを解除するには unshareコマンドを使用する。また、システムのブート時や shareall コマンドの使用時は、/etc/dfs/dfstabファイルで識別されるリソースは自動的にシェアされる。- NFSデーモンの起動 nfsd デーモンと mountd デーモンが動いてなければ、起動する。
- シェアするディレクトリの決定
- /etc/dfs/dfstabファイルの編集
- シェアの実行
# /etc/init.d/nfs.server start
シェアするディレクトリを決める。新しいディレクトリを使用したい場合は、作成しておく。
ファイルは存在するが、デフォルトでは何も設定されていない。shareコマンド行を追加する。
例) share -F nfs -d "project dirs" /share_dir 引数は、以下の通り。 -F : ファイルシステムのタイプ -o : NFS固有オプション -d : シェアデータの説明 shareするディレクトリのパス名
# /usr/sbin/shareall
環境によっては、rootユーザーが suコマンド実行前のユーザーの環境設定を引き継いでいることがある。この場合は"share: not found"のエラーが出るので、自分のプロファイルのパス設定に/usr/sbinを加える。
NFSクライアントの設定
NFSサーバーがシェアしているリソースをマウントするには mountコマンド、マウントを解除するには umountコマンドを使用する。また、システムのブート時や mountall コマンドの使用時は、/etc/vfstabファイルで識別されるリソースは自動的にマウントされる。- マウントポイントの決定 マウントポイントを決める。新しいディレクトリを使用したい場合は、作成しておく。
- /etc/vfstabファイルの編集 エントリを追加する。
- マウントの実行
例) HOST_NAME:/share_dir - /point_dir nfs - yes - フィールドは、以下の通り。 Device To Mount: シェアディレクトリのホスト名と パス名(host:Path) Device To fsck : 使用しないので、'-'を指定 Mount Point : マウントポイント FS Type : ファイルシステムのタイプは、 nfsを指定 fsck Pass : 使用しないので、'-'を指定 Mount At Boot : ブート時またはmountall実行時に マウントする場合はyes、 それ以外はnoを指定 Mount Option : NFS固有オプション soft : サーバーの応答がない場合、 エラーを返して終了する hard : サーバーの応答がない場合、リソース をマウントする試行を続ける intr : hardマウントの待機中にキーボード からの割り込みでプロセスを終了可 nointr : hardマウントの待機中にキーボード からの割り込みでプロセスを終了不可 retry=n : マウント操作をn回再試行する retrans=n : NFS要求をn回再送する timeo=n : NFSのタイムアウトを0.n秒に設定する ro : リソースを読み取り専用でマウント rw : リソースを読み書き可でマウント
明示的にマウント/アンマウント
# mount -F nfs -o soft HOST_NAME:/share_dir /point_dir # unmount point_dir
/etc/vfstabファイルに記述したシェアディレクトリをすべてマウント
# mountall または システムのリブート
AutoFSの設定
AutoFS(Auto File System)サービスは、必要に応じてNFSリソースを自動的にマウント及びマウント解除する場合に使用するクライアント側のサービスである。AutoFSは、NIS, NIS+のようなネーミングサービスと同時に導入されることが多いようである。例えば、ユーザーアカウントやホームディレクトリを一元管理するのに、ネーミングサービスとAutoFSが使用される。各マシンに別のホームディレクトリが存在する場合は、必要性は低いのかもしれない。
AutoFSの利点
- ネットワークトラフィックを削減し、ブートとシャットダウンが高速化される。
- すべてのユーザーが NFSリソースをマウントできる。
- cd コマンド等でマウントポイントにアクセスするだけで、オートマウンタによりマウントが行われる。
- マウント解除は自動的に行われるので、作業の終了後、ファイルシステムのマウントを解除する必要はない。デフォルトでは 10分間アクセスがないと、マウントは解除される。ただし、いずれかのユーザーがオートマウントされたディレクトリ上にいる場合は、解除されない。
AutoFSの設定方法
- AutoFSの起動 automountd デーモンが動いてなければ、起動する。
- AutoFSマップの設定
- オートマウントの運用方法
# /etc/init.d/autofs start
AutoFSサービスの構成は、AutoFSマップで定義する。
/etc/auto_master ファイルや直接マップに変更を加えた場合は、automount コマンドの手動による実行が必要となる(間接マップの場合は必要なし)。
以下に、それぞれのマップの概略を記述する。
/etc/auto_masterファイル
マップのマスターファイル。ディレクトリと間接マップを関連付け、直接マップを参照する。
例) +auto_master /net -hosts -nosuid,nobrowse /home auto_home -nobrowse → 間接マップ /xfn -xfn /- auto_direct → 直接マップ マウントポイント : マウントポイントのフルパス名の先頭部分のパス '/-'なら直接マップ サービスマップ名 : 直接/間接マップ '-'で始まる場合はネームサービスからマップが検索される。 それ以外の場合はローカルの/etcからマップが検索される。 マウントオプション : NFS固有のマウントオプション
間接マップ(/etc/auto_home)
例) guest -rw,nosuid nfsserver:/usr/home/guest キー : マウントポイントのフルパス名の残りの部分 フルパス名の先頭部分のパスは、/etc/auto_masterに 記述されている。 マウントオプション : NFS固有のマウントオプション NFSリソース : NFSサーバーがシェアするファイルシステム
直接マップ(/etc/auto_direct)
例) /usr/games -ro nfsserver:/usr/games キー : マウントポイントのフルパス名 マウントオプション: NFS固有のマウントオプション NFSリソース : NFSサーバーがシェアするファイルシステム
設定を行った後で、ls でマウントポイントがあるディレクトリを表示してもマウントは実行されないので、その下にマウントされているべきディレクトリは見えない。
次のように、cd コマンドで直接ディレクトリにアクセスするか、vi 等のコマンドでリソースに直接アクセスする必要がある。
例) $ cd /home/guest $ vi /home/guest/hoge.txt