別のマシンからNFS共有ディレクトリをマウントするには、mountコマンドを使用します。
mount shadowman.example.com:/misc/export /misc/local |
![]() | 警告 |
---|---|
ローカルマシン上にマウントポイントディレクトリ(上記の例では/misc/local)が存在していなければなりません。 |
このコマンドでは、shadowman.example.comはNFSファイルサーバーのホスト名であり、/misc/exportはshadowmanがエクスポートしているディレクトリで、/misc/localはファイルシステムをマウントするローカルマシン上の場所です。mountコマンドを実行した後は、(shadowman.example.comNFSサーバーから適切な権限がクライアントに与えられていれば)クライアントユーザーはls /misc/localを実行して、shadowman.example.com上の/misc/exportに含まれるファイルの一覧を表示させることができます。
ほかのマシンからNFS共有をマウントするもう1つの方法は、/etc/fstabファイルに行を追加する方法です。この行では、NFSサーバーのホスト名、エクスポートするサーバー上のディレクトリ、NFS共有をマウントするローカルマシン上のディレクトリを指定します。/etc/fstabファイルを修正できるのはrootだけです。
/etc/fstab内のこの行の一般的な構文は次のとおりです:
server:/usr/local/pub /pub nfs rsize=8192,wsize=8192,timeo=14,intr |
クライアントマシン上にマウントポイント/pubが存在している必要があります。この行をクライアントシステムの/etc/fstabに追加した後、シェルプロンプトでコマンドmount /pubを入力すると、サーバーからマウントポイント/pubがマウントされます。
NFS共有をマウントする3つ目の方法は、autofsの使用です。autofsはautomountデーモンを使ってマウントポイントを管理し、マウントポイントがアクセスされる場合にのみ動的にマウントします。
autofsは、マスターマップ設定ファイル/etc/auto.masterを参照して、どのマウントポイントが定義されているかを判別します。そして、マウントポイントごとに適切なパラメータを指定して、automountプロセスを起動します。マスターマップ内の各行では、マウントポイントと、そのマウントポイント下にマウントするファイルシステムを定義する別のマップファイルが定義されています。たとえば、/etc/auto.miscファイルでは、/miscディレクトリ内のマウントポイントが定義されるかも知れません。このディレクトリとマウントポイント間の関係は、/etc/auto.masterファイルで定義されることになります。
auto.master内の各項目は、3つのフィールドで構成されます。1つ目のフィールドはマウントポイントです。2つ目のフィールドは、マップファイルの場所で、3つ目のフィールドはオプションフィールドです。3つ目のフィールドには、タイムアウト値などの情報を入力することができます。
たとえば、ユーザーマシンのマウントポイント/misc/myprojectに リモートマシンpenguin.host.netのディレクトリ/proj52をマウント するには、auto.masterに次の行を追加します:
/misc /etc/auto.misc --timeout 60 |
/etc/auto.miscに次の行を追加します:
myproject -rw,soft,intr,rsize=8192,wsize=8192 penguin.example.net:/proj52 |
/etc/auto.miscの1つ目のフィールドは、/miscサブディレクトリの名前です。このディレクトリは、automountによって動的に作成されます。実際にクライアントマシン上に存在してはなりません。2つ目のフィールドには、読み取りと書き込みのアクセスを表すrwなどのマウントオプションを指定します。3つ目のフィールドは、ホスト名とディレクトリを含む、NFSエクスポートの場所です。
![]() | 注記 |
---|---|
ローカルファイルシステムにディレクトリ/miscが存在していなければなりません。また、ローカルファイルシステムに/miscのサブディレクトリが存在してはなりません。 |
autofsはサービスです。このサービスを起動するには、シェルプロンプトで次のコマンドを入力します:
/sbin/service autofs restart |
有効なマウントポイントを表示するには、シェルプロンプトで次のコマンドを入力します:
/sbin/service autofs status |
autofsを実行しているときに/etc/auto.master設定ファイルを修正した場合は、シェルプロンプトで次のコマンドを入力して、リロードすることをautomountデーモンに伝える必要があります:
/sbin/service autofs reload |
ブート時にautofsを起動するように設定する方法については、第21章でサービスの管理に関するトピックを参照してください。
デフォルトのNFS用トランスポートプロトコルはUDPですが、Red Hat Enterprise Linux 3 カーネルにはTCP経由でのNFSに対するサポートが含まれます。 TCP経由でNFSを使用するには、クライアントシステム上でNFSエクスポートされたファイルシステムを マウントするときに、-o tcpオプションをmountに含ませます。
mount -o tcp shadowman.example.com:/misc/export /misc/local |
NFSマウントが/etc/fstabで指定された場合、
server:/usr/local/pub /pub nfs rsize=8192,wsize=8192,timeo=14,intr,tcp |
autofs 設定ファイルで指定された場合、
myproject -rw,soft,intr,rsize=8192,wsize=8192,tcp penguin.example.net:/proj52 |
デフォルトがUDPであるため、-o tcpオプションが指定されない場合は、 NFSエクスポートされたファイルシステムはUDP経由でアクセスされます。
TCPを使用する利点として以下のようなものがあります。
接続の耐久性が向上し、NFS stale file handles メッセージが少くなります。
完了のみを確認するUDPと異なり、TCPはすべてのパケットを確認するため、 負荷の重いネットワーク上でパフォーマンスが向上します。
TCPはUDP(UDPにはない)よりも優れた輻輳制御があります。 混雑したネットワーク上では、udpパケットが最初にドロップされるパケットのタイプです。 つまり、NFSがデータ(8K単位)を書き込みしている場合にその8Kすべてが送信されなければなりません。 TCPは信頼性が高いため、その8Kデータの一部分が続けて送信されます。
エラーの検知。tcp接続が中断すると(サーバーダウンのため)、 クライアントはデータの送信を中止して、再接続のプロセスを開始します。 UDPでは、コネクションレスのために、サーバーが復帰するまでクライアントがデータをネットワークに 送信し続けます。
主な短所は、TCPプロトコルと関連するオーバーヘッドのためにパフォーマンスのヒットが 非常に小さいということです。
Red Hat Enterprise Linux 3カーネルでは、ext3ファイルシステム、及びNFSプロトコルまたはSambaプロトコル でマウントされたext3ファイルシステムのACLサポートを提供しています。したがって、 ext3ファイルシステムでACLが有効になっていてNFSエクスポートされる場合、 NFSクライアントがACLを読み取ることができる場合、 NFSクライアントによっても使用されます。
ACLでNFSファイルシステムをマウントする方法についての詳細は、 第8章を参照してください。