25.5 ファイルシステムの手動エクスポート

NFSエクスポートサービスの環境設定ファイルは、/etc/exports/etc/sysconfig/nfsです。NFSv4サーバ環境設定には、これらのファイルに加えて/etc/idmapd.confも必要です。サービスを起動または再起動するには、rcnfsserver restartを実行します。これにより、NFSv4が/etc/sysconfig/nfsで設定されている場合は、rpc.idmapdも起動します。NFSサーバは、RPCポートマッパーに依存しています。したがって、rcportmap restartコマンドで、ポートマッパーサービスも起動/再起動してください。

25.5.1 NFSv4を使ったファイルシステムのエクスポート

NFSv4は、SUSE Linux Enterprise Serverで利用できる最新版のNFSプロトコルです。NFSv4でエクスポートするディレクトリを設定する方法は、以前の各バージョンと多少異なっています。

/etc/exportsファイル

このファイルには、一連のエントリが含まれています。各エントリはそれぞれ共有するディレクトリと共有方法を示します。/etc/exports中の一般的なエントリは、次の項目から成り立っています。

/shared/directory host(option_list)

たとえば、次のような指定内容です。

/export 192.168.1.2(rw,fsid=0,sync,crossmnt)
/export/data 192.168.1.2(rw,bind=/data,sync)

ここでは、許可されたクライアントを識別するためにIPアドレス192.168.1.2が使われています。ホスト名、ホストを表すワイルドカード、または(*.abc.com*など)ネットグループ(@my-hosts)を使用できます。

fsid=0を指定するディレクトリは、エクスポートされたファイルシステムのルートであり、擬似ルートファイルシステムと呼ばれることもある点で他と異なります。また、このディレクトリはNFSv4で正しく動作するためにcrossmntが必要です。NFSv4 経由でエクスポートされた他のすべてのディレクトリは、これより下の地点にマウントする必要があります。通常はこのエクスポートされたルートより下にはないディレクトリをエクスポートする場合は、エクスポートされたツリーにバインドする必要があります。これはbind=構文を使用して行うことができます。

上の例では、/data/exportより下にありますが、いずれにしてもこれをエクスポートする必要があるため、/export/dataをエクスポートし、/dataディレクトリがその名前にバインドされるよう指定します。ディレクトリ/export/dataが存在し、通常は空である必要があります。

クライアントがこのサーバからマウントする場合、servername:/exportではなくservername:/をマウントする必要があります。servername:/dataをマウントする必要はなく、servername:/がマウントされた場合、その下に自動的に表示されます。

/etc/sysconfig/nfs

このファイルには、NFSv4サーバデーモンの動作を示すパラメータが含まれています。NFSv4_SUPPORTパラメータは、yesに設定する必要があります。このパラメータは、NFSサーバがNFSv4エクスポートとクライアントをサポートするかどうかを決定します。

/etc/idmapd.conf

Linuxコンピュータ上の各ユーザには、ユーザ名とIDがあります。idmapdは、サーバへのNFSv4リクエストやクライアントへのNFSv4応答用に、名前とID間のマッピングサービスを提供しています。NFSv4はその通信には名前だけを使用するので、idmapdは、NFSv4のサーバとクライアントの両方で実行される必要があります。

NFSを使ってファイルシステムを共有するコンピュータ間では、ユーザへのユーザ名とID(uid)の割り当てには同じ方法を使用してください。そのためには、NIS、LDAP、または他の同一ドメイン認証機構を利用することができます。

正常に機能させるには、クライアント側とサーバ側の両方で、このファイルのDomainパラメータに同じ値を設定する必要があります。確信のない場合には、クライアントとサーバの両方のファイルで、localdomainをそのまま使用してください。環境設定ファイルの例を次に示します。

[General] 

Verbosity = 0 
Pipefs-Directory = /var/lib/nfs/rpc_pipefs
Domain = localdomain

[Mapping]

Nobody-User = nobody
Nobody-Group = nobody

確信がない限り、これらのパラメータは変更しないでください。詳細は、idmapdidmapd.confのマニュアルページを参照してください。参照するには、man idmapdman idmapd.confを実行します。

サービスの起動と停止

/etc/exportsまたは/etc/sysconfig/nfsを変更したら、rcnfsserver restartで、nfsサーバサービスを起動または再起動してください。/etc/idmapd.confを変更したら、killall -HUP rpc.idmapdコマンドで、環境設定ファイルを再ロードします。

このサービスをブート時に起動する場合は、chkconfig nfsserver onコマンドを実行します。

25.5.2 NFSv2とNFSv3を使ったファイルシステムのエクスポート

ここでは、NFSv2エクスポートとNFSv3エクスポート固有の話題を取り上げます。NFSv4エクスポートについては、「NFSv4クライアント用のエクスポート」を参照してください。

NFSを使ってファイルシステムをエクスポートする場合、/etc/exports/etc/sysconfig/nfsの2つの環境設定ファイルが関わってきます。一般的な/etc/exportsファイルには、各エントリが次のような形式で指定されています。

/shared/directory host(list_of_options)

たとえば、次のような指定内容です。

/export 192.168.1.2(rw,sync)

ここで、/exportディレクトリはホスト 192.168.1.2と共有されています。オプションリストには、rw,syncが設定されています。このIPアドレスは、特定のクライアント名、ワイルドカードを使った複数のクライアント(*.abc.comなど)、またはネットグループで置き換えることができます。

各オプションの詳細とその意味については、exportsのマニュアルページ(man exports)を参照してください。

/etc/exportsまたは/etc/sysconfig/nfsを変更したら、rcnfsserver restartコマンドを実行して、NFSサーバを起動/再起動します。