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