sudo e2fsck -nfv /dev/mmcblk0p2 zeigt Filesystemfehler an am laufenden System - alles OK wenn der Check offline erfolgt

  • Wegen einer anderen Sache bin ich mal dem Tut von RTFM gefolgt und war erschreckt ueber die Fehler die mir gemeldet wurden. Lasse ich die Option -f weg wird kein Fehler reportet.

    Daraufhin habe ich das System runtergefahren und an einem anderen System geprueft und da tauchten keine Filesystemfehler auf :denker:

    Mir ist auch aufgefallen dass die Fehlermeldungen jetzt nach einer gewissen Zeit anders aussehen. D.h. fuer mich dass man die Option -f mit Vorsicht geniessen muss - jedenfalls wenn das Filesystem gemountet und aktiv ist. Offensichtlich sind Laufzeitaenderungen auf dem Filesystem nicht atomar und werden mit -f bemerkt. Ehrlich gesagt haette ich vermutet dass alle Filesystemaenderungen atomar sind. Aber vielleicht ist das auch der Sinn des ext4 Journals - solche nicht atomaren Transaktionen reparieren zu koennen.

    Oder habe ich hier was falsch verstanden?

    :no_sad: ... Kein raspiBackup - kein Mitleid ... :no_sad:

    Mein Raspberry Garten

    3 * RPi2B, 2 * RPi3B, 2 * RPi4B, 1 * CM4, 1 * RPi5

  • sudo e2fsck -nfv /dev/mmcblk0p2 zeigt Filesystemfehler an am laufenden System - alles OK wenn der Check offline erfolgt? Schau mal ob du hier fündig wirst!

  • Die -f (force) Option ist bei journalisierenden Filesystemmen immer erforderlich, da der Filesystemstatus "Clean",oder "Clean with errors" auch dann zurückgegeben/angezeigt wird, wenn alle geänderten Metadaten im Journal noch durchgehend gespeichert sind. Ohne -f könnte das "repair" nicht angestossen werden und das Journal wird immer größer.


    Servus !

    RTFM = Read The Factory Manual, oder so

  • Die -f (force) Option ist bei journalisierenden Filesystemmen immer erforderlich, da der Filesystemstatus "Clean",oder "Clean with errors" auch dann zurückgegeben/angezeigt wird, wenn alle geänderten Metadaten im Journal noch durchgehend gespeichert sind.

    Interessant. D.h. die Info dass das FS OK ist (ohne die -f Option) setzt voraus dass alle noch offenen Transaktionen im Journal stehen.

    Ohne -f könnte das "repair" nicht angestossen werden und das Journal wird immer größer.

    Verstehe ich so ganz: Auch wenn ich nicht regelmaessig mit der Option -f das FS checke kann ich doch mein Filesytem mit Hilfe des Journals reparieren :conf:

    Und warum wird as Journal dann immer groesser?

    :no_sad: ... Kein raspiBackup - kein Mitleid ... :no_sad:

    Mein Raspberry Garten

    3 * RPi2B, 2 * RPi3B, 2 * RPi4B, 1 * CM4, 1 * RPi5

  • Ein "rollback" des Journals zum repair wird nur dann erfolgreich sein, wenn die Sektoren der "alten" Inodes noch nicht überschrieben wurden. Auch das Journalfile selbst darf noch nicht korrupt geworden sein.


    Servus !

    RTFM = Read The Factory Manual, oder so

  • Ist Dein Tut nicht etwas irrefuehrend mit der Option -f ?

    Das am laufenden System ausgefuehrt zeigt wie ich verstehe meist Fehler an. Wenn dann die Option -f offline genutzt wird ist doch alles OK. Jedenfalls ist das meine Erfahrung an meinen 3 aktiven Raspis. Ich dachte erschreckt bei allen Raspis sein das Filesystem reparaturbeduerftig - und letztendlich war es keines nachdem ich den Test offline ausgefuehrt habe.

    :no_sad: ... Kein raspiBackup - kein Mitleid ... :no_sad:

    Mein Raspberry Garten

    3 * RPi2B, 2 * RPi3B, 2 * RPi4B, 1 * CM4, 1 * RPi5

  • -f Force checking even if the file system seems clean.

    Das habe ich gelesen aber nicht verstanden. D.h. da wird das Journal nicht berücksichtigt sondern der aktuelle Stand getestest.

    Ich verstehe einfach nicht warum offline keine Fehler gemeldet wurden. Das Filesystem muss doch weiterhin nicht OK sein und mit -f Fehler melden. Das passiert aber nicht :conf:

    :no_sad: ... Kein raspiBackup - kein Mitleid ... :no_sad:

    Mein Raspberry Garten

    3 * RPi2B, 2 * RPi3B, 2 * RPi4B, 1 * CM4, 1 * RPi5

  • Nee. Keine Angst. Das weiss ich :biggrin:

    Aber guter Hinweis für Mitleser die das Tut nicht gelesen haben: In dem Tut steht man soll -f zusammen mit -n nutzen. Dann wird nur getestet und nichts auf dem Filesystem geaendert.

    Ich Frage mich auch so langsam wozu die Option -f eigentlich existiert.

    :no_sad: ... Kein raspiBackup - kein Mitleid ... :no_sad:

    Mein Raspberry Garten

    3 * RPi2B, 2 * RPi3B, 2 * RPi4B, 1 * CM4, 1 * RPi5

  • Ich Frage mich auch so langsam wozu die Option -f eigentlich existiert.

    Weil es viele Linux Distributionen gibt und niemand verpflichtet ist, ein EXT4 Filesystem mit dem errors- behavior "continue" zu installieren und zu betreiben. Pi-OS und Debian (von den anderen weiss ichs nicht) haben bei der Erstellung eines EXT4 Filesystems continue voreigestellt, sodass infolge der Journaleintragungen trotz Fehlern das Filesystem rw weiterbetrieben wird mit dem Filsystemstatus clean, oder clean with errors. Wenn e2fsck den Filesystemstatus zum Anlass nimmt den fsck zu überspringen, wird natürlich kein Fehler angezeigt und würde auch kein repair durchgeführt.

    Deshalb ist -ein "force" -f erforderlich, weil (infolge des Journals) ein ext4 FS clean ausschauen könnte (... even it seems clean)


    Meine "Anleitung" versteht sich als "Quick + Durty" und ersetzt keineswegs die Systembefehle dumpe2fs, tune2fs, debugfs samt deren man.pages. Es ist auch ein dumpe2fs Beispiel B. angeführt das über den grep Filter nur nach der Zeile des ersten verwaisten Inode sucht. Mit < sudo dumpe2fs -h /dev/mmcblk0p2 > bekommst Du den gesamten Ext4 Metadaten-Header angezeigt.


    Servus !

    RTFM = Read The Factory Manual, oder so

  • Meine "Anleitung" versteht sich als "Quick + Durty" und ersetzt keineswegs die Systembefehle dumpe2fs, tune2fs, debugfs samt deren man.pages.

    Verstehe ich. Es hat mich nur ziemlich verwundert dass im gemounteten Zustand mit -f Fehler angezeigt wurden und ich schon dachte - "Schei**e FS im Ar***" - und dann im ungemounteten Zustand nichts mehr an Fehlern mit -f berichtet wurden.

    D.h. man wird alerted dass da was am FS nicht in Ordnung ist und es stellt sich heraus dass doch alles OK ist.

    :no_sad: ... Kein raspiBackup - kein Mitleid ... :no_sad:

    Mein Raspberry Garten

    3 * RPi2B, 2 * RPi3B, 2 * RPi4B, 1 * CM4, 1 * RPi5

  • D.h. man wird alerted dass da was am FS nicht in Ordnung ist und es stellt sich heraus dass doch alles OK ist.

    Ich habe immer noch nicht verstanden warum das passiert :nosmile: Kann es daran liegen dass andere SD Karten genutzt werden und der Controller auf der SD Karte unterschiedlich arbeitet/cached?



    :no_sad: ... Kein raspiBackup - kein Mitleid ... :no_sad:

    Mein Raspberry Garten

    3 * RPi2B, 2 * RPi3B, 2 * RPi4B, 1 * CM4, 1 * RPi5

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!