exportfs(8) exportfs(8)
名前
exportfs - NFS エクスポートするファイルシステムのリストを管理する
書式
/usr/sbin/exportfs [-avi] [-o options,..] [client:/path ..]
/usr/sbin/exportfs -r [-v]
/usr/sbin/exportfs [-av] -u [client:/path ..]
/usr/sbin/exportfs [-v]
/usr/sbin/exportfs -f
説明
exportfs コマンドは、現在 NFS でエクスポートしているファイルシステムの
テーブルを管理するために使 う コ マ ン ド で あ る 。 こ の リ ス ト は
/var/lib/nfs/xtab という名前のファイルに保存される。このファイルはリモ
ートホストからファイルツリーをマウントするアクセス要求が あ っ た 時 に
mountd から参照される。また、このリストのうちアクティブになっているもの
がカーネルのエクスポートテーブルに保存される。
通常この xtab ファイルは、 exportfs -a を 実 行 す る こ と に よ り 、
/etc/exports に書かれた全てのファイルシステムのリストで初期化される。
し かし管理者は、 /etc/exports を修正することなく、 exportfs を使って選
択的に個々のファイルシステムを追加・削除できる。
exportfs とそのパートナとなるプログラム mountd は 2 つのモードの何れ か
で 動作する。レガシーモードは Linux カーネル 2.4 以前で利用される。新し
いモードは 2.6 以降で利用され、 /proc/fs/nfsd または /proc/fs/nfs に マ
ウ ントされる nfsd 仮想ファイルシステムを提供する。このファイルシステム
が 2.6 でマウントされない場合、レガシーモードが使用される。
新しいモードでは、 exportfs はカーネルには全 く 情 報 を 提 供 ぜ ず 、
/var/lib/nfs/xtab ファイルを通して mountd に情報を提供するだけである。
mountd はカーネルからの要求を待ち受け、必要に応じて情報を提供する。
レガシーモードでは、 (サブネットやネットグループなどではなく) 特定の ホ
ス トを指定したエクスポート要求は、カーネルのエクスポートテーブルに直接
書き込まれるとともに、 /var/lib/nfs/xtab にも書き込まれる。さらに、ホス
ト を特定しないエクスポート要求が /var/lib/nfs/rmtab にリストされている
マウントポイントにマッチすると、このファイルに書かれているホストに向 け
たエクスポートエントリが、カーネルのエクスポートテーブルに入れられる。
オプション
-a 全てのディレクトリをエクスポート・アンエクスポートする。
-o options,...
exports(5) と同じ形式でエクスポートオプションのリストを指定する
。
-i /etc/exports ファイルを無視する。デフォルトのオプションとコマ ン
ドラインで指定されたオプションのみが使われる。
-r 全 て のディレクトリを再エクスポートする。 /var/lib/nfs/xtab を
/etc/exports と同期させる。 /etc/exports から削除されたエント リ
を /var/lib/nfs/xtab からも削除し、既に無効になったエントリをカ
ーネルのエクスポートテーブルから削除する。
-u 1 つ以上のディレクトリをアンエクスポートする。
-f 「新しい」モードにおいて、カーネルのエクスポートテーブルから全て
を書き出す。アクティブなクライアントは、 mountd によって追加され
た新しいエントリを、次に要求を行ったときに取得する。
-v 詳細に表示する。エクスポートまたはアンエクスポートするときに状況
を表示する。現在のエクスポートリストを表示するとともに、エクスポ
ートオプションも表示する。
議論
ディレクトリのエクスポート
1 番目の書式は、新しいエントリをエクスポートテーブルに追加するための コ
マンドの呼び出し方である。 exportfs -a を使うと、 exports(5) にある全て
のディレクトリが xtab に追加され、結果として得られるリストがカーネル に
入れられる。
host:/path 引き数は、エクスポートするディレクトリとホストを指定する。
exports(5) に記述されている全てのフォーマットがサポートされている。全て
の ホストに対してディレクトリをエクスポートするには、単純に :/path と指
定すればよい。
特定のホスト/ディレクトリのペアに対するエクスポートオプションは、いろい
ろ な方法で指定できる。デフォルトのオプションがいくつか存在するが、これ
らは (-i オプションが指定されない限り) /etc/exports のエントリで変更 で
き る。さらに、管理者はこれらの方法で指定されたオプションを -o 引き数を
使って変更できる。 -o オプションの後には、 exports(5) で指定するのと 同
じ 形 式 で、コンマで区切ったオプションのリストを置く。このようにして、
exportfs は既にエクスポートされているディレクトリのオプションを変更する
こともできる。
nfsd(8) が使うカーネルのエクスポートテーブルを修正すると、コマンドライ
ンが解析された後すぐに反映され、 xtab ファイルが更新される。
デフォルトのエクスポートオプションは sync,ro,root_squash,no_delay で あ
る。
ディレクトリのアンエクスポート
3 番目の書式は、現在エクスポートされているディレクトリをアンエクスポー
トする方法である。 exportfs -ua を使うと、 xtab にリストされているエ ン
ト リがカーネルのエクスポートテーブルから削除され、このファイルはクリア
される。これにより全ての NFS の動作を効率的にシャットダウンすることがで
きる。
個 々のエクスポートエントリを削除するためには、 host:/path ペアを指定す
ればよい。 (このペアがもし存在すれば) 指定されたエントリが xtab から 削
除され、対応するカーネルエントリも削除される。
エクスポートテーブルのダンプ
exportfs を引き数なしで起動すると、現在エクスポートされているファイルシ
ステムのリストを表示する。 -v オプションを指定すると、各エクスポート エ
ントリに付属しているフラグのリストも表示する。
例
次 の コ マ ン ド は 、 /etc/exports にリストされた全てのディレクトリを
/var/lib/nfs/xtab に追加し、結果として得られるエクスポートエントリを カ
ーネルにプッシュする:
# exportfs -a
/usr/tmp ディレクトリをホスト djando にエクスポートし、非同期書き込みを
許可する場合は、次のようにすればよい。
# exportfs -o async django:/usr/tmp
依存性
IP ネットワークや DNS ドメイン、NIS ドメインへエクスポートしたときは 、
これらのグループに属するクライアントは即座には NFS にアクセスできない。
どちらかというと、このようなエクスポートは mountd(8) がこれらのクライア
ン トからのマウント要求を許可するかどうかに対するヒントなのである。既存
のマウントポイントはリブートしても rmtab に保存されるので、これは通常は
大した問題にはならない。
ネ ットワークエントリやドメインエントリをアンエクスポートする場合、この
グループのメンバに現在エクスポートされているエントリについて、エクス ポ
ー トが有効になっているかがチェックされ、既に有効でない場合は削除される
。
関連項目
exports(5), mountd(8)
著者
Olaf Kirch,
コロナウイルスの日ごとの感染者数・死者数をグラフ化してみました。どの国が増加傾向にあり、どの国が終息に向かっているかを視覚化しています。
Copyright(C) linux-cmd.com All Rights Reserved. Author Takayuki Yukawa