Interrogez-nous, nous vous répondrons !

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


Des questions ? Écrivez-nous!

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