schreibgeschütztes Root-Dateisystem

25

Irgendwie ging mein Debian dazu über, nur im Root-Dateisystem zu lesen. Ich habe keine Ahnung, wie das hätte passieren können.
Wenn ich mich zum Beispiel in einem /rootOrdner befinde und command eingebe nanound danach drücke, Tabum eine mögliche Datei in diesem Ordner aufzulisten, erhalte ich die Nachricht:

root@debian:~# nano -bash: cannot create temp file for here-document: Read-only file system

Dasselbe gilt für den cdBefehl, wenn ich Folgendes eingebe cd /homeund drücke, Tabum Pfade aufzulisten:

root@debian:~# cd /home -bash: cannot create temp file for here-document: Read-only file system

Ich habe auch Probleme mit Software wie aptund anderen. Kann nicht mal ein passendes Update bekommen. Ich habe viele Fehler wie diesen:

Err http ://ftp.de.debian.org wheezy-updates/main Sources
406  Not Acceptable
W: Not using locking for read only lock file /var/lib/apt/lists/lock
W: Failed to fetch http ://ftp.de.debian.org/debian/dists/wheezy/Release  rename failed, Read-only file system (/var/lib/apt/lists/ftp.de.debian.org_debian_dists_wheezy_Release -> /var/lib/apt/lists/ftp.de.debian.org_debian_dists_wheezy_Release).
W: Failed to fetch http ://security.debian.org/dists/wheezy/updates/main/source/Sources  404  Not Found
W: Failed to fetch http ://security.debian.org/dists/wheezy/updates/main/binary-amd64/Packages  404  Not Found
W: Failed to fetch http ://ftp.de.debian.org/debian/dists/wheezy-updates/main/source/Sources  406  Not Acceptable
E: Some index files failed to download. They have been ignored, or old ones used instead.
W: Not using locking for read only lock file /var/lib/dpkg/lock

Ich habe viele Probleme im System. Ist es möglich, das zu beheben? Wie kann ich überprüfen, was passiert ist? Worauf muss ich in den Protokollen achten?

Ich weiß, dass es an der Zeile in der /etc/fstabDatei liegen könnte:

/dev/mapper/debian-root /               ext4    errors=remount-ro 0       1

aber wo liegt das problem Ich kann nichts finden oder weiß nicht, wo ich suchen soll.

Bearbeiten:

Ich habe Nachrichtenprotokolle durchsucht und nur Folgendes gefunden:

kernel: [    5.709326] EXT4-fs (dm-0): re-mounted. Opts: (null)
kernel: [    5.977131] EXT4-fs (dm-0): re-mounted. Opts: errors=remount-ro
kernel: [    7.174856] EXT4-fs (dm-2): mounted filesystem with ordered data mode. Opts: (null)

Ich denke, es ist richtig, weil ich die gleichen Einträge auf anderen Debian-Maschinen habe.

Ich habe etwas in dmesg gefunden (ich habe diese Ausgabe ein wenig abgeschnitten, weil es viele Standard-Ext4-Dinge gab)

root@gs3-svn:/# dmesg |grep ext4
EXT4-fs error (device dm-0) in ext4_reserve_inode_write:4507: Journal has aborted
EXT4-fs error (device dm-0) in ext4_reserve_inode_write:4507: Journal has aborted
EXT4-fs error (device dm-0) in ext4_dirty_inode:4634: Journal has aborted
EXT4-fs error (device dm-0): ext4_discard_preallocations:3894: comm rsyslogd: Error loading buddy information for 1
EXT4-fs warning (device dm-0): ext4_end_bio:250: I/O error -5 writing to inode 133130 (offset 132726784 size 8192 starting block 159380)
EXT4-fs error (device dm-0): ext4_journal_start_sb:327: Detected aborted journal

5 Fehler und 1 Warnung. Irgendwelche Ideen? Ist die Verwendung von mount -o remount, rw /, sicher?

s1c
quelle
2
Suchen Sie nach den Zeichenfolgen "ext4" und "/ dev / mapper / debian-root" in /var/log/messages. Wenn Ihr Dateisystem beschädigt ist, sollten Sie es während des Startvorgangs in frühen Kernelmeldungen sehen. Versuchen Sie auch mount -o remount,rw /dev/mapper/debian-root, uns mitzuteilen, wenn Sie einen Fehler bemerken.
Lgeorget
Haben Sie auch noch Platz, was Ihnen den Befehl gibtdf
Kiwy
Kann man von grub in den 'Wiederherstellungsmodus' booten? Alternativ können Sie die Optionen für den Grub-Kernel bearbeiten und das Wort single am Ende hinzufügen und booten. Sie sollten eine Root-Shell haben, von der aus Sie verschiedene Tools ausführen können, um Ihre Festplatte zu überprüfen und zu reparieren.
GarethTheRed
Zurücksetzen der "VM-Maschine" löste mein Problem (Fall - Ubuntu lief auf Virtual Box)
Parasrish

Antworten:

29

Das Standardverhalten für die meisten Linux-Dateisysteme besteht darin, Ihre Daten zu schützen. Wenn der Kernel einen Fehler im Speichersubsystem feststellt, wird das Dateisystem schreibgeschützt, um (weitere) Datenbeschädigungen zu verhindern.

Sie können dies mit der Option mount, errors={continue|remount-ro|panic}die im Systemhandbuch ( man mount) dokumentiert ist, etwas anpassen .

Wenn Ihr Root-Dateisystem auf einen solchen Fehler stößt, wird der Fehler die meiste Zeit nicht in Ihren Protokolldateien aufgezeichnet, da diese jetzt auch schreibgeschützt sind. Glücklicherweise wird, da es sich um eine Kernelaktion handelt, die ursprüngliche Fehlermeldung zuerst im Speicher im Kernelringpuffer aufgezeichnet. Sofern nicht bereits aus dem Speicher gelöscht, können Sie mit dem dmesgBefehl den Inhalt des Ringpuffers anzeigen . .

Die meisten echten Festplatten unterstützen SMART und Sie können smartctlversuchen, den Zustand der Festplatte zu diagnostizieren.

Abhängig von den Fehlermeldungen können Sie entscheiden, dass die Verwendung des Dateisystems weiterhin sicher ist, und die Lese- / Schreibbedingung mit zurückgeben mount -o remount,rw /

Im Allgemeinen sind Festplattenfehler jedoch ein Vorläufer für den vollständigen Ausfall der Festplatte. Jetzt ist es an der Zeit, eine Sicherungskopie Ihrer Daten zu erstellen oder den Status Ihrer vorhandenen Sicherungskopien zu bestätigen.

HBruijn
quelle
Ja, ich habe die Sicherungsdaten. Schaut euch bitte nochmal meine Frage an? Ich habe etwas in dmesg gefunden und in meiner Frage kleine Änderungen vorgenommen.
s1c
Normalerweise würde ich davon ausgehen, dass diese ext4-Fehler von Fehlern im Zusammenhang mit E / A oder dem Gerät umgeben sind, da das Problem höchstwahrscheinlich nicht das Dateisystem als solches, sondern die zugrunde liegende Festplatte ist. Siehe zum Beispiel askubuntu.com/questions/141862/…
HBruijn
Noch eine Frage. Könnte es an gemounteten Partitionen liegen (SAN / NAS-Speicher)? Ich habe sie natürlich in meiner fstab-Datei definiert.
s1c
Nach meiner Erfahrung wird nur das Dateisystem, das die E / A-Fehler erlitten hat, schreibgeschützt bereitgestellt. Weder die anderen Partitionen noch Remote-Freigaben sollten schreibgeschützt erneut bereitgestellt werden.
HBruijn
Wir haben mount -o remount, rw / und dann chmod für die Datei ausgeführt, die für uns funktioniert hat. Wenn Sie mit den Änderungen fertig sind, führen Sie ein mount -o remount durch, ro /, um das Dateisystem wieder schreibgeschützt zu machen.