• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

[gelöst] directory mapping mit mount

Hallo Gemeinde,

evtl. ist diese Frage schon gestellt worden, ich finde allerdings keine Antwort mit den mir einfallenden Suchbegriffen.

Ich möchte das Verzeichnis /var/spool/mail , wobei /var auf einer einfachen HD-Partition liegt, in /srv/mail abbilden, wobei /srv auf einer SW-Raid5 Partition liegt.
Also, dass die Daten, die nach /var/spool/mail geschrieben werden, letztendlich auf dem Raid5 landen, in /srv/mail.

Geht das mit mount oder muss ich das per softlink machen?

Wie lösen Profis das?

Danke für ALLE Antworten. Und sorry, wenn das ein Doppelpost sein sollte, dann bräuchte ich mal nen Tipp, wonach ich eigentlich suchen muss :eek:ps:

Gruß, tk
 
A

Anonymous

Gast
Ganz einfach Filesystem auf dem Raid oder auf andere Platte oder wo auch immer anlegen
dieses Filesystem im Verzeichnis /var/spool/mail mounten fertig.
Alles was danach unterhalb von /var/spool/mail geschrieben wird, steht dann auf einem anderem Filesystem und nicht mehr in dem Filesystem das /var beherrbergt.

Aber Achtung, sollten jetzt schon Daten dort liegen, dann werden diese durch den mount-Vorgang überdeckt, das heißt sie sind nach wie vor da, aber nicht zugänglich solange dort was gemountet ist.

Vorgehensweise normalerweise:
Dienst anhalten der dort hin schreiben kann. alle Daten dort Sichern. Das Filesystem in die fstab eintragen und mounten. Die gesicherten Daten wieder an ihren alten Platz im Dateisystem schreiben, (das ist jetzt allerdings dann eine andere Platte, oder Partition.)
Wenn das soweit wieder alles ok ist. Dann Dienst wieder starten.
Sollte das alles soweit wieder normal laufen, in naher Zukunft noch einmal den Dienst stoppen und das Filesystem umounten, dann dort die jetzt nicht mehr benötigten Datein löschen.

Das Ganze geht besondern nahe an der Rootpartition nicht an allen Verzeichnispunkten, man muss sich hier an ein paar "Sollbruchstellen" halten. Hier mal nachlesen. http://www.linupedia.org/opensuse/Mountpoint

robi
 
erstmal Danke für Eure Antworten.

Also Softlink ist dann wohl eher suboptimal :)

den Vorschlag von robi hätte ich sicher auch so gemacht, wenn die Anforderungen vorher klar gewesen wären. War aber nicht, und jetzt muss ich halt frickeln :(
Ich will einen Mailserver mit IMAP aufsetzen und nicht an allen möglichen Config-Stellen nach /var/spool/mail suchen um es dann dort mit /srv/mail zu ersetzen. Garantiert vergesse ich dabei irgendwas und wartbar ist das dann auch nicht.

Das Problem ist, dass das Raid schon komplett mit Filesystemen (/home, /srv) belegt ist und ich deswegen nur das Verzeichnis für Mail verbiegen will, damit die Daten ein wenig sicherer sind. Gesichert wird dann nur /srv, da /home keine unwiderbringlich wichtigen Daten enthält, bzw. diese auf /srv/.../... verlinkt. Alles wichtige (User- Mails, -Downloads, -Dokumente, -Bilder, etc.) liegt innerhalb von /srv.
Dann kann ich auch den Laien vor Ort sagen: Kopier /srv mit cp -a auf die Wechselplatte und gut ist.

Normales mounten, also ein Filesystem irgendwo einhängen, per fstab bzw. CLI ist ja kein Problem für mich, das mach ich täglich.

Aber evtl. geht es tatsächlich mit bind-mount, wie marce schrieb. Könnte mir jemand mal einen Hint geben wie man das macht?
Aus der Man-Page werd ich nicht wirklich schlau. Das wird da eher stiefmütterlich behandelt. Und ein Beispiel, das ich mir ableiten kann, finde ich auch nicht.

Gruß tk

EDIT 1:
Habe gerade die Seite http://www.linupedia.org/opensuse/Dateien_des_Mountpoints_verdeckt gefunden. Das scheint mein Problem anzusprechen.
Melde mich mit Ergebnissen wenn ich das ausprobiert habe.

EDIT 2:
die Befehlszeile:
Code:
pc01:/ # mount --bind /srv/mail/ /var/spool/mail
zeigt anscheinend die erwünschte Wirkung.

Jetzt hoffe ich nur, dass der Kernel damit klarkommt, von 2 Stellen aus ins selbe Dateisystem zu malen :???:

nochmal Gruß und Danke für Eure Hinweise.
tk
 
A

Anonymous

Gast
tasskaff schrieb:
Jetzt hoffe ich nur, dass der Kernel damit klarkommt, von 2 Stellen aus ins selbe Dateisystem zu malen :???:
Das ist dem Kernel vollkommen egal. er hat das Filesyste nur ein einziges Mal. Nur die Namensauflösung kennt es zweimal.
So ganz aus den Bauch heraus würde ich in diesem Fall aber die "deckige Lösung" vorziehen und das Verzeichnis /var/spool/mail komplette nach nach /srv/mail kopieren, dann das Verzeichnis mit samt Inhalt löschen und dann
Code:
ln -s /srv/mail /var/spool/mail

robi
 
... So ganz aus den Bauch heraus würde ich in diesem Fall aber die "deckige Lösung" vorziehen ...

und wie begründet sich Dein Bauchgefühl?
Ich nahm an, dass dies die bessere Lösung wäre, eben damit _nicht_ die eine oder andere Anwendung über nen weichen Link stolpert, ihn nicht auflösen kann oder will.
Bei nem hardlink sieht das anders aus, aber das geht ja leider nicht Partitionsübergreifend :(
Ehrlich, klär mich auf, Du hast _wesentlich_ mehr Ahnung von der Materie als ich.

Ach so: bisher gibt es noch keine Mails. Und damit gibt es da zum Glück erstmal nix wichtiges, was verloren gehen könnte, bzw. gerettet werden müsste.

Danke für Deinen Einsatz und die ewige Geduld mit uns Ahnungslosen :D

Gruß
tk

PS: Ich wollte noch die entsprechende Zeile für /etc/fstab nachreichen:
Code:
/srv/mail/ /var/spool/mail none bind 0 0
natürlich irgendwo NACH den Zeilen, die die beiden Partitionen in /srv und /(var) einbinden!
 
A

Anonymous

Gast
tasskaff schrieb:
und wie begründet sich Dein Bauchgefühl?
Ein Bauchgefühl muss man nicht begründen können. ;) ;) ;)

Funktionieren tut es genauso gut, ist eben die einfachste Art, wenn man kein eigenens Filesystem dazu verwenden kann oder will. (habe selbst Systeme am laufen bei denen aus speziellen Gründen /opt und größere Teilbereiche von /usr auf diese Art umgeleitet sind, laufen seit ewigen Zeiten ohne Probleme) hat auch den Vorteil nicht noch einen zusätzlichen Eintrag in der fstab zu brauchen. Dadurch wird es etwas weniger anfällig für Fehler beim booten und herunterfahren. Und in Suse-Standardsystem sollte es sowieso schon an einigen Stellen solche Softlinks die das genaus machen zB /usr/tmp

Problem gibt es erst dann, wenn das andere Filesystem nicht eingehängt ist und der Softlink ins Leere geht. Sowas sollte dir aber dein System beim booten melden. Fällt das verlinkte Filesystem im laufenden Betrieb aus, oder bleibt hängen, gibts wie in in allen anderen möglichen Realisierungen auch, die selben Probleme.

Eine dritte Möglichkeit hätte ich aber auch noch, eine File gewünschter Größe unterhalb von /srv anlegen und diese als loopdevice mounten, könnte dann bei Bedarf auch verschlüsselt werden. Wahrscheinlich geringfügig langsamer, und bei einem Systemabsturz etwas anfälliger, aber damit sind dann die Platzeinteilung gleich fest geregelt, da die Größe für die Mails von vorne herein zum ersten durch das Anlegen der File schon mal zu jeder Zeit sicher bereitgestellt und reserviert ist und zum zweiten durch die Größe der Datei nach oben auch begrenzt ist- Dadurch können sich unterschiedliche Applikationen nicht gegenseitig den Platz auf der Partition wegnehmen. Auch könnte mit den Zugriffsberechtigungen über eine solche Datei etwas mehr Sicherheit erzeugt werden, das währe zB ratsam wenn es sich um ein remote oder freigegebenes Filesystem handeln sollte, oder dort noch andere Freigaben für Serverdienst abgelegt sind, was man bei /srv ja eigentlich erwarten würde.

robi
 
Ein Bauchgefühl muss man nicht begründen können.
ich meinte auch eher, worauf baut sich das auf ;)

danke für Deine ausführliche Begründung. Also scheint die Frage ob Softlink oder 'mount ---bind' eher philosophischer Natur zu sein.
Aber an die dritte von Dir genannte Möglichkeit hatte ich überhaupt nicht gedacht (Wald vor lauter Bäumen nicht gesehen), obwohl sie ja eigentlich die naheliegenste Lösung für sowas ist. Das mit der Platzreservierung ist ja genauso restriktiv wie ne eigene Partition. Und ganz richtig erkannt, da gibts dann noch die Gateway/Router-Funktion, smb-Freigaben, einen Web-Server und mal sehen was mir noch so einfällt. Allerdings alles im internen Netz außer das GW.
Die Usersituation ist recht einfach: es gibt das team, root und admin. admin bin ich, die user greifen eher hintereinander, aber von verschiedenen Client-PCs, darauf zu. Aber natürlich hast Du prinzipiell Recht mit Deinen Argumenten zur Sicherheit. Und für evtl. spätere Erweiterungen, z.B. feinere Userunterscheidung,... , ist das eine gute Basis. Ich denke das wird die Lösung der Wahl. Danke für Deine Anregung. Wenn sie auch eigentlich Deinem Bauchgefühl für dreckige Lösungen widerspricht :D Denn das ist wohl der sauberste aller möglichen Ansätze unter diesen Umständen.

nochmal Danke, für's auf die Sprünge helfen, Gruß
tk
 
Oben