mountコマンド使用してNFS共有がクライアント側にマウントされます。コマンドのフォーマットは次の通りです。
mount -t <nfs-type> -o <options> <host>:</remote/export> </local/directory> |
<nfs-type>を NFSv2 又は NFSv3サーバー用のnfsか、NFSv4 サーバー用のnfs4に置き換えてください。<options>を NFS ファイルシステム用のカンマ区切りのオプション一覧(詳細は項9.4.3を参照)に置き換えます。<host>はリモートホストに置き換え、</remote/export>は、マウントされるリモートディレクトリに置き換えます。そして</local/directory>は、リモートファイルシステムがマウントされるローカルディレクトリに置き換えて下さい。
詳細はmount man ページを参照ください。
手動でmountコマンドを実行し、NFS共有にアクセスしている場合、システムがリーブートした後にファイルシステムを再度手動でマウントしてください。 Red Hat Enterprise Linuxにてブート時に自動でリモートファイルシステムをマウントする方法は /etc/fstab ファイルとautofsサービス の次の2つがあります。
ブート時に/etc/fstabファイルは netfsサービスにて参照されるため、NFS共有を参照するラインはブートプロセスでのmountコマンドの手動入力と同じ効力があります。
NFSエクスポートをマウントする/etc/fstab 行は、次のようなものになります。
<server>:</remote/export> </local/directory> <nfs-type> <options> 0 0 |
<server> をホスト名、IPアドレス、ファイルシステムをエクスポートする完全修飾ドメイン名のいずれかに置き換えてください。
</remote/export> をエクスポート対象ディレクトリのパスに置き換えてください。
</local/directory;> をエクスポート対象ディレクトリのローカルファイルシステムに置き換えてください。このマウントポイントの存在を確認してから /etc/fstabの読み出しをします。存在しないとマウントできません。
<nfs-type>は、NFSv2 か NFSv3サーバー用の nfs、あるいはNFSv4 サーバー用のnfs4に入れ替えます。
<options>をNFSファイルシステムの コンマ区切りのオプションリストに置き換えてください。 (項9.4.3 を参照ください) 詳細はfstab man ページを参照ください。
/etc/fstabを使用する上での難点の1つは、マウントされたファイルシステムの使用頻度に関係なく、マウントされたファイルシステムを維持するためにシステムが専用にリソースを提供しなければならないことです。これは1つや2つのマウントでは問題になりませんが、1度に多数のシステムへのマウントを管理している場合は、システム全体のパフォーマンスが低下します。/etc/fstabに代わる方法としてカーネルベースのautomount ユーティリティを使用する方法があります。これを使用すると、NFSファイルシステムのマウント/アンマウントが自動的に行われ、リソースを節約することができます。
automount コマンドを/etc/auto.master一次設定ファイルにて制御するのに autofsサービスが使用されます。automountはコマンド行で指定できますが、手ですべてを入力するよりも、 ファイルのセットに マウントポイント、ホスト名、エクスポート対応ディレクトリ、 オプションを指定する方が便利です。
autofs設定ファイルは親子関係にて配列されています。 主設定ファイル(/etc/auto.master)は、ある特定の マップタイプ にリンクされているシステム上のマウントポイントを表示します。 マップタイプは、その他の設定ファイル、プログラム、NISマップ、一般的でないマウント方法などにあたります 。 auto.masterファイルには、各マウントポイントを参照するラインが次のように構成されています。
<mount-point> <map-type> |
この行の<mount-point>要素はローカルファイルシステム上の マウントする場所を示しています。<map-type>は、 マウントポイントのマウント方法を示します。 NFSエクスポートを自動マウントする最も一般的な方法は、 1つのファイルを特定のマウントポイント用のマップタイプとして使用するやり方です。 マップファイルは通常、 auto. <mount-point> という名前が付けられています。 この<mount-point> とはauto.masterの中で指定されているマウントポイントで、以下のような行が含まれています。
</local/directory> -<options> <server>:</remote/export> |
</local/directory;> を エクスポート対応ディレクトリのローカルファイルシステムに置き換えてください。 このマウントポイントの存在を確認してから マップファイルの読み出しを行なってください。マウントポイントが存在しない場合はマウントできません。
<options>をNFSファイルシステムの コンマ区切りのオプションリストに置き換えてください。 (詳細は項9.4.3 を参照ください) オプションリストのすぐ前にハイフン(-)があるか必ず確認してください。
<server> をホスト名、IPアドレス、ファイルシステムをエクスポートする完全修飾ドメイン名のいずれかに置き換えてください。
</remote/export> をエクスポート対象ディレクトリのパスに置き換えてください。
<options> をNFSファイルシステムの コンマ区切りのオプションリストに置き換えてください。 (詳細は項9.4.3 を参照ください)
autofs設定ファイルは多数のタイプのデバイスやファイルシステムのさまざまなマウントに使用できますが、 NFSマウントを作成する際に特に便利です。 たとえば、一部の組織はユーザーの/home/ディレクトリを NFS共有により中央のサーバーに格納しています。次に、各ワークステーションに auto.master ファイルを設定して、NFSにより/home/ディレクトリをマウントする方法の詳細を含むauto.home ファイルをポイントさせています。これにより、ユーザーは、内部ネットワークのどこでログインしても /home/ディレクトリの個人データと設定ファイルにアクセスできます。この場合のauto.master ファイルは、次のようなものになります。
/home /etc/auto.home |
この結果、/etc/auto.homeファイルによって設定されるローカルシステムに /home/マウントポイントがセットアップされます。このファイルの内容は、次のようなものです。
* -fstype=nfs4,soft,intr,rsize=32768,wsize=32768,nosuid server.example.com:/home |
この行の内容では、ローカルの/home/ディレクトリ下にあるユーザーがアクセスを試みるすべてのディレクトリ (アスタリスク文字により)によって、マウントポイント/home/の server.example.comシステム上にNFSマウントが行なわれる ことになります。 NFSがマウントする/home/ディレクトリを指定するマウントオプションは ある特定の設定を収集するのに使用されます。 ここで使用されているの例も含めて、マウントオプションの詳細については、 項9.4.3を参照して下さい。
autofs 設定ファイルに関する詳細は auto.master manページを参照ください。
NFS によりファイルシステムをリモートホストにマウントする以外に、他の多種多様なオプションをマウント時に指定することで使いやすくすることができます。これらのオプションは、手動のmountコマンド、/etc/fstab設定、及びautofsと併用して使用できます。
NFSマウントによく使われるオプションは次の通りです。
fsid=num — ワイヤー上のファイル処理とファイル属性設定を、マウントされたファイルシステム上のブロックデバイスのメジャー番号やマイナー番号からの数字ではなく、強制的にnumとします。値0は、NFSv4 使用時に特別な意味を持ちます。NFSv4 には総合的なエクスポート対象のファイルシステムの root について 1つの概念があり、fsid=0と共にエクスポートされたエクスポートポイントはこの root として使用されます。
hard 又は soft — エクスポートファイルシステムのホストが使用不能になった場合に、NFS 接続経由のファイルを使用するプログラムを停止して、サーバーがオンライン復帰するのを待つかどうか(hard)、あるいはエラーを報告するかどうか(soft)を指定します。
hardを指定した場合は、intrオプションを一緒に指定しない限り、 NFS通信が再開するのを待つプロセスを終了することはできません。
softを指定した場合は、追加のtimeo=<value> オプションを設定できます。ここで、<value>はエラーが報告されるまでの経過秒数を指定します。
intr — これを使用すると、サーバーダウン又はサーバーへの 接続ができない場合にNFS要求を割り込ませることができます。
nfsvers=2 又は nfsvers=3 — 使用するNFS プロトコルのバージョンを指定します。これは、複数の NFS サーバーを実行するホストには便利です。バージョンが指定されていない場合、NFS はカーネルとmountコマンドによりサポートされる最高数のバージョンを使います。このオプションは NFSv4 ではサポートされていないので、使用されません。
noacl — 全ての ACL プロセスを停止します。最新の ACL 技術は 旧式のシステムに対応しないため Red Hat Enterprise Linux 、Red Hat Linux、や Solaris の旧バージョンでのインターフェイスでこれが必要になるかも知れません。
nolock — ファイル ロッキングを無効にします。 この設定は旧NFSサーバーに接続するときに必要になる場合があります。
noexec — マウントされたファイルシステム上でバイナリを実行できないようにします。システムがLinux以外のファイルシステムを互換性のないバイナリを含む NFS 経由でマウントしている場合に便利です。
nosuid — set-user-identifier や set-group-identifierビットを無効にします。これにより、リモートユーザーがsetuid プログラムを実行してもそれ以上の特権を受けられないようにします。
port=num — NFS サーバーポートの数値を指定します。numが0 (デフォルト)の場合、mountは、使用するポート番号の為にリモートホストの portmapper にクエリを出します。リモートホストの NFS デーモンがportmapper に登録されていない場合は、標準 NFS ポート番号である TCP 2049 が使用されます。
rsize=num and wsize=num — これらの設定は、一度に転送されるデータブロックサイズ(バイト)をより大きくすることでNFS 通信の読み出し(rsize)と、書き込み(wsize)のスピードを上げます。これらの値を変更するときは注意してください。ブロックサイズを大きくすると、一部の旧 Linuxカーネルとネットワークカードが正常に機能しない恐れがあります。NFSv2 や NFSv3 には、両方のパラメータのデフォルト値は8192 に設定されています。NFSv4 には 両方のパラメータは 32768 に設定されています。
sec=mode — NFS 接続を認証する時点で使用するセキュリティのタイプを指定します。
sec=sysはデフォルトのオプションで、NFS 稼働を認証する為にAUTH_SYS の活用でローカル UNIX UID と GID を使用します。
sec=krb5は、ユーザーの認証にローカル UNIX UID と GID でなく、Kerberos V5 を使用します。
sec=krb5iはユーザー認証に Kerberos V5 を使用し、データ悪意操作を防止するのに安全なチェックサムを使って、NFS 稼働の一貫性チェックを達成します。
sec=krb5pはユーザー認証、一貫性チェック、及び NFS 通信の暗号化に Kerberos V5 を使用し、通信盗聴を防止します。これは最も安全な設定ですが、多くのパフォーマンス負担を巻き込みます。
tcp — NFS マウントが TCPプロトコルを使用するよう指定します。
udp — NFSマウントが UDPプロトコルを使用するよう指定します。
mountとnfsの manページには利用できるオプションが数多くあります。