raspberry: /var/ auf usb-FP, nicht in fstab einhängen, sondern später

Du kommst mit der Installation nicht voran oder willst noch was nachfragen? Schau auch in den "Tipps und Tricks"-Bereich.
Antworten
egerlach
Beiträge: 206
Registriert: 13.06.2009 17:21:50

raspberry: /var/ auf usb-FP, nicht in fstab einhängen, sondern später

Beitrag von egerlach » 10.06.2020 15:16:57

Hallo,
wo im Bootprozess kann ich frühstmöglich über /var/ eine externe Partition mounten? Evtl. log-daemon neu starten, wenn der sofort schreibt.

Hintergrund: der /var/-Eintrag ist in der fstab kann nicht als optional gekennzeichnet werden, auch wenn in /var/ noch die Kopie des Original von /var/ liegt und der raspi damit booten könnte. Mit anderen Partitionen wie z.B. /home geht das, nicht aber mit /var/ . Diesen Weg, /var/ in fstab als optional zu markieren, haben mir leider Debian-Puristen verbaut. Der raspi bootet gar nicht mehr wenn die externe FP fehlt. Das will ist verhindern.

Wo im Bootprozess kann ich frühstmöglich über /var/ eine externe Partition mounten?

danke schonmal
Eckard

Benutzeravatar
MSfree
Beiträge: 11605
Registriert: 25.09.2007 19:59:30

Re: raspberry: /var/ auf usb-FP, nicht in fstab einhängen, sondern später

Beitrag von MSfree » 10.06.2020 16:22:32

Der Boot scheitert daran, daß bei nicht gemounteter Platte die Unterverzeichnisse /var/run und /var/lock nicht existieren. Mit optional hat das nichts zu tun.

egerlach
Beiträge: 206
Registriert: 13.06.2009 17:21:50

Re: raspberry: /var/ auf usb-FP, nicht in fstab einhängen, sondern später

Beitrag von egerlach » 10.06.2020 17:14:20

Aha ... danke ... wusste ich nicht, da findet wohl direkt nach dem Kernel load einiges statt.

Ich hatte mir auch schon überlegt, ob ich nur /var/spool/ (vor allem wegen hylafax) und /var/lib/mysql (MariaDB, Hauptaufgabe des raspi, darf nicht ausgebremst werden) auf jeweils ein Unterverzeichnis von Partition sda2 der SSD-Festplatte lege, also /sda2/lib/ auf /var/lib/ und /var/spool/ auf /sda2/spool/ . In den beiden Verzeichnissen wird jeden Tag viel geschaufelt. Und wenn ich schon dabei bin, dann kann ich auch noch noch /sda2/log/ auf /var/log verlegen, dann sind alle häufigen "Schreiber" auf der externen Festplatte.

Was spricht dagegen? - Wo im Bootprozess kann ich dann frühestmöglich auf /var/spool/ die sda2 einhängen?
Zuletzt geändert von egerlach am 10.06.2020 18:52:10, insgesamt 2-mal geändert.

Benutzeravatar
Tintom
Moderator
Beiträge: 3066
Registriert: 14.04.2006 20:55:15
Wohnort: Göttingen

Re: raspberry: /var/ auf usb-FP, nicht in fstab einhängen, sondern später

Beitrag von Tintom » 10.06.2020 17:35:10

egerlach hat geschrieben: ↑ zum Beitrag ↑
10.06.2020 17:14:20
Ich hatte mir auch schon überlegt, ob ich nur /var/spool/ (vor allem wegen hylafax) und /var/lib/mysql (MariaDB, Hauptaufgabe des raspi, darf nicht ausgebremst werden) auf jeweils eine Partition sda2 und sda3 lege
Keine Angst, das wird garantiert nicht ausgebremst. Jedenfalls nicht mehr, als jetzt schon über den USB(2?)-Bus.

egerlach
Beiträge: 206
Registriert: 13.06.2009 17:21:50

Re: raspberry: /var/ auf usb-FP, nicht in fstab einhängen, sondern später

Beitrag von egerlach » 11.06.2020 10:43:43

Und an welcher Stelle im Bootvorgang dann die mount-Kommandos ausführen? Insbesondere wegen /var/log/ sollte es so früh wie möglich sein.

Ein Systemd-Start-Prozess? - in Abschnitt [unit] dann Before=.... oder After=... ? Before=WAS?

Benutzeravatar
MSfree
Beiträge: 11605
Registriert: 25.09.2007 19:59:30

Re: raspberry: /var/ auf usb-FP, nicht in fstab einhängen, sondern später

Beitrag von MSfree » 11.06.2020 11:00:02

egerlach hat geschrieben: ↑ zum Beitrag ↑
11.06.2020 10:43:43
Und an welcher Stelle im Bootvorgang dann die mount-Kommandos ausführen?
Keine Sorge, das, was in der fstab steht, wird schon in der richtigen Reihenfolge abgearbeitet.

Dein Denkfehler ist ganz woanders. Oben schreibst du:
Der raspi bootet gar nicht mehr wenn die externe FP fehlt. Das will ist verhindern.

Wo im Bootprozess kann ich frühstmöglich über /var/ eine externe Partition mounten?
Wie willst du etwas "möglichst früh" mounten, wenn es fehlt? Das klingt nach Siemens Lufthaken. :mrgreen:

Entweder, die externe Platte ist angeschlossen und kann gemountet werden, oder sie fehlt und dann steht der Bootvorgang.

Ich halte es daher für keine gute Idee /var auf ein externes Medium zu legen. Deine Datenbank muß nicht unter /var/lib/mysql liegen, das ist nur der Default, den man auch beliebig woanders hinlegen kann. Unter /var/spool stecken Zahlreiche Unterverzeichnisse, von denen du wohl nur eines wirklich auf die externe Platte legen müßtest, das kann man per symbolic Link problelos machen.

egerlach
Beiträge: 206
Registriert: 13.06.2009 17:21:50

Re: raspberry: /var/ auf usb-FP, nicht in fstab einhängen, sondern später

Beitrag von egerlach » 11.06.2020 13:26:01

Danke Dir nochmals... ein Gedankenfehler meinerseits:

"fstab" war das richtige Stichwort von Dir: JETZT kann ich ja /var/spool/hylafax/ , /var/lib/mysql in der fstab übermappen und auf die externe FEstplatte leiten, weil DIESE mounts sich ja in der fstab als optional deklarieren lassen: falls mal nicht vorhanden bleibt der Bootvorgang ja nicht stehen und es wird das genommen, was in /var/spool/hylafax/, .... an alten Dateien drinnen steht. Also brauch ich NICHT ein eigenes systemd-Startskript .... Sorry, wenn tief drin in der Technik, sehe ich manchmal den Wald vor lauter Bäumen nicht mehr ;)
Jetzt erübrigt sich auch Deine Kritik /var/ komplett auf eine externe Festplatte zu legen.

Natürlich ist es jetzt auch sinnvoller die externe Festplatte sda2 z.B. auf /externhd zu mounten, dort Verzeichnisse "hylafax" und "mysql" anzulegen, auf die dann verlinkt wird.

egerlach
Beiträge: 206
Registriert: 13.06.2009 17:21:50

Re: raspberry: /var/ auf usb-FP, nicht in fstab einhängen, sondern später

Beitrag von egerlach » 13.06.2020 18:34:35

DOCH noch nicht alles geklärt! Einen Link von /var/log auf /ssd-festplatte/log

Code: Alles auswählen

ln -s /ssd-festplatte  /var/log

zu setzen ist keine Lösung, dann hat der rasbi beim Start ohne eingesteckte USB-SSD-Festplatte wieder das Problem, dass es /var/log nicht als Verzeichnis gibt, denn /var/log ist dann nur ein Link der ins Leere zeigt! Und gerade im Fehlerfall einer nicht erkannten / nicht eingesteckten USB-FEstplatte SOLL der raspi ja auch loggen! (höchstens ich "fake" in /ssd-festplatte/ das log-Verzeichnis: mkdir /ssd-festplatte/log bei nicht eingesteckter Festplatte)
Richtig ist dann

Code: Alles auswählen

mount --bin /ssd-festplatte/log /var/log
oder?
Wenn das richtig ist, wo in welches Startskript trage ich diesen mount --bind ... (oder den ln -s ...) ein, damit der so früh wie möglich nach Ausführung der fstab ausführen kann? - In die fstab bekomme ich diesen bind-mount ja nicht, fstab mountet nur block-Geräte, nicht Verzeichnisse!

Danke schonmal ...
Eckard

@selbst gefunden!! In fstab kann ich mount --bind DOCH eintragen, dann brauche ich das mit dem Link setzen und "fake" nicht und habe die Verzeichnisse frühestmöglich gemountet (vielmehr "gebunden"=bind) :

Code: Alles auswählen

/ssd-festplatte/log/ /var/log/ none  bind  0  0 
GEHT! Gerade getestet! :)
Und wenn die ssd-Festplatte im Ausnahme-/Fehlerfall nicht eingesteckt ist, läuft das log wie gewollt auf /var/log/ der microSD des rapi. :)

Antworten