no RHEL 8.8, quando estou tentando testar o NFS tcp versus udp e as versões 3 versus 4.0, 4.1 e 4.2, observo em meu cliente nfs um mountproto=
além de proto=
ao digitar mount
. Qual é o significado disso e o que significa?
Devo ser capaz de, no RHEL 8.8, ter o NFS operando especificamente vers=3
e proto=udp
no cliente nfs?
O que significa, no cliente nfs, quando vejo proto=tcp
e mountproto=udp
?
Nas versões mais antigas do NFS (v2 e v3), existem dois serviços RPC distintos tratados por software separado: o protocolo "MOUNT" que é usado apenas para obter os identificadores iniciais do sistema de arquivos de rpc.mountd e o protocolo "NFS" que é usado para todo o resto .
Portanto, a
mountproto=
opção define o transporte usado para acessar rpc.mountd sempre que você montar um sistema de arquivos NFSv3. Não afeta o desempenho, apenas a compatibilidade (mountd antigo não suportava TCP). O NFSv4 não temmountproto=
mais porque as operações relacionadas à montagem foram integradas ao protocolo principal.Enquanto isso,
proto=
define o protocolo usado para transferir dados de arquivo (as operações NFS reais). NFSv3 suporta UDP, então sim, proto=udp,vers=3 é possível, mas tenha em mente a mensagem de cuidado na página do manual - NFS via UDP em um Conexão Gigabit ou mais rápida corre o risco de corrupção de dados e, quanto mais rápida for sua conexão, maior o risco de corrupção. O NFSv4 suporta apenas TCP e RDMA – ele não suporta mais UDP.De
man 5 nfs
:Em outras palavras, o
mountproto
apenas determina o protocolo para as solicitaçõesmount
eumount
, eproto
determina o protocolo do restante das operações NFS uma vez que a área é montada.Para NFSv3, você pode usar
proto=tcp
emountproto=udp
.No entanto, NFSv4 suporta apenas tcp, não funcionará com udp.
E para NFSv4,
mountproto
não tem efeito.