¿Qué versión de NFS está usando mi servidor NFS?

14

Estoy montando un sistema de archivos NFS en mi máquina. ¿Cómo puedo averiguar qué versión del protocolo NFS utiliza el servidor? No tengo acceso a la máquina del servidor NFS, pero tengo root en mi máquina cliente.

¿Hay algo que pueda ejecutar en mi máquina cliente para identificar qué versión del protocolo NFS está utilizando el servidor o qué versiones admite?

No pude encontrar ninguna información útil en la /var/log/messagessalida de depuración del kernel ( dmesg).

He intentado ejecutar nfsstat, pero no estoy seguro de si me está dando información útil. Sin embargo, cuando corro nfsstat -spara solicitar información sobre el servidor, no veo nada útil:

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

Cuando corro nfsstat -cpara solicitar información sobre el cliente, veo cierta información sobre Client nfs v3, pero no estoy seguro de cómo interpretar esto. ¿Esto me dice algo sobre el protocolo que se utiliza entre mi máquina cliente y el servidor NFS? ¿Significa que actualmente estoy usando v3 del protocolo NFS? ¿Me dice algo sobre qué versiones del protocolo NFS admite el servidor, por ejemplo, NFS v4?

DW
fuente

Respuestas:

21

El nfsstat -cprograma le mostrará la versión NFS que realmente se está utilizando.

Si ejecuta rpcinfo -p {server}, verá todas las versiones de todos los programas RPC que admite el servidor . En mi sistema obtengo esta salida:

$ 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
    ...

Esto me muestra que mi servidor NFS ( localhosten este ejemplo) ofrece las versiones 2, 3 y 4 del protocolo NFS en todo UDP y TCP.

roaima
fuente
1
¿Cómo puede saber si V4 es 4.2 o algo más (preferiblemente sin tener el nfs realmente ejecutándose ... ya que no puedo montarlo desde el cliente por alguna razón)?
Dylan
@Dylan, ¿por qué no hacer eso como una nueva pregunta?
roaima
5

Dependiendo de su sistema operativo y versión, puede haber diferentes formas de verificarlo.

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

Pero puedes estar seguro

# 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 es el mismo resultado.

Se muestra vers=3en el servidor, y mountvers=3.


fuente
2
grep nfs /proc/mounts(para mí en el servidor) solo se muestra nfsd /proc/nfsd nfsd rw,realtime 0 0. No tengo el cliente realmente montado (no puedo hacer que funcione). Todo parece estar bien (usando nfs4 en ambos, las direcciones IP son correctas, / etc / exports está bien, nfs-serverse ha reiniciado, se exportfs -ravve bien, showmount -e serverdesde el cliente se ve bien, etc. .. pero cuando intento montar CADA VEZ ... se cuelga hasta mount.nfs: Connection timed out--o-- mount.nfs4: Connection timed out. Tan frustrante. Perdón por mi perorata que probablemente no se reparará).
Dylan
Entonces, supongo ... ¿hay alguna manera de obtener la versión nfs (como 4.2 o 4.1 o qué tiene) sin tener el cliente montado?
Dylan
He estado trabajando duro en el mismo problema. Todo está bien y solía funcionar. Recreé mis máquinas virtuales de Vagrant y luego dejó de funcionar. Nfsstat muestra que todas las llamadas son llamadas erróneas típicas de badauth.
onknows
1
@Dylan, el servidor está configurado para operar con múltiples versiones de NFS. Dependiendo de la configuración del servidor y / o las capacidades / configuraciones del cliente, existen múltiples respuestas posibles. Además, si no tiene ningún cliente conectado al servidor nfs, puede verificar los archivos de configuración de su servidor y / o /proc/fs/nfsd/versionsaveriguar qué versiones está configurado para soportar.
ILMostro_7
-2

Uno puede abrir /etc/nfsmount.confy obtener la información sobre la versión predeterminada y la versión compatible.

Krishna
fuente