Führt Debian automatisch fsck nach crash durch?

Warum Debian? Was muss ich vorher wissen? Wo geht's nach der Installation weiter?
c1ue
Beiträge: 82
Registriert: 27.03.2018 13:13:28

Führt Debian automatisch fsck nach crash durch?

Beitrag von c1ue » 02.02.2020 14:08:50

Hab dazu nix gescheites im Netz gefunden:

Bei mir wacht manchmal die Kiste ausm standby nicht wieder richtig auf, oder schmiert ab, wenn ich in den standby wechsele, oder auch gerne einfach mal beim Hochfahren. Dabei wird das Dateisystem zwangsläufig unsauber unterbrochen.

Daher meine Frage:

Führt Debian (Buster) automatisch nen check nachm crash durch, wenn ich neu boote?

Und wie siehts eigentlich mit USB-Sticks/Platten aus, werden die auch automatisch beim mounten überprüft?

Vielen Dank im voraus.

KP97
Beiträge: 2062
Registriert: 01.02.2013 15:07:36

Re: Führt Debian automatisch fsck nach crash durch?

Beitrag von KP97 » 02.02.2020 15:42:45

c1ue hat geschrieben: ↑ zum Beitrag ↑
02.02.2020 14:08:50
Führt Debian (Buster) automatisch nen check nachm crash durch, wenn ich neu boote?
Das kommt auf den Eintrag in der fstab an. Der letzte/vorletzte Eintrag veranlaßt einen Check beim Start. Man fstab gibt Auskunft.
Bei USB hat man meist keinen Eintrag in der fstab, da werkelt der Dateimanager.
Da mußt Du entsprechend nachsehen.

pferdefreund
Beiträge: 3657
Registriert: 26.02.2009 14:35:56

Re: Führt Debian automatisch fsck nach crash durch?

Beitrag von pferdefreund » 03.02.2020 07:43:57

Aber da habe ich schon die Meldung Filesystem not cleanly unmounted, please run fsck - gesehen. Zumindest merken tut es Debian wohl auch bei USB.

MSfree
Beiträge: 5557
Registriert: 25.09.2007 19:59:30

Re: Führt Debian automatisch fsck nach crash durch?

Beitrag von MSfree » 03.02.2020 08:12:36

pferdefreund hat geschrieben: ↑ zum Beitrag ↑
03.02.2020 07:43:57
Aber da habe ich schon die Meldung Filesystem not cleanly unmounted, please run fsck - gesehen.
Diese Meldung kommt, wenn der normale fsck-Lauf meint, die Dateisystemfehler nicht selbstständig bereinigen zu können. fsck wird aber in jedem Fall aufgerufen, in dem das Daeisystem als "dirty" markiert ist.

Die "dirty"-Markierung geschiet im Dateisystem auf der Platte beim Mount und wird beim Unmount wieder auf "clean" gesetzt, so daß gewährleitet ist, daß nach eine Crash das Dateisystem als "dirty" markiert ist.

c1ue
Beiträge: 82
Registriert: 27.03.2018 13:13:28

Re: Führt Debian automatisch fsck nach crash durch?

Beitrag von c1ue » 04.02.2020 10:18:47

So, hab meine fstab dahingehend angepasst, dass jetzt da ne 1 am Ende der Zeile steht:
/dev/sda3 / ext3 rw,relatime,data=ordered 0 1
Nachm Neustart schien es diesmal etwas länger gedauert zu haben, bis er das FS mounted hat.

Hab dann mal mit journalctl -b |grep sda nachgeschaut, aber da stand nix von fsck, check, clean, root, etc.

journalctl -b -2 |grep sda zeigte jedenfalls keinen Unterschied zum jetzigen Zustand an.

Fragen:

1. Habe ich jetzt eigentlich jahrelange mit inkonsistenten Dateisystemen gelebt, aber ohne dabei jemals eine einzige Datei verloren zu haben?

2. Woran kann ich denn sehen, ob Debian mein FS nun checkt hat?

3. Dadurch, dass ich aus der 0 am Ende des fstab Eintrages nun eine 1 gemacht habe, checked der jetzt jedesmal mein FS beim hochfahren?

Vielen Dank für Eure Hilfe bisher.

OrangeJuice
Beiträge: 234
Registriert: 12.06.2017 15:12:40

Re: Führt Debian automatisch fsck nach crash durch?

Beitrag von OrangeJuice » 04.02.2020 11:11:32

Du könntest zum testen auch fsck in grub eintragen, z.B.

Code: Alles auswählen

GRUB_CMDLINE_LINUX_DEFAULT="fsck.mode=force fsck.repair=yes"
Wenn fsck beim Start ausgeführt wird, solltest du es sehen(Fortschrittsbalken).

c1ue
Beiträge: 82
Registriert: 27.03.2018 13:13:28

Re: Führt Debian automatisch fsck nach crash durch?

Beitrag von c1ue » 04.02.2020 17:16:59

Schon, aber ich will ja nicht, dass der jedes Mal n check macht, sondern nur, wenn nicht sauber runtergefahren worden ist.

Benutzeravatar
ohnex
Beiträge: 383
Registriert: 31.01.2010 22:35:36

Re: Führt Debian automatisch fsck nach crash durch?

Beitrag von ohnex » 05.02.2020 19:31:11

hallo
c1ue hat geschrieben: ↑ zum Beitrag ↑
04.02.2020 10:18:47
Hab dann mal mit journalctl -b |grep sda nachgeschaut, aber da stand nix von fsck, check, clean, root, etc.
warum grepst du nach dem device und nicht nach fsck ? journalctl -b |grep fsck.


c1ue hat geschrieben: ↑ zum Beitrag ↑
04.02.2020 10:18:47
1. Habe ich jetzt eigentlich jahrelange mit inkonsistenten Dateisystemen gelebt, aber ohne dabei jemals eine einzige Datei verloren zu haben?

Soweit ich das noch in Erinnerung habe wird standardmäßig alle paarunddreißig mounts oder alle xxx tage beim Systemstart geprüft.

Mit

Code: Alles auswählen

tune2fs -l /dev/[i]dein root device[/i]
kann man sich die Einstellungen ansehen.
c1ue hat geschrieben: ↑ zum Beitrag ↑
04.02.2020 10:18:47
3. Dadurch, dass ich aus der 0 am Ende des fstab Eintrages nun eine 1 gemacht habe, checked der jetzt jedesmal mein FS beim hochfahren?
Ich denke nicht , bin mir aber nicht ganz sicher, wenn du aber den Zeitintervall auf 1 setzten würdest dann sollte bei jedem Systemstart eine Prüfung erfolgen.

Code: Alles auswählen

tune2fs /dev/sdx  -i 1 
ciao
http://www.commandlinefu.com :)
Ja, ich bin Legastheniker. 8O
Langeweile?

MSfree
Beiträge: 5557
Registriert: 25.09.2007 19:59:30

Re: Führt Debian automatisch fsck nach crash durch?

Beitrag von MSfree » 05.02.2020 19:58:56

Eine Schnellprüfung erfolgt immer. Im Dateisystem selbst ist hinterlegt, ob das Dateisystem sauber ausgehängt wurde, oder, wie im Fall eines Crashes, nicht. Ergibt diese Schnellprüfung, daß das Dateisystem nicht sauber ist, wird das root-Dateisystem auf jeden Fall gecheckt. Schlägt das Fehl, wird man aufgefordert, das Dateisystem manuell zu checken.

Alle anderen Dateisystem werden abhängig vom Eintrag in der fstab gecheckt. Hier gibt es verschiedene Wege, je nachdem, ob gecheckt werden soll, oder, wenn nicht, wie dann verfahren werden soll. Eine Möglichkeit ist, unsaubere Dateisysteme read-only zu mounten.

Die erwähnten Intervalltests erfolgen, wenn nach einem Reboot das Checkintervall überschritten wurde, also mehr als x-mal ohne Check gemountet wurde oder der letzte Check y-Tage zurück liegt. Diese Checks erfolgen auch dann, wenn das Dateisystem sauber ausgehängt wurde. (Meiner Meinung nach ist es aber überflüssig, saubere Dateisystem zu checken, ich schalte diese Intervalle generell ab)

Letztlich braucht man gar nichts an der Standardinstallation zu ändern. Der Schnellcheck auf sauberes aushängen findet immer statt, denn die ist Voraussetzung dafür, das Dateisystem read-write zu mounten. Alles andere wird dann sowieso automatisch durchgeführt.

c1ue
Beiträge: 82
Registriert: 27.03.2018 13:13:28

Re: Führt Debian automatisch fsck nach crash durch?

Beitrag von c1ue » 12.02.2020 22:28:35

MSfree hat geschrieben: ↑ zum Beitrag ↑
05.02.2020 19:58:56
Letztlich braucht man gar nichts an der Standardinstallation zu ändern. Der Schnellcheck auf sauberes aushängen findet immer statt, denn die ist Voraussetzung dafür, das Dateisystem read-write zu mounten. Alles andere wird dann sowieso automatisch durchgeführt.
Hey, danke! Das war die Info, die ich gesucht habe. Es hätte mich auch gewundert, wenn dies nicht bei Debian der Fall gewesen wäre.

Gibts da irgendwo was zum Nachlesen? Ich habe, wie gesagt, nichts brauchbares dazu finden können.

Benutzeravatar
ingo2
Beiträge: 897
Registriert: 06.12.2007 18:25:36
Lizenz eigener Beiträge: GNU Free Documentation License
Wohnort: Wo der gute Riesling wächst

Re: Führt Debian automatisch fsck nach crash durch?

Beitrag von ingo2 » 20.02.2020 22:21:04

Habe diesen Thread erst jetzt gelesen, aber da stellt sich mir die Frage:

Ist der ganze "fsck" bei ext4 nur snake oil?

Ich habe mal überschlagen für meine 1TB SSD:
Ein voller SMART-Selftest für die ganze SSD dauert 512 Minuten = 30.000 Sekunden.
Belegt ist die SSD u.a. bei mir mit einer Partition mit 920 GB Größe, davon sind 490 GB belegt.
Was ich so über ext4 finden konnte, belegen allein die Inodes standardmäßig 1,6% des Speicherplatzes.
(s. https://serverfault.com/questions/28231 ... ad-in-ext4)
Allein die belegten Inodes machen also knapp 8 GB aus. Das Journal braucht auch noch Platz.

Ein fsck der Partition beim Booten dauert ca. 2-3 sec.
Wenn also nur alle belegten Inodes eingelesen werden, dauert das bei maximaler SATA-Geschwindigkeit von ca. 500 MB/s allein 16 Sekunden - und da ist noch nichts überprüft :?:

Oder denke ich da falsch?
Ingo

MSfree
Beiträge: 5557
Registriert: 25.09.2007 19:59:30

Re: Führt Debian automatisch fsck nach crash durch?

Beitrag von MSfree » 21.02.2020 10:11:38

ingo2 hat geschrieben: ↑ zum Beitrag ↑
20.02.2020 22:21:04
Ist der ganze "fsck" bei ext4 nur snake oil?
Nein, sicher nicht.

Der Schnelltest, der beim Booten durchgeführt wird, prüft im Grunde nur das Dirty-Flag und spielt im Falle, daß das Dateisystem "verschmutzt" ist, das Journal ein. Das Journal ist übrigens eher klein, irgendwas um 4-128MByte.

Nur das "große" fsck durchläuft einen kompletten Konsistenzcheck über alle iNodes..., was dann auch mal in den Minutenbereich gehen kann.

Benutzeravatar
ingo2
Beiträge: 897
Registriert: 06.12.2007 18:25:36
Lizenz eigener Beiträge: GNU Free Documentation License
Wohnort: Wo der gute Riesling wächst

Re: Führt Debian automatisch fsck nach crash durch?

Beitrag von ingo2 » 21.02.2020 12:30:41

MSfree hat geschrieben: ↑ zum Beitrag ↑
21.02.2020 10:11:38
ingo2 hat geschrieben: ↑ zum Beitrag ↑
20.02.2020 22:21:04
Ist der ganze "fsck" bei ext4 nur snake oil?
Nein, sicher nicht.
Nur das "große" fsck durchläuft einen kompletten Konsistenzcheck über alle iNodes..., was dann auch mal in den Minutenbereich gehen kann.
Hast du eine Idee, wie ich das anstoßen kann?
Wenn ich mich recht erinnere, war das früher mal Standard, wenn man mit

Code: Alles auswählen

touch /forcefsck
das aktiviert hat und in der fstab in der 6. Spalte eine entsprechende Zahl stand.
Auch, wenn man das mit z.B.

Code: Alles auswählen

tune2fs -C 1 <Partition>
aktiviert hatte.

Klappt jetzt alles nicht mehr :-(

EDIT:
Der kurze Check, ob das Filesystem "dirty" ist, tut also garnichts, denn falls es dirty ist, wird sowieso geprüft. Ist genauso, als wenn ich ein Backup von irgendwas mache und mich dann darauf verlasse, das alles ok ist - ohne "verify".

OrangeJuice
Beiträge: 234
Registriert: 12.06.2017 15:12:40

Re: Führt Debian automatisch fsck nach crash durch?

Beitrag von OrangeJuice » 21.02.2020 12:55:30

Hier ist das ganz gut erklärt, finde ich. Bei mir klappt es jedenfalls, ich lasse es aber im Moment auf Auto, vorher war force in Grub eingestellt, letzter check ist wohl am 15.2. gewesen. Ich weiß aber nicht ob dir das etwas weiter hilft.

Code: Alles auswählen

tune2fs -l /dev/sdXY | grep checked

Code: Alles auswählen

nano /etc/default/grub
GRUB_CMDLINE_LINUX_DEFAULT="fsck.mode=force fsck.repair=yes"
With old sysvinit and Upstart, users could force a disk check on next reboot using a simple command (sudo touch /forcefsck), but that's no longer the case nowadays, with most Linux distributions using systemd. This article explains how to force fsck to run at boot time in two ways, which work with systemd. Quelle

MSfree
Beiträge: 5557
Registriert: 25.09.2007 19:59:30

Re: Führt Debian automatisch fsck nach crash durch?

Beitrag von MSfree » 21.02.2020 13:31:13

Zu tune2fs habe ich noch folgenden Interessanten Absatz im Manual gefunden:
-c max-mount-counts
Adjust the number of mounts after which the filesystem will be checked by
e2fsck(8). If max-mount-counts is 0 or -1, the number of times the filesystem is
mounted will be disregarded by e2fsck(8) and the kernel.

Staggering the mount-counts at which filesystems are forcibly checked will avoid
all filesystems being checked at one time when using journaled filesystems.

You should strongly consider the consequences of disabling mount-count-dependent
checking entirely. Bad disk drives, cables, memory, and kernel bugs could all corrupt
a filesystem without marking the filesystem dirty or in error. If you are
using journaling on your filesystem, your filesystem will never be marked dirty,
so
it will not normally be checked. A filesystem error detected by the kernel will
still force an fsck on the next reboot, but it may already be too late to prevent
data loss at that point.
Ich war eigentlich der Annahme, daß das Dirty-Flag immer gesetzt wird, unabhängig davon, ob das FS ein Journal hat oder nicht. Da lag ich wohl im Irrtum.

Dennoch habe ich es schon öfter beobachtet, daß mein Rechner zumindest das Journal einspielt, nachdem der Rechner nicht ordnungsgemäß runtergefahren wurde. Hier ersetzt wohl der Zustand des Journals das Dirty-Flag und die Dateisystemreperaturen werden nur aufgrund des Journals durchgeführt.

Antworten