Last Updated on: 4th Mai 2021, 06:59 pm
Auf meinen heimischen Systemen nutze ich gerne mal USB-Festplatten im Dauerbetrieb. Auch, wenn diese nicht so stabil laufen wie es echte Serverfestplatten tun, haben diese zumindest auf der Kostenseite echte Vorzüge. Dann kann es aber vorkommen, dass diese Daten verlieren bzw bereingt werden müssen, weil bestimmte Bereiche der Festplatte nicht mehr sauber gelesen werden können. Das System kolportiert dann den Fehler
“Structure needs cleaning” error – cannot mount partition
Um diesen Fehler zu beheben, setze ich hier exemplarisch das Tool „fsck – check and repair a Linux file system“ ein. Ein Bordmittel von Linux, das wahre Wunder vollbringen kann. In meinem Fall handelt es sich um eine mit LUKS verschlüsselte Festplatte, die mittels devicemapper zur Verfügung gestellt wird.
Zuächst schauen wir uns an, wie das Mapping aussieht:
$ sudo blkid
[sudo] password for user:
/dev/sda2: UUID="xxxx-xxxx-xxxxx-xxxxx-xxx" TYPE="ext4" PARTUUID="xxx-xxx-xxxx-xxxxxx-xxxxx"
/dev/loop0: TYPE="squashfs"
/dev/loop1: TYPE="squashfs"
/dev/loop2: TYPE="squashfs"
/dev/loop3: TYPE="squashfs"
/dev/loop4: TYPE="squashfs"
/dev/loop5: TYPE="squashfs"
/dev/sdb: UUID="xxxxxx-xxxx-44ec-xxxx-xxxxxxxx" TYPE="crypto_LUKS"
/dev/sdc: UUID="dxxxx-b513-4xx2-xxx-xxxx" TYPE="crypto_LUKS"
/dev/mapper/maildir: UUID="4xxxxx-8d24-4789-b47b-1xxxxxx" TYPE="ext4"
/dev/mapper/nextcloud: UUID="xxx-50c6-4f90-bfe4-xxxx" TYPE="ext4"
/dev/sda1: PARTUUID="xxx-xx-xx-b547-xxxxx"
/dev/sdd1: PARTUUID="xxxxxxxx"
Von Interesse ist hier die Festplatte /dev/mapper/nextcloud auf der die Daten unseres Cloudservers ruhen. Eben diese hatte ihre Probleme und es kam zu entsprechenden Ausfällen der Cloud. Meine Festplatten werden automatisch über einen USB-Stick, der im Server steckt, entschlüsselt. Entsprechend wird im Weiteren kein Passwort abgefragt.
Um die Festplatte zu bereinigen, hängen wir diese aus. Dafür stoppen wir zunächst den Apache, damit nicht noch währenddessen Zugriffe erfolgen können. Der Parameter -y ist eine Bestätigung, dass jedes gefundene Problem bereinigt werden soll. Lässt man diesen weg, darf man jeden einzelnen Fehler manuell bestätigen. Da in der Regel mehrere hundert oder tausend Fehler bei solchen Bereinigungen gefunden werden können, kann das ziemlich nervig sein…
$sudo service apache2 stop
$ sudo fsck.ext4 -y /dev/mapper/nextcloud
.
.
.
Am Ende des Laufs ist die Festplatte hoffentlich wieder einsetzbar.