U vraagt, wij geven antwoord!

Alleen-lezen bestandssysteem

Mogelijke redenen:

  • Beschadigd bestandssysteem
  • Onjuiste afsluiting
  • Configuratiefout

Hoewel de meeste bestandssystemen zijn ontworpen om fouten te voorkomen, kunnen ze nog steeds voorkomen. In dergelijke gevallen activeert Linux een beschermingsmechanisme door een mislukt blokapparaat alleen-lezen te monteren. Dit maakt probleemlokalisatie mogelijk en voorkomt verdere gegevensvernietiging. Daarom zou de eerste en meest voor de hand liggende optie zijn om het bestandssysteem te controleren en alle fouten te corrigeren, als die worden gevonden.

Diagnostiek

Begin met een snelle blik op de aangesloten schijven:

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

Er zijn twee schijven gepresenteerd. De eerste is /dev/sda met twee partities: /dev/sda1 en /dev/sda2. Deze schijf wordt gebruikt voor het systeem en is permanent gemonteerd. Het is onmogelijk om fouten te corrigeren zonder het besturingssysteem af te sluiten. Er is echter een truc waarmee u de staat van de systeemschijf kunt beoordelen.

Controleer een bestandssysteem

Voer fsck uit met de -n optie en onderzoek de output:

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

De inscriptie «schoon» geeft aan dat er geen problemen zijn met het bestandssysteem van de systeemschijf. Als de fout wordt veroorzaakt door deze specifieke schijf, kan je proberen deze opnieuw te monteren zonder het risico van gegevensverlies:

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

Dit kan in een aantal gevallen helpen. Je kan ook proberen de server opnieuw op te starten:

sudo shutdown -r now

Laten we een andere schijf bekijken, /dev/sdb. Ga verder met snelle diagnostiek:

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)
…

Repareer het beschadigde bestandssysteem

Hier zien we hoe de commando-output eruit ziet als het bestandssysteem op de eerste partitie, /dev/sdb1, inderdaad beschadigd is. Echter, de -n optie werkt alleen voor diagnose doeleinden en maakt geen veranderingen. Gebruik de -f keuze om een beschadigd bestandssysteem te repareren:

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! Het werkt! Laten we nog eens controleren:

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

Het bestandssysteem is schoon, wat aangeeft dat het probleem is opgelost.

Soms kan een soortgelijk foutbericht het resultaat zijn van een optie (errors=remount-ro) die is gespecificeerd voor een bepaalde niet-systeempartitie in /etc/fstab. Deze optie is waardevol wanneer het systeem een fout tegenkomt die een risico vormt voor het bestandssysteem. Het voorkomt eventuele extra wijzigingen die het probleem kunnen verergeren of leiden tot gegevensverlies. Om deze fout op te lossen, hermonteer je simpelweg het bestandssysteem voor lezen-schrijven, zoals hierboven vermeld.

Zie ook:



Bijgewerkt: 12.03.2025

Gepubliceerd: 22.05.2024


Hebt u nog vragen? Schrijf ons!

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