NFSv4サーバー(RHELv6.4)とNFSクライアント(CentOSv6.4)を使用しています。 /etc/exports
で言いましょう:
/shares/website1 <ip-client-1>(rw,sync,no_subtree_check,no_root_squash)
/shares/website2 <ip-client-2>(rw,sync,no_subtree_check,no_root_squash)
次に、その中に何らかの変更を加えたときはいつでも(client-2
のみの変更としましょう)、たとえば:
/shares/website1 <ip-client-1>(rw,sync,no_subtree_check,no_root_squash)
/shares/xxxxxxxx <ip-client-2>(rw,sync,no_subtree_check,no_root_squash)
次に、常にservice nfs restart
を使用します。そして、最終的に.. client-1
のマウントポイントが無応答(ファイルを開くことができないなど)。 (なぜ?再起動のため?)
しかし、説明したように、私はclient-2
のみの行を変更しました。 client-1
のすべてはまだ変更されていません。
だからここで私の質問は:
/etc/exports
を変更するときはいつでも、サービスをrestart
する必要がありますか?service nfs restart
だとしたら、他のクライアントのマウントポイントが最終的に影響を受けるのはなぜですか? (/etc/exports
が変更されていないクライアントマシンの場合)つまり、サービスを/etc/exports
およびrestart
に変更するたびに、RE-MOUNT上のディレクトリEVERY CLIENTSに移動する必要があります。 =マウントポイントを再び機能させるために、エクスポートリストで。
何かアイデアはありますか?
/etc/exports
を変更するたびにNFSを再起動する必要はありません。必要なのは、/etc/exports
ファイルを編集した後で適切なコマンドを発行することだけです。
$ exportfs -ra
21.7。/ etc/exports構成ファイル というタイトルのRed Hat公式ドキュメントからの抜粋。
抜粋
/ usr/sbin/exportfsコマンドを手動で発行すると、rootユーザーはNFSサービスを再起動せずにディレクトリを選択的にエクスポートまたはアンエクスポートできます。適切なオプションを指定すると、/ usr/sbin/exportfsコマンドはエクスポートされたファイルシステムを/ var/lib/nfs/xtabに書き込みます。 rpc.mountdは、ファイルシステムへのアクセス権限を決定するときにxtabファイルを参照するため、エクスポートされたファイルシステムのリストに対する変更はすぐに有効になります。
また、詳細についてはexportfs
のマニュアルページを参照してください。具体的には、これに関するすべてを説明する「説明」セクションを参照してください。
NFSサーバーは、NFSクライアントがアクセスできるローカルの物理ファイルシステムのテーブルを保持しています。この表の各ファイルシステムは、略してエクスポートファイルシステム、またはエクスポートと呼ばれます。
The exportfs command maintains the current table of exports for the NFS server. The master export table is kept in a file named /var/lib/nfs/etab. This file is read by rpc.mountd when a client sends an NFS MOUNT request. Normally the master export table is initialized with the contents of /etc/exports and files under /etc/exports.d by invoking exportfs -a. However, a system administrator can choose to add or delete exports without modifying /etc/exports or files under /etc/exports.d by using the exportfs command.
また、使用しているオプション-ra
にも注意してください。
-a Export or unexport all directories.
-r Reexport all directories, synchronizing /var/lib/nfs/etab with
/etc/exports and files under /etc/exports.d. This option
removes entries in /var/lib/nfs/etab which have been deleted
from /etc/exports or files under /etc/exports.d, and removes
any entries from the kernel export table which are no longer
valid.