Système de fichiers en lecture seule
Raisons possibles:
- Système de fichiers endommagé
- Arrêt incorrect
- Erreur de configuration
Bien que la plupart des systèmes de fichiers soient conçus pour éviter les erreurs, ils peuvent toujours se produire. Dans de tels cas, Linux déclenche un mécanisme de protection en montant un périphérique de bloc échoué en lecture seule. Cela permet de localiser le problème et de prévenir une nouvelle destruction de données. Par conséquent, la première et la plus évidente des options serait de vérifier le système de fichiers et de corriger toutes les erreurs, s'il en est trouvé.
Diagnostics
Commencez par jeter un coup d'œil aux disques attachés:
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
Deux disques sont présentés. Le premier est /dev/sda avec deux partitions: /dev/sda1 et /dev/sda2. Ce disque est utilisé pour le système et est monté en permanence. Il est impossible de corriger les erreurs sans arrêter le système d'exploitation. Cependant, il existe une astuce qui vous permet d'évaluer l'état du disque système.
Vérifier un système de fichiers
Exécutez fsck avec l'option -n et examinez la sortie:
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
L'inscription « propre » indique qu'il n'y a pas de problèmes avec le système de fichiers du disque système. Si l'erreur est causée par ce disque particulier, vous pouvez essayer de le remonter sans risquer de perdre des données:
sudo mount -o remount,rw /dev/sda2 /
Ceci peut aider dans un certain nombre de cas. Vous pouvez également essayer de redémarrer le serveur:
sudo shutdown -r now
Examinons un autre disque, /dev/sdb. Procédez à un diagnostic rapide:
sudo fsck -n /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... /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) …
Réparez le système de fichiers corrompu
Ici, nous voyons à quoi ressemble la sortie de la commande si le système de fichiers sur la première partition, /dev/sdb1, est effectivement corrompu. Cependant, l'option -n ne sert qu'à des fins de diagnostic et ne fait aucune modification. Utilisez l'option -f pour réparer le système de fichiers cassé:
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! Ça marche! Vérifions encore:
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
Le système de fichiers est propre, indiquant que le problème est résolu.
Parfois, un message d'erreur similaire peut être le résultat d'une option (errors=remount-ro) spécifiée pour une partition non-système particulière dans /etc/fstab. Cette option s'avère précieuse lorsque le système rencontre une erreur qui pose un risque pour le système de fichiers. Elle empêche toute modification supplémentaire qui pourrait aggraver le problème ou conduire à une perte de données. Pour résoudre cette erreur, remontez simplement le système de fichiers en lecture-écriture, comme mentionné ci-dessus.
Voir également:
Mis à jour: 12.03.2025
Publié: 22.05.2024