sistema de archivos raíz de solo lectura

25

De alguna manera, mi Debian fue a leer solo en el sistema de archivos raíz. No tengo idea de cómo pudo haber sucedido esto.
Por ejemplo, cuando estoy en la /rootcarpeta y escribo el comando nanoy luego presiono Tabpara enumerar el posible archivo en esa carpeta, recibo el mensaje:

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

Lo mismo para el cdcomando cuando escribo cd /homey presiono Tabpara enumerar rutas tengo esto:

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

También tengo problemas con software como apty otros. Ni siquiera puedo obtener actualizaciones. Tengo muchos errores como este:

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

Tengo muchos problemas en el sistema. ¿Es posible arreglar eso? ¿Cómo puedo verificar lo que pasó? ¿Qué debo buscar en los registros?

Sé que podría ser debido a la línea en el /etc/fstabarchivo:

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

¿Pero cuál es el problema? No puedo encontrar nada o tal vez no sé dónde buscar.

Editar:

Hice búsquedas en los registros de mensajes y encontré solo esto:

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)

Supongo que es correcto, porque tengo las mismas entradas en otras máquinas Debian.

Encontré algo en dmesg (corté un poco esa salida porque había muchas cosas ext4 estándar)

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 errores y 1 advertencia. ¿Algunas ideas? ¿Es seguro usar mount -o remontaje, rw /?

s1c
fuente
2
Busque las cadenas "ext4" et "/ dev / mapper / debian-root" en /var/log/messages. Si su sistema de archivos está dañado, debería verlo en los primeros mensajes del núcleo durante el arranque. También intente mount -o remount,rw /dev/mapper/debian-rootdecirnos si le arroja un error.
lgeorget
también tiene espacio restante, lo que le da el comandodf
Kiwy
¿Se puede iniciar en 'modo de recuperación' desde grub? Alternativamente, edite las opciones de kernel de grub y agregue la palabra single al final y arranque. Debería terminar con un shell raíz desde el cual puede ejecutar varias herramientas para verificar y reparar su disco.
garethTheRed
restablecer la "máquina VM" solucionó mi problema (caso - Ubuntu se ejecuta en Virtual Box)
parasrish

Respuestas:

29

El comportamiento predeterminado para la mayoría de los sistemas de archivos de Linux es proteger sus datos. Cuando el núcleo detecta un error en el subsistema de almacenamiento, hará que el sistema de archivos sea de solo lectura para evitar (más) daños en los datos.

Puede ajustar esto de alguna manera con la opción de montaje errors={continue|remount-ro|panic}que se documenta en el manual del sistema ( man mount).

Cuando su sistema de archivos raíz encuentra dicho error, la mayoría de las veces el error no se registrará en sus archivos de registro, ya que ahora también serán de solo lectura. Afortunadamente, dado que es una acción del núcleo, el mensaje de error original se registra primero en la memoria, en el búfer del anillo del núcleo. A menos que ya esté enjuagado de la memoria, puede mostrar el contenido del búfer en anillo con el dmesgcomando. .

La mayoría de los discos duros reales admiten SMART y puede usarlos smartctlpara intentar diagnosticar el estado del disco.

Dependiendo de los mensajes de error, podría decidir que todavía es seguro usar el sistema de archivos y devolverlo con la condición de lectura-escritura con mount -o remount,rw /

Sin embargo, en general, los errores de disco son un precursor para completar la falla del disco. Ahora es el momento de crear una copia de seguridad de sus datos o confirmar el estado de sus copias de seguridad existentes.

HBruijn
fuente
Sí, tengo los datos de la copia de seguridad. ¿Podrías mirar mi pregunta otra vez? Encontré algo en dmesg e hice una pequeña edición en mi pregunta.
s1c
Por lo general, esperaría que esos errores ext4 estén rodeados de errores relacionados con IO o el dispositivo, ya que lo más probable es que el problema no sea el sistema de archivos como tal, sino el disco subyacente. Ver por ejemplo askubuntu.com/questions/141862/…
HBruijn
Una pregunta más. ¿Podría ser debido a las particiones montadas (almacenamiento SAN / NAS)? Los tengo, por supuesto, en mi archivo fstab definido.
s1c
En mi experiencia, solo el sistema de archivos que sufrió los errores de E / S se monta como de solo lectura, ni las otras particiones ni los recursos compartidos remotos no deberían volverse a montar de solo lectura.
HBruijn
Montamos -o remontar, rw / y luego hicimos chmod en el archivo que funcionó para nosotros. cuando haya terminado con los cambios, realice un montaje mount -o, ro / para volver a llevar el sistema de archivos a solo lectura.