So finden Sie die Ursache für den schreibgeschützten Hauptdateisystemmodus


9

Ubuntu 12.04

Das Dateisystem wechselt häufig in den schreibgeschützten Modus. Zunächst habe ich gelesen, dass das Frage- Dateisystem bereits häufig in den Nur-Lese-Modus wechselt . Aber ich muss wissen, ob es nicht durch etwas anderes als verursacht wird dying hard drive. Dies ist ein Server, der von meinem Client bereitgestellt wird, und ich führe dort nur einen node.js workers+ aus node.js serverund verwende ihn mongodb.

Von Zeit zu Zeit (alle 20-50 Stunden) macht das System das Dateisystem plötzlich schreibgeschützt, der Mongodb-Prozess schlägt fehl (aufgrund schreibgeschützter Fs) und meine Knotenarbeiter / Server (die von gestartet werden forever) werden einfach getötet.

Hier ist das Protokoll von dmesg - ich kann dort einige Fehler und Meldungen sehen, dass FS schreibgeschützt sein wird, und es gibt auch einige JOURNAL-Fehler, aber ich möchte die Ursache für diese Fehler finden.

http://speedy.sh/Ux2VV/dmesg.log.txt


bearbeiten

smartctl -t long /dev/sda
smartctl 5.41 2011-06-09 r3365 [x86_64-linux-3.5.0-23-generic] (local build)
Copyright (C) 2002-11 by Bruce Allen, http://smartmontools.sourceforge.net

SMART support is: Unavailable - device lacks SMART capability.
A mandatory SMART command failed: exiting. To continue, add one or more '-T permissive' options.

Was mache ich falsch? Gleiches gilt für sda2.

Wenn ich jetzt einen Befehl eingebe, der nicht in der Shell vorhanden ist, erhalte ich Folgendes:

Sorry, command-not-found has crashed! Please file a bug report at:
https://bugs.launchpad.net/command-not-found/+filebug
Please include the following information with the report:

edit2

Ich habe gerade die Information erhalten, dass dieser Server tatsächlich VPS ist und sie haben mir gesagt, dass Festplatten in Ordnung sind und sie auf RAID 10 sind. Und sie haben mir gesagt, dass "das Erzwingen von fsck in fstab helfen sollte" ...


edit3

Hier wird vom mountBefehl ausgegeben :

/dev/sda2 on / type ext4 (rw,errors=remount-ro)
proc on /proc type proc (rw,noexec,nosuid,nodev)
sysfs on /sys type sysfs (rw,noexec,nosuid,nodev)
none on /sys/fs/fuse/connections type fusectl (rw)
none on /sys/kernel/debug type debugfs (rw)
none on /sys/kernel/security type securityfs (rw)
udev on /dev type devtmpfs (rw,mode=0755)
devpts on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=0620)
tmpfs on /run type tmpfs (rw,noexec,nosuid,size=10%,mode=0755)
none on /run/lock type tmpfs (rw,noexec,nosuid,nodev,size=5242880)
none on /run/shm type tmpfs (rw,nosuid,nodev)
none on /media/psf type prl_fs (rw,nosuid,nodev,sync,noatime,share,_netdev)

Also gibt es eigentlich kein sda-Laufwerk? Nur sda2?


edit4

Ausgabe vom fsck -NBefehl:

root@ubuntu:~# fsck -N sda
fsck from util-linux 2.20.1
[/sbin/fsck.ext4 (1) -- /] fsck.ext4 sda /dev/sda2 

Ich benutze das gleiche Problem, mein Ubuntu mit NodeJS-App, MongoDB, Chrome, VSCode, Robomongo, Tilix-Terminal, Matermost, Thunderbird und Postman täglich aktive Anwendungen
Ankur Loriya

Antworten:


8
[26729.124569] Write(10): 2a 00 03 96 5a b0 00 00 08 00
[26729.124576] end_request: I/O error, dev sda, sector 60185264
[26729.125298] Buffer I/O error on device sda2, logical block 4593494
[26729.125986] lost page write due to I/O error on sda2

Für mich ist das ein ziemlich starker Beweis dafür, dass Sie /dev/sdaauf dem Weg nach draußen sind. Sie könnten einen Smartctl-Test zur Bestätigung ( smartctl -t long /dev/sda) ausführen , aber ich würde ihn gerne so schnell wie möglich ersetzen.

Bearbeiten : Der smartctlBefehl, den ich gegeben habe, ist korrekt wie geschrieben. Vielen Dank, dass Sie den Fehlermodus in Ihrer Frage angezeigt haben. Dies sieht so aus, als hätten Sie entweder sehr alte Hardware oder es steht eine Art Übersetzungsschicht im Weg: entweder Virtualisierung oder ein Hardware-RAID-Controller. Könntest Du das erläutern?

Darf ich meine Behauptung wiederholen, dass Ihre Festplatte auf dem Weg nach draußen ist? Das Testen ist alles sehr gut, aber das Ersetzen der Hardware, bevor Ihr System gepackt wird und Ihre Daten verloren gehen, sollte jetzt Ihre Priorität sein. Bitte stellen Sie zumindest sicher, dass Ihre Backups vollständig auf dem neuesten Stand sind, bevor Sie weitere Zeit damit verschwenden smartctl.

Edit 2 : Es lohnt sich auf jeden Fall, zu versuchen, was sie vorgeschlagen haben - das Dateisystem zu überprüfen -, aber ich habe wenig Hoffnung, dass dies das Problem beheben wird, da Ihr FS aufgrund von FS-Inkonsistenzen nicht in den Ro-Modus wechselt, sondern in den Ro-Modus von Problemen im Gespräch mit der zugrunde liegenden Hardware.

Wenn sie sicher sind, dass die zugrunde liegende Hardware in Ordnung ist, liegt ein Problem zwischen dem Kernel und der Hardware vor, dh zwischen der Virtualisierungsschicht. Sie sollten wahrscheinlich Ihren VPS-Anbieter bitten, zu bestätigen, dass die von Ihnen ausgeführte Distribution und die genaue Kernel-Version auf ihrem VPS-System vollständig unterstützt werden.


2

Der perfektere Weg, um den genauen Fehler zu finden, kann während des schreibgeschützten Zeitraums sein und den Befehl dmesgfür alle Fehler / Probleme ausführen . Sie können auch versuchen, den fsckTrockenmodus auszuführen, um herauszufinden, wo das Problem liegt. (Entschuldigung, aufgrund der Zugriffsbeschränkung kann ich Ihren Anhang nicht anzeigen. Wenn dies während des Ausgabezeitraums der Fall ist, werde ich ihn später überprüfen.)


Ich habe den dmesgBefehl verwendet, als sich das Dateisystem im schreibgeschützten Modus befand. Jetzt habe ich gerade den Server neu gestartet und jetzt funktioniert es. Was meinst du damit fsck in dry mode? Ich habe diesen Befehl noch nie benutzt ...
user606521

`fsck -N <Partition>` Nicht ausführen, sondern nur zeigen, was getan werden würde.
Rootslash

Ich habe die Frage bearbeitet und die Ausgabe vonfsck -N sda
user606521 vom

2

Ich hatte auch das gleiche Problem, bei dem der Server FS schreibgeschützt war. Machen Sie eine Überprüfung der Inode, sie könnten wahrscheinlich voll sein:

df -i

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.