Ich habe Freigaben auf einem NFS-Server eingerichtet. Ich kann die Freigaben ohne Fehler mounten. Die von „df“ gemeldeten Freigabegrößen sind viel kleiner als die Freigabegröße auf dem Server. Der Server meldet beispielsweise 1 TB, aber die Freigabe sieht von den Clients aus wie 3,8 G aus. Ich kann von einem Client aus eine Testdatei auf der NFS-Freigabe erstellen, und diese Testdatei ist von allen Clients aus sichtbar, aber wenn ich zum freigegebenen Verzeichnis auf dem Server gehe, ist die Datei nicht da. Ebenso sind Dateien, die bereits auf dem Server vorhanden sind, für keinen Client sichtbar. Auf dem Server habe ich den Befehl „updatedb“ ausgeführt und nach der neu erstellten Testdatei gesucht; sie wurde jedoch nirgendwo auf dem Server gefunden. Ich greife also auf eine Freigabe zu und kann vom Client aus Dateien auf der Freigabe erstellen, kann diese Dateien jedoch nirgendwo auf dem Server sehen. Ich sehe keine signifikanten NFS-bezogenen Fehler in /var/log/messages. Der Server ist CentOS 5.8. Die Clients sind CentOS 6.4. Iptables ist zum Testen sowohl auf dem Server als auch auf den Clients deaktiviert.
Ich sehe keine Probleme mit der Namensauflösung oder DNS.
Server:
[root@vmappp04 /]# cat /etc/exports
/data 192.168.1.0/24(fsid=0,rw,sync,no_root_squash)
[root@vmappp04 /]# rpm -qa |grep nfs-utils
nfs-utils-1.0.9-66.el5
nfs-utils-lib-1.0.8-7.9.el5
nfs-utils-lib-1.0.8-7.9.el5
[root@vmappp04 /]# rpm -qa |grep nfs4-acl-tools
nfs4-acl-tools-0.3.3-3.el5
[root@vmappp04 /]# rpm -qa |grep portmap
portmap-4.0-65.2.2.1
Auf dem Server ist keine Datei „hosts.allow“ oder „hosts.deny“ vorhanden.
Klient:
cat /etc/fstab
vmappp04:/ /data/filer_01 nfs4 noauto,defaults 0 0
[root@vmappp11 ~]# rpm -qa |grep nfs-utils
nfs-utils-lib-1.1.5-6.el6.x86_64
nfs-utils-1.2.3-36.el6.x86_64
[root@vmappp11 ~]# rpm -qa |grep nfs4-acl-tools
nfs4-acl-tools-0.3.3-6.el6.x86_64
portmap ist nicht auf Clients installiert
Die Ausgabe des Mount-Befehls auf dem Client scheint korrekt zu sein:
[root@vmappp11 ~]# showmount -e vmappp04
vmappp04:/ on /data/filer_01 type nfs4 (rw,addr=192.168.1.16,clientaddr=192.168.1.84)
Exportliste für vmappp04:
[root@vmappp11 ~]# showmount -d vmappp04
/data 192.168.1.0/24
Verzeichnisse auf vmappp04:
[root@vmappp11 ~]# showmount -a vmappp04
Alle Einhängepunkte auf vmappp04:
[root@vmappp11 ~]# showmount -a 192.168.1.16
Alle Einhängepunkte auf 192.168.1.16:
Ich habe alle möglichen Permutationen auf der Server- und Clientseite ausprobiert. Wenn ich nicht sicher bin, wie ich weiter vorgehen soll, geben Sie mir bitte einen Rat. Ich bin für jede Hilfe sehr dankbar.
Antwort1
Mir war nicht klar, wie die Hierarchien der gemounteten Dateisysteme auf Ihrem Server und Ihren Clients waren, aber Sie müssen beim Mounten von Verzeichnissen und Unterverzeichnissen sowie beim Zeitpunkt und Ort des Mountens vorsichtig sein. Für mich sieht es so aus, als würden Sie die Dinge falsch mounten.
Das Mounten in ein Unterverzeichnis oder übergeordnetes Verzeichnis führt zu den Ergebnissen, die Sie sehen. Es ist möglich, dass Sie Dateien „unter“ einem Mount-Punkt auf dem Server speichern. Wenn beispielsweise /data auf einer Festplatte gemountet ist, werden die Dateien, die Sie über die Clients speichern, in das /data verschoben, das „vor“ dem Mounten von /data existiert, also auf /. Ist das / auf dem Server 3,8 G?
Sie sollten keine Unterverzeichnisse von Einhängepunkten einhängen, da diese anders behandelt werden. Sie sollten jedes einzuhängende Verzeichnis einzeln exportieren.
Außerdem scheinen Sie basierend auf dieser fstab-Datei vmappp04:/ und nicht vmappp04:/data zu mounten – das wird ebenfalls dieses Problem verursachen.