raspberry: /var/ auf usb-FP, nicht in fstab einhängen, sondern später
raspberry: /var/ auf usb-FP, nicht in fstab einhängen, sondern später
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
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
Re: raspberry: /var/ auf usb-FP, nicht in fstab einhängen, sondern später
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.
Re: raspberry: /var/ auf usb-FP, nicht in fstab einhängen, sondern später
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?
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.
Re: raspberry: /var/ auf usb-FP, nicht in fstab einhängen, sondern später
Keine Angst, das wird garantiert nicht ausgebremst. Jedenfalls nicht mehr, als jetzt schon über den USB(2?)-Bus.egerlach hat geschrieben:10.06.2020 17:14:20Ich 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
Re: raspberry: /var/ auf usb-FP, nicht in fstab einhängen, sondern später
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?
Ein Systemd-Start-Prozess? - in Abschnitt [unit] dann Before=.... oder After=... ? Before=WAS?
Re: raspberry: /var/ auf usb-FP, nicht in fstab einhängen, sondern später
Keine Sorge, das, was in der fstab steht, wird schon in der richtigen Reihenfolge abgearbeitet.egerlach hat geschrieben:11.06.2020 10:43:43Und an welcher Stelle im Bootvorgang dann die mount-Kommandos ausführen?
Dein Denkfehler ist ganz woanders. Oben schreibst du:
Wie willst du etwas "möglichst früh" mounten, wenn es fehlt? Das klingt nach Siemens Lufthaken.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?
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.
Re: raspberry: /var/ auf usb-FP, nicht in fstab einhängen, sondern später
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.
"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.
Re: raspberry: /var/ auf usb-FP, nicht in fstab einhängen, sondern später
DOCH noch nicht alles geklärt! Einen Link von /var/log auf /ssd-festplatte/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
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) :
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.
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
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
Und wenn die ssd-Festplatte im Ausnahme-/Fehlerfall nicht eingesteckt ist, läuft das log wie gewollt auf /var/log/ der microSD des rapi.