web-dev-qa-db-ja.com

showmount -e nfs_server_hostnameはクライアントで使用可能なすべてのマウントを表示しませんが、なぜですか?

NFS_ServerはDataDomainクライアントであり、RHEL 7.3です。

以下のコマンドを実行して、NFS_serverからクライアントシステムに利用可能なNFS共有を表示しますが、マウントに利用できるすべての共有が表示されません。

# showmount -e nfs_server_hostname
/test myclientsIP

# showmount -e nfs_server_IP
/test myclientsIP

私の場合、上記のコマンドの結果に表示されない特定のマウントが必要でした。

上記のshowmountコマンドの出力に表示されない場合でも、DataDomain(ここではNFS_Serverです)から特定の共有をマウントするように指示されたので、.

驚いたことに、マウントされたため、上記のコマンドをもう一度実行しても、リストに表示されませんでした。しかし、以下のコマンドの出力を確認したとき、それは私には驚きました。

# df -h
.
.
.
NFS_Server_IP:/test_Rep /mnt

それが発生している理由を知りたいのですが、他に隠されているマウントポイントを一覧表示する他のコマンドはありますか?

英語が下手で、このような質問に適切なサイトでない場合は、事前に謝罪します。

2
Hrish

showmountコマンドは、NFSv3プロトコルの特定のファセットを特定の方法で使用して、サーバーを照会し、使用可能な共有のリストを返します。 showmountを実行するには2つの方法があります。

_showmount -a_-showmountのmanページから:

-a or --all List both the client hostname or IP address and mounted directory in Host:dir format. This info should not be considered reliable. See the notes on rmtab in rpc.mountd(8).

この場合、showmountはサーバー上のrpc.mountdをクエリしており、信頼できるマウントポイントのリストを返す場合と返さない場合があります。 rpc.mountdで言及されている問題は、古いエントリがrmtabファイルに残される可能性があることです。つまり、マウントポイントの正確なリストではない可能性があります。

_showmount -e_-showmountのドキュメントでは、これがサーバーへのクエリを実行するためのより信頼できる方法であると示唆されていますが、NFSv3プロトコルのこの部分を具体的に使用しています。

https://tools.ietf.org/html/rfc1813#section-5.2.5

これはNFSv3プロトコルの一部ですが、NFSv4には存在しません。多くのサーバーは、NFSv3とNFSv4を介して同時に利用できるようにNFS共有を構成するため、showmount機能を使用して表示されます。ただし、共有が純粋にNFSv4であるように構成されている場合、プロトコルはこれをサポートする方法を提供しないため、showmountはリストを取得できません。

共有が純粋なNFSv4ではない場合でも、リモートサーバーは、showmountがエクスポートを返すために、前述の2つの方法のいずれか(または両方)でエクスポートを返す必要があります。ただし、これは、これまでに経験したようにマウントが妨げられることはありません。

2
James Freeman

一部のストレージベンダー/製品は、デフォルトではshowmount -eに応答しません。

NetApp C-Modeはデフォルトでは応答せず、ゲストDataDomainも応答しない可能性があります。ベンダーが応答しない理由は一般にセキュリティです。

1
user192749