¡Pregunte, nosotros le respondemos!

Sistema de archivos de sólo lectura

Posibles razones:

  • Sistema de archivos dañado
  • Apagado incorrecto
  • Error de configuración

Aunque la mayoría de los sistemas de archivos están diseñados para prevenir errores, estos aún pueden ocurrir. En tales casos, Linux activa un mecanismo de protección montando un dispositivo de bloque fallido en modo de solo lectura. Esto permite la localización de problemas y la prevención de una mayor destrucción de datos. Por lo tanto, la primera y más obvia opción sería verificar el sistema de archivos y corregir todos los errores, si se encuentran alguno.

Diagnósticos

Comienza con una rápida revisión de los discos adjuntos:

sudo fdisk -l
Disk /dev/sda: 40 GiB, 42949672960 bytes, 83886080 sectors
Disk model: EXAMPLE HARDDISK
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 147676BD-7D65-4290-91F0-B45ACD9E360B
      
Device     Start      End  Sectors Size Type
/dev/sda1   2048     4095     2048   1M BIOS boot
/dev/sda2   4096 83884031 83879936  40G Linux filesystem
  
Disk /dev/sdb: 25 GiB, 26843545600 bytes, 52428800 sectors
Disk model: EXAMPLE HARDDISK
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x880bd48d
  
Device     Boot Start      End  Sectors Size Id Type
/dev/sdb1        2048 52428799 52426752  25G 83 Linux

Se presentan dos discos. El primero es /dev/sda con dos particiones: /dev/sda1 y /dev/sda2. Este disco se utiliza para el sistema y está montado permanentemente. Es imposible corregir errores sin apagar el sistema operativo. Sin embargo, hay un truco que permite evaluar la condición del disco del sistema.

Verifica un sistema de archivos

Ejecuta fsck con la opción -n y examina la salida:

sudo fsck -n /dev/sda2
fsck from util-linux 2.37.2
e2fsck 1.46.5 (30-Dec-2021)
Warning!  /dev/sda2 is mounted.
Warning: skipping journal recovery because doing a read-only filesystem check.
/dev/sda2: clean, 118002/2621440 files, 1794718/10484992 blocks

La inscripción «limpia» indica que no hay problemas con el sistema de archivos del disco del sistema. Si el error es causado por esta unidad en particular, entonces puedes intentar volver a montarlo sin el riesgo de perder datos:

sudo mount -o remount,rw /dev/sda2 /

Esto puede ayudar en varios casos. También puedes intentar reiniciar el servidor:

sudo shutdown -r now

Vamos a examinar otro disco, /dev/sdb. Procede con diagnósticos rápidos:

sudo fsck -n /dev/sdb1
pre>fsck from util-linux 2.37.2 e2fsck 1.46.5 (30-Dec-2021) ext2fs_open2: Bad magic number in super-block fsck.ext2: Superblock invalid, trying backup blocks... /dev/sdb1 was not cleanly unmounted, check forced. Pass 1: Checking inodes, blocks, and sizes Pass 2: Checking directory structure Pass 3: Checking directory connectivity Pass 4: Checking reference counts Pass 5: Checking group summary information Block bitmap differences: +(32768--33796) +(98304--99332) +(163840--164868) +(2 29376--230404) +(294912--295940) +(819200--820228) +(884736--885764) +(1605632-- 1606660) +(2654208--2655236) +(4096000--4097028) …

Reparar el sistema de archivos corrupto

Aquí, vemos cómo se ve la salida del comando si el sistema de archivos en la primera partición, /dev/sdb1, está realmente dañado. Sin embargo, la opción -n solo funciona con fines de diagnóstico y no hace ningún cambio. Usa la opción -f para reparar el sistema de archivos roto:

sudo fsck -f /dev/sdb1
fsck from util-linux 2.37.2
e2fsck 1.46.5 (30-Dec-2021)
ext2fs_open2: Bad magic number in super-block
fsck.ext2: Superblock invalid, trying backup blocks...
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
Block bitmap differences:  +(32768--33796) +(98304--99332) +(163840--164868) +(229376--230404) +(294912--295940) +(819200--820228) +(884736--885764) +(1605632--1606660) +(2654208--2655236) +(4096000--4097028)
Fix[y]? yes
Padding at end of inode bitmap is not set. Fix[y]? yes
  
/dev/sdb1: ***** FILE SYSTEM WAS MODIFIED *****
/dev/sdb1: 11/1638400 files (0.0% non-contiguous), 146893/6553344 blocks

¡Voila! ¡Funciona! Vamos a comprobar de nuevo:

sudo fsck -n /dev/sdb1
fsck from util-linux 2.37.2
e2fsck 1.46.5 (30-Dec-2021)
/dev/sdb1: clean, 11/1638400 files, 146893/6553344 blocks

El sistema de archivos está limpio, lo que indica que se ha resuelto el problema.

A veces, un mensaje de error similar puede ser el resultado de una opción (errors=remount-ro) especificada para una partición no sistema en concreto en /etc/fstab. Esta opción resulta valiosa cuando el sistema encuentra un error que supone un riesgo para el sistema de archivos. Evita cualquier modificación adicional que pudiera empeorar el problema o llevar a la pérdida de datos. Para resolver este error, simplemente vuelve a montar el sistema de archivos para lectura-escritura, como se mencionó anteriormente.

Ver también:



Actualizado: 12.03.2025

Publicado: 22.05.2024


?Tiene más preguntas? ?Escribanos!

By clicking «I Accept» you confirm that you have read and accepted the website Terms and Conditions, Privacy Policy, and Moneyback Policy.