サーバーによって利用可能になっているNFS共有は、すべて多様な方法を使用してマウントできます。 共有は、mountコマンドを使用して手動でマウント出来ますが、この方法ではシステムが 再起動する度にrootユーザーがmountコマンドを入力することになります。 起動時に、自動的にNFS共有がマウントされる設定は /etc/fstabの修正、 又はautofsサービスの使用を含む2種類があります。
/etc/fstabファイルに適切にフォーマットした行を配置すると、エクスポートファイルシステムを 手動でマウントするのと同じ効果が得られます。/etc/fstabファイルはシステムの起動時に /etc/rc.d/init.d/netfsスクリプトによって読み取られます。そこに指定してあるNFS共有はどれも マウントされます。
NFSエクスポートをマウントする/etc/fstab行は、次のようなものになります:
<server>:</path/of/dir> </local/mnt/point> nfs <options> 0 0 |
<server-host>は、ファイルシステムをエクスポートする サーバーのホスト名、IPアドレス、完全修飾ドメイン名のいずれかです。
</path/of/directory>はエクスポートディレクトリへのパス(経路)です。
</local/mount/point>はエクスポートディレクトリをマウントする ローカルファイルシステム上の場所を指定します。このマウントポイントは、/etc/fstabが読み込まれる 前に存在する必要があります。そうしないとマウントはできません。
nfsオプションはマウントされるファイルシステムの タイプを指定します。
<options>の部分には、ファイルシステムのマウントする方法を指定します。 例えば、オプションの部分がrw,suidを示す場合、エクスポートファイルシステムは読み書きでマウントされ、 サーバーによって設定されたユーザーIDとグループIDが使用されます。ここでは、かっこ( )を使用しないことに注意して下さい。 マウントオプションについての詳細は、項9.3.3を参照してください。
/etc/fstabを使用する上での難点の1つは、そのマウントされたファイルシステムをどれほど 使用しているかに関係なく、そのマウントを所定の状態に保持するためにシステムが専用にリソースを提供しなければならないことです。 これは1つや2つのマウントでは問題になりませんが、1度に多数のシステムへのマウントを保持するときは、システム全体の パフォーマンスが低下します。/etc/fstabに代わる方法はカーネルベースのautomount ユーティリティを使用することです。これを使用すると、NFSファイルシステムのマウント/アンマウントが自動的に行われ、リソースを 節約できます。
/etc/rc.d/init.dディレクトリにあるautofsスクリプトを使用して、 /etc/auto.master主設定ファイルによりautomountを制御します。 automountはコマンド行で指定できますが、手ですべてを入力するよりも、ファイルのセットに マウントポイント、ホスト名、エクスポートディレクトリ、オプションを指定する方が便利です。指定のランレベルで 起動、停止するサービスとしてautofsを実行することで、さまざまなファイルのマウント設定を 自動的に実装できます。
autofs設定ファイルは親子関係に配列されています。主設定ファイル(/etc/auto.master)は、ある特定のマップタイプにリンクされているシステム上のマウントポイントを参照します。マップタイプは、そのほかの設定ファイル、プログラム、NISマップ、一般的でないマウント方法などの書式をとります。auto.masterファイルには、次のように編成されたマウントポイントのそれぞれを参照する行が含まれています:
<mount-point> <map-type> |
この行の<mount-point>要素はローカルファイルシステム上の マウントする場所を示しています。<map-type>は、マウント されるマウントポイントの方法に関連しています。NFSエクスポートの自動マウントの最も一般的な手段は、1つの ファイルを特定のマウントポイント用のマップタイプとして使用することです。マップファイルは通常、auto. <mount-point>という名前が付けられ、この<mount-point> とはauto.masterの中で指定されているマウントポイントで、 以下のような行が含まれています:
<directory> <mount-options> <host>:<exported-file-system> |
<directory>は、エクスポートファイルシステムをマウントする マウントポイント内のディレクトリです。標準のmountコマンドとほぼ同じで、ファイルシステムを エクスポートするホストとエクスポート対象のファイルシステムは、<host>: <exported-filesystem>セクションに存在する必要があります。エクスポート ファイルシステムをマウントするときに使用する特定のオプションを指定するには、<mount-options> セクションにカンマで区切って配置します。autofsを使用するNFSマウントの場合は、 <mount-options>セクションに-fstype=nfsを 配置する必要があります。
autofs設定ファイルは多数のタイプのデバイスやファイルシステムのさまざまなマウントに使用できますが、 NFSマウントを作成する際に特に役立ちます。たとえば、一部の組織はユーザーの/home/ディレクトリを NFS共有により中央のサーバーに格納しています。次に、ワークステーションのそれぞれでauto.master ファイルを設定して、NFSにより/home/ディレクトリをマウントする方法の詳細を含むauto.home ファイルをポイントさせています。これにより、ユーザーは、内部ネットワークのどこでログインしても /home/ディレクトリの個人データと設定ファイルにアクセスできます。この場合のauto.master ファイルは、次のようなものになります:
/home /etc/auto.home |
この結果、/etc/auto.homeファイルによって設定されるローカルシステムに /home/マウントポイントがセットアップされます。このファイルの内容は、 おそらく次のようなものです:
* -fstype=nfs,soft,intr,rsize=8192,wsize=8192,nosuid server.example.com:/home |
この行の内容では、ユーザーがアクセスを試みる、ローカルの/home/ディレクトリ下の すべてのディレクトリ(アスタリスク文字により)は、そのエクスポート/home/ファイルシステム内の server.example.comシステム上でNFSマウントが行われることを示しています。このマウントオプションは、NFSがマウントする /home/ディレクトリそれぞれがセッティングの特定の集まりを使用することを指定しています。マウント ここで使用されているの例も含めて、オプションの詳細については、項9.3.3を参照して 下さい。
NFSによりファイルシステムをリモートホストにマウントする以外に、多種多様なオプションをマウント時に 指定して使いやすくすることができます。これらのオプションは、手動のmountコマンド、 /etc/fstab設定値、autofs、その他のマウント方法などを併用できます。
以下のオプションは、NFSマウントに最も使われているものです:
hard 又は soft — エクスポートファイルシステムをサービスするホストが 使用不能になった場合に、NFS接続経由のファイルを使用するプログラムが停止して、サーバーがオンライン復帰するのを 待つかどうか(hard)、あるいはエラーを報告するかどうか(soft)を指定します。
hardを指定した場合は、intrオプションを一緒に指定していない限り、 NFS通信が再開するのを待つプロセスを終了することはできません。
softを指定した場合は、追加のtimeo=<value> オプションを設定できます。ここで、<value>はエラーが報告 されるまでの経過秒数を指定します。
intr — これを使用すると、サーバーがダウンしたか、途絶えたときにNFS要求を 割り込ませることができます。
nolock — 旧NFSサーバーに接続するときに必要になる場合があります。 ロックを要求するには、lockオプションを使用します。
noexec — マウントされたファイルシステム上でバイナリの実行を許可しません。 これが役立つのは、NFS経由で使用しているシステム上に互換性のないバイナリを含むLinux以外のファイルシステムを マウントしている場合です。
nosuid — set-user-identifier/set-group-identifierビットを有効にすることを 許可しません。
rsize=8192 及び wsize=8192 — 1度に伝送するデータのブロックサイズ(バイト単位)の設定値を大きくすることで、 NFS通信の読み出し(rsize)、書き込み(wsize)をスピードアップします。 これらの値を変更するときは注意してください。ブロックサイズを大きくすると、一部の旧Linuxカーネルと ネットワークカードが正常に機能しないおそれがあります。
nfsvers=2 及び nfsvers=3 — 使用するNFSプロトコルのバージョンを指定します。
mount manページには利用できるオプションがさらに数多くあり、中には非NFSファイルシステムを マウントするときに使用するオプションなどがあります。