23.2. NFS ファイルシステムのマウント

別のマシンからNFS共有ディレクトリをマウントするには、mountコマンドを使用します。

mount shadowman.example.com:/misc/export /misc/local

警告警告
 

ローカルマシン上にマウントポイントディレクトリ(上記の例では/misc/local)が存在していなければなりません。

このコマンドでは、shadowman.example.comはNFSファイルサーバーのホスト名であり、/misc/exportshadowmanがエクスポートしているディレクトリで、/misc/localはファイルシステムをマウントするローカルマシン上の場所です。mountコマンドを実行した後は、(shadowman.example.comNFSサーバーから適切な権限がクライアントに与えられていれば)クライアントユーザーはls /misc/localを実行して、shadowman.example.com上の/misc/exportに含まれるファイルの一覧を表示させることができます。

23.2.1. /etc/fstabを使ったNFSファイルシステムのマウント

ほかのマシンから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がマウントされます。

23.2.2. autofsを使ったNFS ファイルシステムのマウント

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章でサービスの管理に関するトピックを参照してください。

23.2.3. TCPを使用する

デフォルトの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を使用する利点として以下のようなものがあります。

主な短所は、TCPプロトコルと関連するオーバーヘッドのためにパフォーマンスのヒットが 非常に小さいということです。

23.2.4. ACLを維持する

Red Hat Enterprise Linux 3カーネルでは、ext3ファイルシステム、及びNFSプロトコルまたはSambaプロトコル でマウントされたext3ファイルシステムのACLサポートを提供しています。したがって、 ext3ファイルシステムでACLが有効になっていてNFSエクスポートされる場合、 NFSクライアントがACLを読み取ることができる場合、 NFSクライアントによっても使用されます。

ACLでNFSファイルシステムをマウントする方法についての詳細は、 第8章を参照してください。