Come trovare la causa del file system principale andando in modalità di sola lettura


9

Ubuntu 12.04

Il file system passa frequentemente alla modalità sola lettura. Prima di tutto ho letto questa domanda il file system sta già entrando in modalità di sola lettura frequentemente . Ma devo sapere se non è causato da qualcos'altro che dying hard drive. Questo è il server fornito dal mio client e sto solo eseguendo qualche node.js workers+ uno node.js servere sto usando mongodb.

Di tanto in tanto (ogni 20-50 ore) il sistema fa improvvisamente la sola lettura del filesystem, il processo mongodb fallisce (causa fs di sola lettura) e i miei lavoratori / server del nodo (che vengono avviati forever) vengono semplicemente uccisi.

Ecco il registro di dmesg: vedo alcuni errori e messaggi che FS leggerà in sola lettura e c'è anche un errore JOURNAL, ma vorrei trovare la causa di quegli errori.

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


modificare

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.

Cosa sto facendo di sbagliato? Lo stesso vale per sda2.

Ancora più adesso quando scrivo qualsiasi comando che non esiste nella shell ottengo questo:

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

Ho appena ricevuto informazioni sul fatto che questo server è in realtà VPS e mi hanno detto che i dischi rigidi sono OK e sono su RAID 10. E mi hanno detto che "forzare fsck in fstab dovrebbe aiutare" ...


Edit3

qui viene emesso dal mountcomando:

/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)

Quindi in realtà non esiste un'unità sda? Solo sda2?


Edit4

Uscita dal fsck -Ncomando:

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

Sto usando lo stesso problema, il mio Ubuntu con l'app NodeJS, MongoDB, Chrome, VSCode, Robomongo, terminale tilix, Matermost, Thunderbird e Postman applicazioni attive quotidianamente
Ankur Loriya

Risposte:


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

Per me, questa è una prova abbastanza forte che il tuo /dev/sdasta per uscire. Potresti eseguire un test smartctl su di esso per la conferma ( smartctl -t long /dev/sda), ma sarei propenso a sostituirlo il prima possibile.

Modifica : il smartctlcomando che ho dato è corretto come scritto. Grazie per aver mostrato la modalità di errore nella tua domanda; sembra che tu abbia un hardware molto vecchio o che ci sia un qualche tipo di livello di traduzione: virtualizzazione o un controller RAID hardware. Puoi chiarire?

Posso ripetere la mia affermazione che il tuo HDD sta per uscire? I test vanno benissimo, ma far sostituire l'hardware prima che il sistema si comprima e i dati vengano persi dovrebbe essere la tua priorità. Per favore, almeno assicurati che i tuoi backup siano completamente aggiornati prima di perdere altro tempo smartctl.

Modifica 2 : vale sicuramente la pena provare quello che hanno suggerito - fckcking del file system - ma ho poche speranze che ciò risolva il problema perché il tuo FS non sta cadendo in modalità ro a causa di incoerenze di FS, sta passando alla modalità ro perché di problemi a parlare con l'hardware sottostante.

Se hanno la certezza che l'hardware sottostante va bene, allora è un problema tra il kernel e l'hardware, cioè il livello di virtualizzazione. Probabilmente dovresti chiedere al tuo provider VPS di confermare che la distribuzione e la versione esatta del kernel che stai eseguendo sono pienamente supportate sul loro sistema VPS.


2

Il modo più perfetto per trovare l'errore esatto potrebbe essere durante il periodo di sola lettura ed eseguire il comando dmesgper eventuali bug / problemi. Puoi anche provare a eseguire la fsckmodalità dry per capire qual è il problema. (mi dispiace a causa della restrizione di accesso Non riesco a visualizzare il tuo allegato. Se è durante il periodo di emissione, lo controllerò in seguito)


Ho usato il dmesgcomando quando il file system era in modalità di sola lettura. Ora ho appena riavviato il server e per ora funziona. Cosa intendi con fsck in dry mode? Non ho mai usato questo comando ...
user606521

`fsck -N <partizione>` Non eseguire, mostra solo cosa si farebbe.
sferzata il

Ho modificato la domanda e aggiunto l'output difsck -N sda
user606521 il

2

Avevo anche affrontato lo stesso problema, in cui il server FS stava andando in sola lettura. Fai un controllo dell'inode, probabilmente potrebbero essere pieni:

df -i

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.