web-dev-qa-db-ja.com

/ etc / exportsファイルのNFSサーバーの変更にはサービスの再起動が必要ですか?

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に移動する必要があります。 =マウントポイントを再び機能させるために、エクスポートリストで。

何かアイデアはありますか?

38
夏期劇場

/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.
62
slm