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)에는 별도의 소프트웨어에 의해 처리되는 서로 다른 두 가지 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.