Quelle version de NFS mon serveur NFS utilise-t-il?

14

Je monte un système de fichiers NFS sur ma machine. Comment savoir quelle version du protocole NFS le serveur utilise? Je n'ai pas accès à la machine serveur NFS, mais j'ai la racine sur ma machine cliente.

Puis-je exécuter quelque chose sur mon ordinateur client pour identifier la version du protocole NFS utilisée par le serveur ou les versions qu'il prend en charge?

Je n'ai pas pu trouver d'informations utiles dans la /var/log/messagessortie de débogage du noyau ( dmesg).

J'ai essayé de courir nfsstat, mais je ne sais pas si cela me donne des informations utiles. Cependant, lorsque je cours nfsstat -spour demander des informations sur le serveur, je ne vois rien d'utile:

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

Lorsque je cours nfsstat -cpour demander des informations sur le client, je vois des informations sur Client nfs v3, mais je ne sais pas comment interpréter cela. Est-ce que cela me dit quelque chose sur le protocole utilisé entre ma machine cliente et le serveur NFS? Est-ce que cela signifie que j'utilise actuellement la v3 du protocole NFS? Cela me renseigne-t-il sur les versions du protocole NFS prises en charge par le serveur, par exemple NFS v4?

DW
la source

Réponses:

21

Le nfsstat -cprogramme vous montrera la version NFS actuellement utilisée.

Si vous exécutez, rpcinfo -p {server}vous verrez toutes les versions de tous les programmes RPC pris en charge par le serveur . Sur mon système, j'obtiens cette sortie:

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

Cela me montre que mon serveur NFS ( localhostdans cet exemple) propose les versions 2, 3 et 4 du protocole NFS sur UDP et TCP.

roaima
la source
1
Comment pouvez-vous savoir si V4 est 4.2 ou autre chose (de préférence sans que le nfs fonctionne réellement .. car je ne peux pas monter à partir du client pour une raison quelconque)?
Dylan
@Dylan pourquoi ne pas poser cette question comme une nouvelle question?
roaima
5

Selon votre système d'exploitation et votre version, il peut y avoir différentes façons de le vérifier.

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

Mais vous pouvez à coup sûr

# 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

ce qui est évidemment la même sortie.

Il montre vers=3sur le serveur, et mountvers=3.


la source
2
grep nfs /proc/mounts(pour moi sur le serveur) ne s'affiche que nfsd /proc/nfsd nfsd rw,realtime 0 0. Je n'ai pas le client monté (je ne peux pas le faire fonctionner). Tout semble bien (en utilisant nfs4 sur les deux, les adresses IP sont correctes, / etc / exports est bien, nfs-servera été redémarré, exportfs -ravsemble bien, showmount -e serverdu client semble bien, etc. .. mais quand j'essaie de monter CHAQUE FOIS .. il se bloque jusqu'à mount.nfs: Connection timed out--ou-- mount.nfs4: Connection timed out. Si frustrant. Désolé pour ma diatribe qui ne sera probablement pas corrigée).
Dylan
donc, je suppose .. y a-t-il un moyen d'obtenir la version nfs (comme 4.2 ou 4.1 ou qu'avez-vous) sans avoir le client monté?
Dylan
J'ai travaillé dur sur la même question. Tout va bien et cela fonctionnait. J'ai recréé mes machines virtuelles Vagrant, puis cela a cessé de fonctionner. Nfsstat montre que tous les appels sont de mauvais appels de type badauth.
onknows
1
@Dylan, le serveur est configuré pour fonctionner avec plusieurs versions de NFS. Selon la configuration du serveur et / ou les capacités / configurations du client, il existe plusieurs réponses possibles. De plus, si aucun client ne se connecte au serveur nfs, vous pouvez vérifier les fichiers de configuration de votre serveur et / ou /proc/fs/nfsd/versionssavoir quelles versions le serveur est configuré pour prendre en charge.
ILMostro_7
-2

On peut ouvrir /etc/nfsmount.confet obtenir les informations sur la version par défaut et la version prise en charge.

krishna
la source