NFS und Symlinks

f.gruber

f.gruber

Eroberer
Hallo,
ich habe am Server zwei Partitionen zu einer zusammengelegt und dabei nicht bedacht, dass die Mountpoints beider Partitionen als NFS Share exportiert waren.

Symlinks, die auf die neuen Mountponts zeigen, helfen nicht. Wie ich nachgelesen habe, ist das so beabsichtigt, dass NFS keinen Symlinks folgt.

Die Mountpoints auf dem Server und auf den Clients haben verschiedene Namen, konkret:

Auf dem Server war z.B. /daten exportiert.
Dieses Verzeichnis war bzw. ist als /server_daten am Client gemountet. War diese Namensgebung ungeschickt, hätte ich am Server und auf den Clients die gleichen Pfade nehmen sollen?

Nun ist /local/daten exportiert (und in diesem Verzeichnis ist ein Unterverzeichnis mit den Daten, die vorher auf einer zweiten Partition waren, welche - wie gesagt - auch exportiert war.)

Muss ich auf den etwa 70 Linux Clients die /etc/fstab ändern?

Oder gibt es eine einfachere Lösung?
 
Beschreib das Problem noch mal exakter, welche Pfade vorher exportiert wurden, und wie gemountet wurde und was sich jetzt geändert hat. Evtl. helfen dir bind-mounts?
 
Bind Mounts haben nix mit NFSv4 zu tun, aber der Artikel erklärt da auch nicht viel zu. Kannst du jetzt bitte dein Problem einmal genau erklären?
 
Bind Mounts haben nix mit NFSv4 zu tun, aber der Artikel erklärt da auch nicht viel zu. Kannst du jetzt bitte dein Problem einmal genau erklären?

OK.

Es waren 2 Partitionen:
/dev/md2 gemountet als /daten
/dev/md3 gemountet als /samba/lehrer

Daten gesichert.

Beide Partitionen gelöscht, eine neue Partition erstellt, die so groß ist, wie beide vorher zusammen waren: /dev/md2

Diese Partition /dev/md2 gemountet als /local

Gesicherten Inhalt der alten Partition /dev/md2 kopiert nach /local/daten
Inhalt der zweiten alten Partition /dev/md3 kopiert nach /local/lehrer

Altes, jetzt leeres Verzeichnis /daten gelöscht.
Altes, jetzt leeres Verzeichnis /samba/lehrer gelöscht.

Statt dieser Verzeichnisse Symlinks erzeugt:
Code:
ln -s /local/daten /daten
ln -s /local/lehrer /samba/lehrer

Am Server steht in /etc/exports:
/samba/lehrer xx.xx.xx.xx/24(rw,no_root_squash,sync,no_subtree_check)
/daten xx.xx.xx.xx/24(rw,no_root_squash,sync,no_subtree_check)
Am Client steht in der /etc/fstab so etwas wie:
xx.xx.xx.xx/daten /server_daten ....
xx.xx.xx.xx/samba/lehrer /server_lehrer ....

In diesen beiden Verzeichnissen sind am Client aber keine Daten zu sehen.
 
Zuletzt bearbeitet:
Hmm, dein Post ist in sich nicht sehr schlüssig, kannst du das bitte nochmal kontrollieren? Warum machst du z.B. den einen Symlink nach /samba/lehrer und nicht /lehrer?

Dein fstab Beispiel mountet denselben Pfad an zwei unterschiedliche Orte, das ist doch auch nicht Sinn der Übung?

Wenn meine Glaskugel richtig funktioniert sollte es dir helfen, wenn du statt
Code:
ln -s <a> <b>
folgendes benutzt:
Code:
mount -o bind <a> <b>
(<a> und <b> müssen vorher existieren)

EDIT: Um deine alte Aufteilung wieder zu erreichen wäre folgendes nötig:
Code:
mkdir /daten /lehrer
mount -o bind /local/daten /daten
mount -o bind /local/lehrer /lehrer
 
Hmm, dein Post ist in sich nicht sehr schlüssig, kannst du das bitte nochmal kontrollieren? Warum machst du z.B. den einen Symlink nach /samba/lehrer und nicht /lehrer?

... Der Symlink hat den Pfad /samba/lehrer und zeigt auf /local/lehrer, weil ja die Daten vorher in /samba/lehrer gespeichert waren. Das ist schon richtig so.

Dein fstab Beispiel mountet denselben Pfad an zwei unterschiedliche Orte, das ist doch auch nicht Sinn der Übung?

Ja, da hast du recht, da habe ich einen Fehler im Posting. Habe ihn jetzt im Nachhinein ausgebessert und farbig hervorgehoben.

Ich habe jetzt Folgendes gemacht:
Die zwei Symlinks gelöscht.
Zwei Verzeichnisse erzeugt:
Code:
mkdir /daten 
mkdir /samba/lehrer

In die /etc/fstab am Server fogende Zeilen eintragen.

Code:
mount -o bind /local/daten /daten
mount -o bind /local/lehrer /samba/lehrer

Nach Eingabe von
Code:
mount -a
bekomme ich die Meldung, dass die Zeilen fehlerhaft sind.

Tut mir leid, das ganze ist für mich totales Neuland und es fehlt mir der Durchblick - trotz Manpage und Internet Recherche.
 
OK.
Es waren 2 Partitionen:
/dev/md2 gemountet als /daten
/dev/md3 gemountet als /lehrer

Also stimmt der Pfad hier auch nicht, korrekt? Das meinte ich mit in sich nicht schlüssig. mount -o bind a b ist der Befehl für die Konsole, in die fstab kannst du das nicht 1:1 kopieren, die fstab ist von der Feldreihenfolge her so aufgebaut:
  1. Quelle
  2. Ziel
  3. Dateisystem
  4. Optionen
  5. x
  6. y
Was x und y waren habe ich vergessen, steht aber in man fstab. Für Bind mounts reicht 0 0. Also wenn wir uns unseren mount Befehl anschauen:
Code:
mount -o bind /local/daten /daten
ergibt sich folgendes:
  1. Quelle /local/daten
  2. Ziel /daten
  3. Dateisystem none oder auto, für bind reicht none
  4. Optionen bind,auto (auto damit es beim Start gemountet wird, siehe man fstab)
  5. x 0
  6. y 0
Also ergibt sich folgender fstab Eintrag:
Code:
/local/daten /daten none bind,auto 0 0
Aber sinnvoller ist es erst immer mit dem mount Befehl so wie oben gezeigt zu testen, ob das funktioniert, bevor man es in die fstab einträgt.
 
Also stimmt der Pfad hier auch nicht, korrekt? Das meinte ich mit in sich nicht schlüssig
Ach, schrecklich, wieder ein Konzentrationsfehler! Habe das jetzt auch weiter oben ausgebessert und farblich markiert!

... Also ergibt sich folgender fstab Eintrag:
Code:
/local/daten /daten none bind,auto 0 0
Aber sinnvoller ist es erst immer mit dem mount Befehl so wie oben gezeigt zu testen, ob das funktioniert, bevor man es in die fstab einträgt.

Danke vielmals für die ausführlichen und geduldigen Antworten. Bitte um Entschuldigung für die fehlerhaften Angaben und für das "auf der Leitung stehen".

Melde mich wieder, sobald ich es ausprobiert habe. Muss zu diesem Zweck in die Schule gehen und mich (physisch) zu einem Linux Client setzen. Mit Wake on LAN geht da nichts, da alle Maschine so eingestellt sind, dass Windows bootet ...
 
Hat bestens funktioniert.

Habe einiges dazugelernt, nochmals vielen Dank!
 

Ähnliche Themen

Falsche Rechte gesetzt beim Anlegen von Ordnern via Samba-Client

IRIX mountet Windows-Verzeichnis per NFS, aber die Rechte ...?

Samba viel langsamer als Windows Freigabe

Cryptsetup Volume über NFS

NFS-problem

Zurück
Oben