RHEL 8.8でudpでNFS tcpを、4.0、4.1、4.2でバージョン3をテストしようとしたmountproto=
とき。proto=
mount
RHEL 8.8では、vers=3
nfsクライアントにNFS操作を具体的に表示できますか?proto=udp
proto=tcp
nfsクライアントで表示されている場合、これはどういう意味ですかmountproto=udp
?
答え1
以前のNFSバージョン(v2とv3)には、別々のソフトウェアによって処理される2つの異なるRPCサービスがありました。 「MOUNT」プロトコルはrpc.mountdから初期ファイルシステムハンドルを取得するためにのみ使用され、「NFS」プロトコルは次の操作に使用されました。他のすべての仕事。
したがって、このmountproto=
オプションは、NFSv3ファイルシステムがマウントされるたびにrpc.mountdにアクセスするために使用される転送を定義します。パフォーマンスには影響せず、互換性のみがあります(以前のmountdはTCPをサポートしていません)。mountproto=
マウント関連の操作がコアプロトコルに統合されているため、NFSv4では不要になりました。
proto=
ファイルデータ転送(実際のNFS操作)に使用されるプロトコルも定義されています。 NFSv3はUDPをサポートしているため、proto = udp、vers = 3も可能です。ただし、マニュアルページの警告メッセージを覚えておいてください。ギガビット以上の接続でUDPを介したNFS。データ破損の危険があります、接続速度が速いほど損傷のリスクが高くなります。 NFSv4はTCPとRDMAのみをサポートし、UDPはサポートされなくなりました。
答え2
からman 5 nfs
:
mountproto=netid
The transport the NFS client uses to transmit requests
to the NFS server's mountd service when performing this
mount request, and when later unmounting this mount
point.
...
proto=netid The netid determines the transport that is used to com-
municate with the NFS server. Available options are
udp, udp6, tcp, tcp6, and rdma. Those which end in 6
use IPv6 addresses and are only available if support for
TI-RPC is built in. Others use IPv4 addresses.
つまり、プロトコルのみを決定して要求しmountproto
、ゾーンマウント後の残りの NFS ジョブについてはプロトコルを決定することになります。mount
umount
proto
proto=tcp
NFSv3の場合とを使用できますmountproto=udp
。
ただし、NFSv4はtcpのみをサポートし、udpと一緒に使用することはできません。
All NFS version 4 servers are required to support TCP,
so if this mount option is not specified, the NFS ver-
sion 4 client uses the TCP protocol. Refer to the
TRANSPORT METHODS section for more details.
NFSv4の場合、mountproto
効果はありません。
Using the mountproto mount option
This section applies only to NFS version 2 and version 3 mounts since
NFS version 4 does not use a separate protocol for mount requests.