Wie mounten Sie mehrere Ordner mit nfs4 auf Centos?

7

Ich versuche, nfs4 hier zum Laufen zu bringen.

Maschine 1 (Server) Ich habe einen Ordner und darin 2 andere Ordner, die ich unabhängig freigeben möchte. / shared / folder1 / shared / folder2

Das Problem ist, ich kann anscheinend nicht herausfinden, wie die Ordner unabhängig auf dem Client bereitgestellt werden.

(Maschine 1 - Server) / etc / exportiert:

/var/shared/folder1 192.168.200.101(rw,fsid=0,sync)
/var/shared/folder2 192.168.200.101(rw,fsid=0,sync)

...

exportfs -ra

...

exportfs

/var/shared/folder1
                   192.168.200.101
/var/shared/folder2
                   192.168.200.101

(Maschine 2 - Client) / etc / fstab:

192.168.200.201:/folder1/ /home/nfsmnt/folder1 nfs4 rw 0 0

...

mount /home/nfsmnt/folder1
mount.nfs4: 192.168.200.201:/folder1/ failed, reason given by server: No such file or directory

Der Ordner ist da. Ich bin positiv. Ich denke, es gibt etwas Einfaches, das mir fehlt, aber ich vermisse es total.

Es scheint, dass es in fstab eine Möglichkeit geben sollte, nfs mitzuteilen, welchen Ordner auf dem Server ich mounten möchte. Ich kann jedoch nur Verweise auf einen Root-Mount-Punkt finden (z. B. 192.168.1.1:/), von dem ich annehme, dass er von Exporten auf dem Server verarbeitet wird. Aber selbst mit den Ordnern, die beim Export eingerichtet wurden, scheint es keinen offensichtlichen Weg zu geben, zu wählen, welcher Ordner gemountet wird.

Ist es nicht möglich, separate Ordner vom selben Server an verschiedenen Bereitstellungspunkten auf dem Client bereitzustellen?

Jede Hilfe geschätzt.


bearbeiten:

Das Fehlerprotokoll auf dem Server zeigt Folgendes an:

/var/shared/folder1 and /var/shared/folder2 have same filehandle for 192.168.200.101, using first

Ich bin mir nicht sicher, was das bedeutet oder wie ich es ändern soll. Googeln scheint nur Informationen über die Sicherheit von NFS aufzurufen.

Stormdrain
quelle

Antworten:

7

Um die Unterverzeichnisse freizugeben, musste ich zuerst den übergeordneten Ordner mit fsid = 0 freigeben. Auf dem Server sieht / etc / export also so aus:

/var/shared 192.168.200.101(rw,fsid=0,sync)
/var/shared/folder1 192.168.200.101(rw,sync)
/var/shared/folder2 192.168.200.101(rw,sync)

dann sieht auf dem Client / etc / fstab aus wie:

192.168.200.201:/folder1 /home/nfsmnt/folder1 nfs4 rw 0 0
192.168.200.201:/folder2 /home/nfsmnt/folder2 nfs4 rw 0 0

Ich kann die Ordner dann wie erwartet bereitstellen:

mount /home/nfsmnt/folder1
Stormdrain
quelle
Sie gewähren rw Zugriff auf Ihr übergeordnetes Verzeichnis / var / shared. Ist es das was du willst? Ich habe versucht, es ro zu exportieren, aber dann wird seltsamerweise der 2. der beiden Unterordner ro trotz des expliziten rw-Flags
gemountet
Ja, ich habe /var/sharedspeziell für die Samba-Freigaben erstellt, damit rw in diesem Ordner in Ordnung ist. Nicht sicher, was mit Ihrem Unterordner los ist ... ist fstab rw?
Stormdrain
@stormdrain Müssen Sie überhaupt beide Ordner zur fstab hinzufügen? Könntest du nicht einfach eine machen 192.168.200.201:/ /home/nfsmnt/shared nfs4 rw 0 0?
Hahn
@ Rooster um ehrlich zu sein, ich bin nicht sicher. Ich habe nicht mehr damit gespielt, seit ich es zum Laufen gebracht habe (funktioniert all die Jahre später immer noch; ich <3 Linux). Wenn ich mich richtig erinnere, denke ich, dass ich es aufgrund von Samba und der Art und Weise, wie Share-Definitionen verwendet werden, so gemacht habe.
Stormdrain
1
@stormdrain ah Ich habe meine eigene Frage beantwortet. Sie können es so oder so machen, aber um es auf dem Computer zu machen, den ich benutze, musste ich nohide in die Optionen aufnehmen. Dh. /var/shared/folder2 192.168.200.101(rw,sync,nohide)
Hahn
3

Das Problem ist, dass Sie fsid=0für zwei exportierte Dateisysteme haben. Das ist die Fehlermeldung, die Sie erhalten. fsid=0wird verwendet, um den oberen Rand des exportierten Dateisystembaums in nfsv4 festzulegen. Stellen Sie das nur einmal ein. Normalerweise haben Sie so etwas wie i / etc / export auf dem Server:

/var/shared         192.168.200.101(rw,fsid=0,sync)
/var/shared/folder1 192.168.200.101(rw,sync)
/var/shared/folder2 192.168.200.101(rw,sync) 

Siehe http://www.centos.org/docs/5/html/Deployment_Guide-en-US/s1-nfs-server-config-exports.html

Cheeso
quelle
1

In / etc / fstab sollte eine der beiden Syntaxen ausreichen

192.168.200.201:/var/shared/folder1 /home/nfsmnt/folder1 nfs4 rw,defaults 0 0 192.168.200.201:/var/shared/folder1 /home/nfsmnt/folder1 nfs rw,nfsvers=4,defaults 0 0

Jmarki
quelle
Ich bekomme immer noch einen Ordner nicht gefunden Fehler. mount.nfs4: 192.168.200.201:/var/shared/folder1 failed, reason given by server: No such file or directory Erhalten Sie auch: 'vers=4' is not supported. Use '-t nfs4' instead.Danke!
Stormdrain
Entschuldigung, verwechselt mit dem Solaris-Befehl. vers=4sollte nfsvers = 4 sein.
Jmarki
Ich denke, Sie sollten nicht fsid=0in Ihren /etc/exportsZeilen haben. Beide Ordner müssen derselbe Exporthandler sein, was das same filehandlerFehlerprotokoll verursacht . Siehe man exportsfür Details auffsid
Jmarki
Nee. Ich habe versucht, beide Exportzeilen in fsid = 1, fsid = 2 bzw. fsid = 0, fsid = 1 zu ändern, und ich erhalte Fehler, bei denen die Operation nicht zulässig ist.
Stormdrain