Welche NFS-Version verwendet mein NFS-Server?

14

Ich mounte ein NFS-Dateisystem auf meinem Computer. Wie finde ich heraus, welche Version des NFS-Protokolls der Server verwendet? Ich habe keinen Zugriff auf den NFS-Server, aber auf meinem Client-Computer ist root.

Kann ich irgendetwas auf meinem Client-Computer ausführen, um festzustellen, welche Version des NFS-Protokolls vom Server verwendet wird oder welche Versionen unterstützt werden?

Ich konnte in der /var/log/messagesKernel-Debugging-Ausgabe ( dmesg) keine nützlichen Informationen finden .

Ich habe versucht zu rennen nfsstat, bin mir aber nicht sicher, ob es mir nützliche Informationen gibt. Wenn ich jedoch laufe nfsstat -s, um Informationen über den Server anzufordern, sehe ich nichts Nützliches:

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

Wenn ich laufe nfsstat -c, um Informationen über den Client anzufordern, werden einige Informationen zu angezeigt Client nfs v3, aber ich bin nicht sicher, wie ich dies interpretieren soll. Gibt dies Aufschluss über das Protokoll, das zwischen meinem Client-Computer und dem NFS-Server verwendet wird? Bedeutet dies, dass ich derzeit Version 3 des NFS-Protokolls verwende? Gibt es Informationen zu den vom Server unterstützten Versionen des NFS-Protokolls, z. B. NFS v4?

DW
quelle

Antworten:

21

Das nfsstat -cProgramm zeigt Ihnen die aktuell verwendete NFS-Version an.

Wenn Sie ausführen rpcinfo -p {server}, werden alle Versionen aller vom Server unterstützten RPC-Programme angezeigt. Auf meinem System erhalte ich folgende Ausgabe:

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

Dies zeigt mir, dass mein NFS-Server ( localhostin diesem Beispiel) die Versionen 2, 3 und 4 des NFS-Protokolls über UDP und TCP anbietet.

Roaima
quelle
1
Wie können Sie feststellen, ob V4 4.2 oder etwas anderes ist (vorzugsweise ohne dass das NFS tatsächlich ausgeführt wird)?
Dylan
@Dylan, warum fragst du das nicht als neue Frage?
Roaima
5

Je nach Betriebssystem und Version gibt es verschiedene Möglichkeiten, dies zu überprüfen.

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

Aber Sie können sicher sein

# 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

Das ist natürlich die gleiche Ausgabe.

Es zeigt vers=3 auf dem Server und mountvers=3.


quelle
2
grep nfs /proc/mounts(für mich auf dem Server) wird nur angezeigt nfsd /proc/nfsd nfsd rw,realtime 0 0. Ich habe den Client nicht wirklich gemountet (ich kann ihn nicht zum Laufen bringen). Alles scheint in Ordnung (mit nfs4 auf beiden IP - Adressen korrekt sind, / etc / exports in Ordnung ist, nfs-serverneu gestartet wurde, exportfs -ravsieht gut aus , showmount -e servervom Client sieht gut aus , etc. .. aber wenn ich versuche zu montieren JEDES MAL .. es hängt bis mount.nfs: Connection timed out- oder - mount.nfs4: Connection timed out. So frustrierend. Tut mir leid für meine Beschimpfungen, die wahrscheinlich nicht behoben werden).
Dylan
Also, ich denke, gibt es eine Möglichkeit, die NFS-Version (wie 4.2 oder 4.1 oder was haben Sie) zu bekommen, ohne den Client gemountet zu haben?
Dylan,
Ich habe hart an dem gleichen Thema gearbeitet. Alles ist in Ordnung und es hat funktioniert. Ich habe meine Vagrant-VMs neu erstellt und dann funktioniert sie nicht mehr. Nfsstat zeigt, dass alle Aufrufe Badcalls vom Typ Badauth sind.
onknows
1
@Dylan, der Server ist für den Betrieb mit mehreren Versionen von NFS konfiguriert. Abhängig von der Serverkonfiguration und / oder den Clientfähigkeiten / -konfigurationen gibt es mehrere mögliche Antworten. Wenn Sie keine Clients haben, die eine Verbindung zum nfs-Server herstellen, können Sie Ihre Serverkonfigurationsdateien überprüfen und / oder /proc/fs/nfsd/versionsherausfinden, für welche Versionen der Server konfiguriert ist.
ILMostro_7
-2

Man kann /etc/nfsmount.confdie Informationen über die Standardversion und die unterstützte Version öffnen und abrufen.

krishna
quelle