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