/var/run in tmpfs - Fehler mit Jounald

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Hi.

    Wenn ich einige Verzeichnisse in eine Ramdisk schiebe, bekomme ich Probleme mit systemd und der Raspberry startet nicht mehr korrekt. Journald gibt dann folgende Fehlermeldung aus. Wenn ich die Einträge in der fstab wieder auskommentiere läuft wieder alles.

    "Failed to start Trigger Flushing of Journal to Persistent Storage" journald

    Kennt das jemand? Folgendes setze ich in der fstab:

    none /var/run tmpfs size=1M,noatime 00
    none /var/log tmpfs size=1M,noatime 00
    none /var/tmp tmpfs size=1M,noatime 00
    none /tmp tmpfs size=1M,noatime 00


    Viele Grüße,
    Nils

    • /var/run
      liegt bei systemd schon standardmäßig auf einem tmpfs und wird wohl auch sehr früh beim Bootvorgang benötigt. Da ein zweites tmpfs darüberzulegen ist also kontraproduktiv.
    • /tmp
      kann man leicht auf ein tmpfs legen indem man die dafür bereits vorhandene systemd-unit aktiviert:

      Code
      # systemctl enable tmp.mount


      (# steht für den Prompt von root, also vor dem ausführen des nachfolgenden Befehls einfach mit su oder sudo root-Rechte erlagen)

    • /var/tmp ist laut FHS ein Verzeichnis im dem Programme temporäre Dateien anlegen können, die über Systemstarts hinweg zur Verfügung stehen. Es ist also nicht unbedingt eine gute Idee dieses Verzeichnis auch in ein tmpfs zu legen:


      Quelle

      Soll es trotzdem auf einem tmpfs liegen würde ich am ehesten versuchen /var/tmp durch einen symbolischen Link auf /tmp zu ersetzen, nachdem aber wie gesagt Programme damit rechnen die dort angelegten temporären Dateien auch nach einem Neustart wiederzufinden, hat das uU Nebenwirkungen.

    • /var/log
      Bleibt also noch /var/log. Das denke sollte man auf ein tmpfs legen können, wobei ich nicht sicher bin, dass nicht schon Logausgaben in /var/log landen könnten bevor der entsprechende fstab-Eintrag gemountet wurde.

      Vielleicht ist das aber gar nicht notwendig:
      Die Meldungen die systemd mit dem eigenen journal aufsammelt werden, wenn du nicht selbst das Verzeichnis /var/log/journal erstellst oder die Einstellungen änderst ohnehin nur in den bereits vorhanden tmpfs-Dateisystemen gespeichert - ich glaube verteilt auf mehrere Verzeichnisse (getrennt für Meldungen vom System und von Benutzern) unterhalb von /var/run.
      Wenn du nun noch einen eventuell vorhandenen syslog-Daemon, zB in Form des Pakets rsyslog deinstallierst landen ohnehin nur noch sehr wenige (neue) Meldungen unter /var/log, die von den jeweiligen Programmen selbst dorthin geschrieben werden. Auf Anhieb fallen mir hier nur zwei Kandidaten ein:

      • die Paketverwaltung
        Bei der ist es recht sinnvoll, dass man nachvollziehen kann was auf dem System so alles passiert ist, um zB herauszufinden bei der Installation/Update/Deinstallation welchen Pakets irgendwelche Probleme erstmals aufgetaucht sind.
      • X11/xorg
        Darüber kann man geteilter Meinung sein, aber nachdem viele Raspberry Pis wohl headless also ohne X laufen ist es auch oft bedeutungslos.


      Es mag noch ein oder zwei weitere Dienste geben, deren Meldungen trotzdem noch in /var/log landen, vorausgesetzt dass sie überhaupt installiert sind, aber bei den geringen Datenmengen die dadurch anfallen würde ich im Zweifelsfall nichts dagegen unternehmen…

      …und wenn doch findest du vielleicht irgendwo das Paket ramlog, das genau dafür sorgt, dass im laufenden Betrieb nichts in /var/log geschrieben wird und nur alle 24h oder beim Herunterfahren die Inhalte des Logs im Speichers mit dem /var/log auf dem Speichermedium abgeglichen wird. Wobei man das bestimmt auch anders konfigurieren kann.

    Einmal editiert, zuletzt von smutbert (3. Januar 2016 um 23:17)

  • Danke Dir für die ausführliche Darstellung. Hab das aktualisiert. Meine Infos waren noch ohne systemd, bin mit der neusten Distri nicht so vertraut.

    Generell plane ich noch eine echte Festplatte an den Raspi anzuschließen für Seafile (welches schon läuft) und dann werde ich einige Sachen noch dorthin auslagern.

    Viele Grüße,
    Nils

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!