Erzwinge fsck.ext4 beim Neustart, aber wirklich "kraftvoll"

21

Einer meiner Ubuntu 10.04-Server macht mir Probleme. Beim Ausführen fsck.ext4 -n /dev/sda5werden Fehler in der Anzahl der freien Inodes, der Anzahl der freien Blöcke und mehr gemeldet.

Ich habe versucht:

touch /forcefsck

Auch versucht:

shutdown -rF now

und trotzdem sehe ich nach dem Neustart Fehler.

Ich habe auch gerade mein eeePC-Netbook, Ubuntu 10.10, überprüft und habe das gleiche Problem!

Wie kann ich ein wirklich "erzwungenes" "erzwungenes" "ernsthaftes Reparieren meines Dateisystems" fsck "des Dateisystems" / "beim Neustart erzwingen?

Klarstellung: Ich laufe, fsck.ext4 -nweil es ein eingehängtes Dateisystem ist, um zu überprüfen, ob Fehler vorliegen. Das sagt mir, dass es gibt. Ich dachte, dass das automatische Fsck alle 30 Mounts während des Bootvorgangs genau ist , um Fehler im Root-Dateisystem zu beheben. Aber in meinem Fall ist das nicht der Fall. Ich könnte mit einer Live-CD neu starten und die Fehler beheben und dann erneut starten, aber das ist eine ernsthafte Ausfallzeit für einen Live-Server. Ein Neustart, Auto-Fsck und anschließendes Booten ist auf einem Live-Server viel nachhaltiger, und ich glaube, es sollte das richtige Verhalten sein.

Zusatzinfo: Hier ist die Ausgabe. Es sieht aus wie etwas, das der Autofsck reparieren würde, nicht wahr?

root@server:~# fsck.ext4 -n /dev/sda5
e2fsck 1.41.11 (14-Mar-2010)
Warning!  /dev/sda5 is mounted.
Warning: skipping journal recovery because doing a read-only filesystem check.
/dev/sda5 contains a file system with errors, check forced.
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
Free blocks count wrong (1849368, counted=1948909).
Fix? no

Free inodes count wrong (545504, counted=552134).
Fix? no


/dev/sda5: ********** WARNING: Filesystem still has errors **********

/dev/sda5: 116752/662256 files (0.2% non-contiguous), 795324/2644692 blocks
UrkoM
quelle
Welche Ubuntu-Serverversion verwenden Sie?
Crncosta
10.04. Ich werde meine Frage bearbeiten.
UrkoM
Ich glaube nicht, dass Sie das tatsächlich tun können. Tatsächlich ist es möglicherweise besser, die Überprüfung manuell durchzuführen.
RolandiXor
1
Sorry, aber ich brauche noch mehr Infos. Machst du fsck auf gemounteten Dateisystemen? Kannst du von einer Live-CD booten und erneut prüfen (wenn deine / dev / sda5 nicht gemountet ist)?
Crncosta
Ist es nicht möglich, dass nicht das Dateisystem, sondern die Festplatte defekt ist? In diesem Fall ist zu erwarten, dass ext4 die Fehler nicht so gut behebt wie es nur ein paar fehlerhafte Sektoren sind.
Stefano Palazzo

Antworten:

10

Aus der e2fsck-Manpage:

"Beachten Sie, dass es im Allgemeinen nicht sicher ist, e2fsck auf gemounteten Dateisystemen auszuführen. Die einzige Ausnahme ist, wenn die Option -n angegeben ist und die Optionen -c, -l oder -L nicht angegeben sind. Selbst wenn dies sicher ist Dazu sind die von e2fsck ausgedruckten Ergebnisse nicht gültig, wenn das Dateisystem gemountet ist. Wenn Sie von e2fsck gefragt werden, ob Sie ein gemountetes Dateisystem überprüfen möchten, lautet die einzig richtige Antwort "Nein". Nur Experten, die wirklich wissen, was Sie sollten erwägen, diese Frage auf andere Weise zu beantworten. "

Wenn Sie also eine gemountete FS mit fsck überprüfen, auch wenn Sie die Option -n verwenden, ist das Ergebnis möglicherweise überhaupt nicht gültig. Überprüfen Sie nicht gemountete Dateisysteme. Verwenden Sie eine Live-CD / Live-USB.

Wenn Sie das Dateisystem nicht überprüfen, während es gemountet ist, verstehe ich nicht, warum Sie es verwenden müssen. touch /forcefsckSie können es einfach aushängen und reparieren. Wenn dies jedoch der Fall ist und Ihr FS nach einer Korrektur immer noch Fehler aufweist, können Sie Folgendes in Betracht ziehen:

e2fsck -cy /dev/sda5

Dadurch wird ein festplattenbezogenes Problem behoben, das möglicherweise als fehlerhafte Blöcke bezeichnet wird (dies wird lange dauern).

Wenn Sie ein eingehängtes Dateisystem überprüfen möchten, weiß ich nicht, wie Sie vorgehen sollen, aber ich denke, Sie sollten eine andere Frage erstellen.

Nyamiou der Galeanthrope
quelle
Sie haben Recht, das Dateisystem ist gemountet. Und natürlich muss ich fsck machen, wenn ich nicht montiert bin. Ich führe jedoch fsck -n aus, um zu überprüfen, ob der Server gemountet ist, ohne Änderungen vorzunehmen, und es werden Fehler gemeldet. Und sollte das fsck beim Neustart sie nicht reparieren ???
UrkoM
Mir ist gerade aufgefallen, was Sie im ersten Satz gesagt haben: Warum ist fsck -n auf einem gemounteten Dateisystem nicht gültig? Wie kann ich zuverlässig überprüfen, ob ein bereitgestelltes Dateisystem Fehler aufweist?
UrkoM
Sie können die e2fsck-Manpage überprüfen, die besagt: "Beachten Sie, dass es im Allgemeinen nicht sicher ist, e2fsck auf gemounteten Dateisystemen auszuführen. Die einzige Ausnahme ist, wenn die Option -n angegeben ist und die Optionen -c, -l oder -L angegeben sind Keine Angabe. Auch wenn dies sicher ist, sind die von e2fsck ausgedruckten Ergebnisse nicht gültig, wenn das Dateisystem angehängt ist. Wenn Sie von e2fsck gefragt werden, ob Sie ein angehängtes Dateisystem prüfen sollen oder nicht, lautet die einzig richtige Antwort ''. Nein. Nur Experten, die wirklich wissen, was sie tun, sollten in Betracht ziehen, diese Frage auf andere Weise zu beantworten. "
Nyamiou The Galeanthrope
Ich weiß nicht, wie man ein eingehängtes Dateisystem überprüft. Vielleicht sollten Sie eine andere Frage erstellen.
Nyamiou The Galeanthrope
Können Sie diese beiden letzten Kommentare zu Ihrer Antwort hinzufügen? Dann nehme ich es an. Ich wusste das nicht, deswegen ... Ich denke, es liegt daran, dass fsck -n das Journal nicht verarbeitet, so dass der Dateisystemstatus inkonsistent ist, ohne auf die neuesten Änderungen zu achten, die dort gespeichert sind.
UrkoM
24

Ich weiß, dass dies ein wirklich alter Thread ist, aber ich musste dieses Problem kürzlich lösen, um zu veröffentlichen, wie das Betriebssystem gezwungen werden kann, Probleme zu beheben, die mit fsck während des Startvorgangs (für 12.04) festgestellt wurden.

Sie müssen den Befehl ausführen sudo touch /forcefsck. Dadurch wird beim nächsten Start ein fsck ausgeführt. Sie können die Ergebnisse des fsck in /var/log/boot.log sehen.

Es kann jedoch nicht garantiert werden, dass fsck alle gefundenen Probleme behebt. Dazu müssten Sie die Datei / etc / default / rcS bearbeiten. Am Ende dieser Datei befindet sich eine Zeile:

FSCKFIX=no

Dies muss folgendermaßen geändert werden:

FSCKFIX=yes

Dies hat den gleichen Effekt wie das Ausführen von fsck mit der Option -y, wodurch alle Fixes erzwungen werden, die implementiert werden können, und es wird nicht nach Benutzerinteraktion gefragt.

Auf diese Weise können Sie das fsck ausführen, wie es das OP verlangt hat, ohne von einer Live-Festplatte booten zu müssen, was insbesondere auf einem Remote-System nicht immer möglich ist.

Brian
quelle
1
Durch Bearbeiten dieses Eintrags auf meiner Ubuntu EC2-Instanz zusammen mit den Befehlen sudo touch /forcefsckund wurden sudo shutdown -rdie Dateisystemprobleme und die Überprüfungswarnung beim Anmelden erfolgreich behoben. Einfach und unterbrechungsfrei - Prost.
c.gutierrez
Dieselbe Frage wurde bei Server Fault gestellt, und diese Antwort funktionierte auch für mich auf einem Ubuntu 14.04-System. Nur das machen sudo touch /forcefsckund dann neustarten hat nicht geklappt; Bearbeitung rcSwar notwendig.
Teemu Leisti
12
sudo touch /forcefsck
sudo reboot

Du hast einen Tippfehler - du berührst / forcefcsk. Das "c" und das "s" werden getauscht. fsck ist die Abkürzung für FileSystemChecK.

Dan Benamy
quelle
Dies würde bei mir nicht funktionieren, da das Root-Dateisystem aufgrund von Fehlern, die ich beheben muss, schreibgeschützt eingebunden ist fsck! Das Problem mit Hühnchen und Eiern kann nur über eine Live-CD oder durch Ziehen des Laufwerks auf einen anderen Computer gelöst werden.
HDave
3

Sie können kein fsck erzwingen, das repariert wird, da die Partition verwendet wird. Versuchen Sie, die Überprüfung von einer anderen Partition oder Live-CD durchzuführen.

Charlie-Tca
quelle
2
Sehr wahr, aber die automatische fsck beim Booten sollte passieren, bevor die Partition benutzt wird, um Fehler auf "/" zu beheben. Ansonsten, worum geht es?
UrkoM
3
Ich glaube, die Überprüfung erfolgt vor der Verwendung, es handelt sich jedoch eher um eine beratende Überprüfung. Sie müssen entscheiden, wie die Fehler behoben werden sollen. Eine einfache Überprüfung ist beim Betrachten von / etc / fstab. Das "/" erhält eine andere Prüfung als die anderen Partitionen.
Charlie-Tca
Kommt es vor, bevor die Wurzel geschwenkt wird? dh INITial Ram Disk.
McKenzm
1

Sie können die Überarbeitungen folgendermaßen automatisch durchführen lassen:

Tune2fs -c 5 -i 10 / dev / sda1

-cist die maximale Anzahl von Reittieren vor dem Laufen fsckund -idie maximale Anzahl von Tagen vor dem Laufen fsck.

In diesem Fall wird alle 5 Reittiere oder alle 10 Tage ausgeführt, je nachdem, was zuerst eintritt.

Ich habe zwei Computer, einer mit Linux SuSE 13.2 und der andere mit Linux Mint 18.0 und in beiden funktioniert es perfekt.

hk3jld
quelle
Wie lauten die Formulare und Kommentare im automatischen Formular: Tune2fs -c 5 -i 10 / dev / sda1 Wobei: -c die maximale Anzahl von Ladevorgängen vor dem Ausführen von fsck ist Wobei: -i die maximale Anzahl von Tagen vor dem Ausführen von fsck ist In diesem Fall wird alle 5 Reittiere oder alle 10 Tage ausgeführt, je nachdem, was zuerst eintritt. Ich habe zwei Computer, einer mit Linux SuSE 13.2 und der andere mit Linux MInt 18.0 und beide funktionieren perfekt.
HK3Jld
Wie lauten die Formulare und Kommentare im automatischen Formular: Tune2fs -c 5 -i 10 / dev / sda1 Wobei: -c die maximale Anzahl von Ladevorgängen vor dem Ausführen von fsck ist Wobei: -i die maximale Anzahl von Tagen vor dem Ausführen von fsck ist In diesem Fall wird alle 5 Reittiere oder alle 10 Tage ausgeführt, je nachdem, was zuerst eintritt. Ich habe zwei Computer, einer mit Linux SuSE 13.2 und der andere mit Linux MInt 18.0 und beide funktionieren perfekt. Ich weiß nicht , Englisch , aber ich benutze einen Übersetzer, ich hoffe , das Training ist in Ordnung
hk3jld
1
Funktioniert es auch auf Ubuntu?
George Udosen