legge solo il filesystem di root


25

In qualche modo il mio Debian è andato a leggere solo nel file system di root. Non ho idea di come sia potuto succedere.
Ad esempio, quando mi trovo nella /rootcartella e digito command nanoe dopo premo Tabper elencare il possibile file in quella cartella ricevo il messaggio:

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

Lo stesso per il cdcomando quando scrivo cd /homee premo Tabper elencare i percorsi ho questo:

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

Ho anche problemi con software come apte altri. Impossibile anche apt-get update. Ho molti errori come questo:

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

Ho molti problemi nel sistema. È possibile risolvere questo? Come posso controllare cosa è successo? Cosa devo cercare nei registri?

So che potrebbe essere a causa della linea nel /etc/fstabfile:

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

ma qual è il problema? Non riesco a trovare nulla o forse non so dove cercare.

Modificare:

Ho cercato nei registri dei messaggi e ho trovato solo questo:

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)

Immagino sia corretto, perché ho le stesse voci su altre macchine debian.

Ho trovato qualcosa in dmesg (ho tagliato un po 'l'output perché era molto ext4 cose standard)

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 errori e 1 avviso. Qualche idea? È sicuro usare mount -o remount, rw /?


2
Cerca le stringhe "ext4" et "/ dev / mapper / debian-root" in /var/log/messages. Se il tuo filesystem è corrotto, dovresti vederlo nei primi messaggi del kernel durante l'avvio. Prova anche a mount -o remount,rw /dev/mapper/debian-rootdirci se ti dà un errore.
Lgeorget,

inoltre hai spazio rimanente, cosa ti dà il comandodf
Kiwy,

Puoi avviare in 'modalità di recupero' da grub? In alternativa, modifica le opzioni del kernel grub e aggiungi la parola single alla fine e avvia. Dovresti finire con una shell di root da cui puoi eseguire vari strumenti per controllare e riparare il tuo disco.
garethTheRed,

reimpostare la "macchina VM" ha risolto il mio problema (caso - Ubuntu era in esecuzione su Virtual Box)
parasrish il

Risposte:


29

Il comportamento predefinito per la maggior parte dei file system Linux è quello di salvaguardare i tuoi dati. Quando il kernel rileva un errore nel sottosistema di archiviazione, il file system sarà di sola lettura per prevenire (ulteriori) danni ai dati.

Puoi sintonizzarlo un po 'con l'opzione mount errors={continue|remount-ro|panic}che è documentata nel manuale di sistema ( man mount).

Quando il file system di root rileva un errore del genere, nella maggior parte dei casi l'errore non verrà registrato nei file di registro, poiché ora saranno di sola lettura. Fortunatamente, poiché si tratta di un'azione del kernel, il messaggio di errore originale viene prima registrato in memoria, nel buffer dell'anello del kernel. A meno che non sia già stato scaricato dalla memoria, è possibile visualizzare il contenuto del ring buffer con il dmesgcomando. .

La maggior parte dei dischi rigidi reali supporta SMART ed è possibile utilizzarli smartctlper provare a diagnosticare l'integrità del disco.

A seconda dei messaggi di errore, è possibile decidere che è ancora sicuro utilizzare il file system e restituirlo con la condizione di lettura / scrittura mount -o remount,rw /

In generale, tuttavia, gli errori del disco sono un precursore per completare l'errore del disco. Ora è il momento di creare un backup dei dati o di confermare lo stato dei backup esistenti.


sì, ho i dati di backup. Per favore, guardi di nuovo la mia domanda? Ho trovato qualcosa in dmesg e ho fatto una piccola modifica nella mia domanda.
s1c,

In genere mi aspetto che quegli errori ext4 siano circondati da errori relativi a IO o al dispositivo poiché molto probabilmente il problema non è il filesystem in quanto tale, ma il disco sottostante. Vedi ad esempio askubuntu.com/questions/141862/…
HBruijn

Un'altra domanda. Potrebbe essere a causa di partizioni montate (memoria SAN / NAS)? Li ho ovviamente nel mio file fstab definito.
s1c,

Nella mia esperienza, solo il filesystem che ha subito gli errori IO viene montato in sola lettura, né le altre partizioni né le condivisioni remote non devono essere rimontate in sola lettura.
HBruijn,

Abbiamo montato mount -o remount, rw / e poi abbiamo fatto chmod al file che ha funzionato per noi. al termine delle modifiche eseguire mount -o remount, ro / per riportare il file system in sola lettura.
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.