NFS サーバーの主な構成は、/etc/exports ファイルです。これは、NFS クライアントと共有するディレクトリを指定するために使用するファイルです。このファイルの構文は次のとおりです:
Directory hostname(options)
ディレクトリの値 は、共有するディレクトリの名前に置き換える必要があります (たとえば、/usr/share/doc)。値 ホスト名 IP アドレスに解決できるクライアント ホスト名である必要があります。 オプション 値は、リソースの共有方法を指定するために使用されます。
たとえば、/etc/exports ファイル内の次のエントリは、/usr/share/doc ディレクトリを NFS クライアント client01 (読み取り/書き込みオプション付き) および NFS クライアント client02 (読み取り専用オプション付き) と共有します。 ):
# vi /etc/exports /usr/share/doc client01(rw) client02(ro)
client01 と client02 の名前/オプションの間にはスペースがありますが、ホスト名とそれに対応するオプションの間にはスペースがないことに注意してください。初心者の管理者によくある間違いは、次のようなエントリを提供することです:
/usr/share/doc client01 (rw)
前の行は /usr/share/doc ディレクトリを client01 ホストとデフォルト オプションで共有し、他のすべてのホストはこの共有に読み取り/書き込みとしてアクセスできます。
/etc/exports ファイルでホスト名を指定する場合、次の方法が許可されます:
- ホスト名 :IP アドレスに解決できるホスト名。
- ネットグループ :@groupname の指定を使用する NIS ネットグループ。
- ドメイン :ワイルドカードを使用したドメイン名。たとえば、*.onecoursesource.com には、onecoursesource.com ドメイン内のすべてのマシンが含まれます。
- ネットワーク :VLSM (Variable Length Subnet Mask) または CIDR (Classless Inter-Domain Routing) のいずれかを使用して、IP アドレスによって定義されるネットワーク。例:192.168.1.0/255.255.255.0 および 192.168.1.0/24.
以下を含む、さまざまな NFS 共有オプションがあります。
- 前 :読み取り/書き込みとして共有します。通常の Linux 権限は引き続き適用されることに注意してください。 (これはデフォルトのオプションであることに注意してください。)
- ろ :読み取り専用で共有
- 同期 :ファイル データの変更はすぐにディスクに反映されます。これはパフォーマンスに影響しますが、データが失われる可能性は低くなります。一部のディストリビューションでは、これがデフォルトです。
- 非同期 :同期の反対。ファイル データの変更は、最初にメモリに対して行われます。これによりパフォーマンスが向上しますが、データが失われる可能性が高くなります。一部のディストリビューションでは、これがデフォルトです。
- root_squash :root ユーザーおよびグループ アカウントを NFS クライアントから匿名アカウント (通常は nobody アカウントまたは nfsnobody アカウント) にマップします。詳細については、次のセクション「ユーザー ID マッピング」を参照してください。 (これはデフォルトのオプションであることに注意してください。)
- no_root_squash :ルート ユーザーおよびグループ アカウントを NFS クライアントからローカル ルートおよびグループ アカウントにマッピングします。
ユーザー ID マッピング
NFS サーバーから NFS クライアントへのリソース共有プロセスを可能な限り透過的にするには、両方のシステムで同じ UID (ユーザー ID) と GID (グループ ID) が使用されていることを確認してください。
NFS サーバー コマンド
exportfs コマンドを NFS サーバーで使用して、現在共有されているものを表示できます:
# exportfs /share [world]
NFS サービスがすでに開始されている場合、exportfs コマンドを使用してリソースを一時的に共有することもできます。
# exportfs -o ro 192.168.1.100:/usr/share/doc # exportfs /usr/share/doc 192.168.1.100 /share [world]
-o オプションは、共有オプションを指定するために使用されます。引数には、共有するシステムの名前と共有するディレクトリがコロン (:) 文字で区切られて含まれます。
/etc/exports ファイルを変更すると、新しく追加された共有は再起動後に有効になります。これらの変更をすぐに有効にしたい場合は、次のコマンドを実行してください:
# exportfs –a
nfsstat コマンドは、有用な NFS 情報を表示できます。たとえば、次のコマンドは、NFS クライアントによって現在マウントされているものを表示します:
# nfsstat -m /access from 10.0.2.15:/share Flags: rw,vers=3,rsize=131072,wsize=131072,hard,proto=tcp,timeo=600, retrans=2,sec=sys,addr=10.0.2.15
showmount コマンドも同様の情報を表示します:
# showmount -a All mount points on onecoursesource.localdomain: 10.0.2.15:/share
NFS クライアントの構成
NFS 共有のマウントは、パーティションまたは論理ボリュームのマウントと大差ありません。最初に通常のディレクトリを作成します:
# mkdir /access
次に、mount コマンドを使用して NFS 共有をマウントします。
# mount 192.168.1.22:/share /access
マウント コマンドを実行するか、/proc/mounts ファイルを表示することで、マウントが成功したことを確認できます。 ファイル。 /proc/mounts ファイルを表示する利点は、より詳細な情報が得られることです:
# mount | tail -1 192.168.1.22:/share on /access type nfs (rw,addr=192.168.1.22)
# tail -1 /proc/mounts 192.168.1.22:/share /access nfs rw,relatime,vers=3,rsize=131072,wsize=131072,namlen=255,hard,proto=tcp, timeo=600,retrans=2,sec=sys,mountaddr=192.168.1.22,mountvers=3, mountport=772,mountproto=udp,local_lock=none,addr=192.168.1.22 0 0
NFS クライアントが再起動された場合、このマウントはシステムの起動後に再確立されません。これを再起動後も永続的にマウントするには、/etc/fstab に次のようなエントリを追加します。 ファイル:
# tail -1 /etc/fstab 192.168.1.22:/share /access nfs defaults 0 0
このエントリを /etc/fstab ファイルに追加した後、NFS 共有をアンマウントし (必要な場合)、マウント コマンドの実行時にマウント ポイントのみを指定して新しいエントリをテストします。
# umount /access # mount /access # mount | tail -1 192.168.1.22:/share on /access type nfs (rw,addr=192.168.1.22)