Qual versão do NFS meu servidor NFS está usando?

14

Estou montando um sistema de arquivos NFS na minha máquina. Como faço para descobrir qual versão do protocolo NFS o servidor usa? Não tenho acesso à máquina do servidor NFS, mas tenho raiz na minha máquina cliente.

Existe algo que eu possa executar na minha máquina cliente para identificar qual versão do protocolo NFS está sendo usada pelo servidor ou quais versões ele suporta?

Não consegui encontrar nenhuma informação útil na /var/log/messagessaída de depuração do kernel ( dmesg).

Eu tentei correr nfsstat, mas não tenho certeza se está me fornecendo alguma informação útil. No entanto, quando corro nfsstat -spara solicitar informações sobre o servidor, não vejo nada útil:

# nfsstat -s
Server rpc stats:
calls      badcalls   badfmt     badauth    badclnt
0          0          0          0          0       

Quando corro nfsstat -cpara solicitar informações sobre o cliente, vejo algumas informações sobre Client nfs v3, mas não tenho certeza de como interpretar isso. Isso me diz algo sobre o protocolo que está sendo usado entre minha máquina cliente e o servidor NFS? Isso significa que atualmente estou usando a v3 do protocolo NFS? Isso me diz alguma coisa sobre quais versões do protocolo NFS o servidor suporta, por exemplo, NFS v4?

DW
fonte

Respostas:

21

O nfsstat -cprograma mostrará a versão do NFS realmente sendo usada.

Se você executar rpcinfo -p {server}, verá todas as versões de todos os programas RPC suportados pelo servidor . No meu sistema, recebo esta saída:

$ rpcinfo -p localhost
   program vers proto   port
    100000    2   tcp    111  portmapper
    100000    2   udp    111  portmapper
    ...
    100003    2   tcp   2049  nfs
    100003    3   tcp   2049  nfs
    100003    4   tcp   2049  nfs
    100003    2   udp   2049  nfs
    100003    3   udp   2049  nfs
    100003    4   udp   2049  nfs
    ...

Isso mostra que meu servidor NFS ( localhostneste exemplo) oferece as versões 2, 3 e 4 do protocolo NFS em todo o UDP e TCP.

roaima
fonte
1
Como você pode saber se V4 é 4.2 ou outra coisa (de preferência sem ter o nfs realmente em execução .. como eu não consigo montar a partir do cliente por algum motivo)?
Dylan
@ Dylan, por que não fazer isso como uma nova pergunta?
roaima
5

Dependendo do sistema operacional e da versão, pode haver diferentes maneiras de verificá-lo.

nfsstat:

# nfsstat -m
/mnt/share from 10.0.0.1:/mnt/share
Flags:  rw,relatime,vers=3,rsize=524288,wsize=524288,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,mountaddr=10.0.0.1,mountvers=3,mountport=30924,mountproto=udp,local_lock=none,addr=10.0.0.1

Mas você pode com certeza

# grep nfs /proc/mounts
10.0.0.1:/mnt/share /mnt/share nfs rw,relatime,vers=3,rsize=524288,wsize=524288,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,mountaddr=10.0.0.1,mountvers=3,mountport=30924,mountproto=udp,local_lock=none,addr=10.0.0.1

que é obviamente a mesma saída.

Mostra vers=3no servidor, e mountvers=3.


fonte
2
grep nfs /proc/mounts(para mim no servidor) é exibido apenas nfsd /proc/nfsd nfsd rw,realtime 0 0. Não tenho o cliente realmente montado (não consigo fazê-lo funcionar). Tudo parece bem (usando o nfs4 em ambos, os endereços IP estão corretos, / etc / exportações está bem, nfs-serverfoi reiniciado, exportfs -ravparece bem, o showmount -e servercliente parece bem, etc. .. mas quando tento montar TODAS AS VEZES .. mount.nfs: Connection timed out- ou - mount.nfs4: Connection timed outTão frustrante. Desculpe pelo meu discurso retórico que provavelmente não será corrigido).
Dylan
então, eu acho .. existe uma maneira de obter a versão nfs (como 4.2 ou 4.1 ou o que você tem) sem ter o cliente montado?
Dylan
Eu tenho trabalhado duro no mesmo problema. Está tudo bem e costumava funcionar. Recriei minhas VMs do Vagrant e ele parou de funcionar. Nfsstat mostra que todas as chamadas são chamadas ruins do tipo badauth.
OnJows
1
@Dylan, o servidor está configurado para operar com várias versões do NFS. Dependendo da configuração do servidor e / ou das habilidades / configurações do cliente, há várias respostas possíveis. Além disso, se você não tiver nenhum cliente conectado ao servidor nfs, poderá verificar os arquivos de configuração do servidor e / ou /proc/fs/nfsd/versionsdescobrir quais versões o servidor está configurado para suportar.
ILMostro_7 18/10/19
-2

Pode-se abrir /etc/nfsmount.confe obter informações sobre a versão padrão e a versão suportada.

Krishna
fonte