Tolerantes Dateisystem für ein fehlgeschlagenes Automount

Tolerantes Dateisystem für ein fehlgeschlagenes Automount

(Ich verwende openSUSE 13.2)

Mein aktuelles Setup

Ich habe ein externes Backup-Laufwerk, das ich beim Booten mit der folgenden Zeile mounte /etc/fstab:

/dev/mapper/cr_backup    /backup    ext4     comment=systemd.automount,nofail 0 2

Ich habe diese nofailOption gewählt, weil das Backup-Laufwerk manchmal nicht vorhanden ist und ich in diesem Fall nicht möchte, dass der Bootvorgang hängen bleibt.

Das Problem

Wenn das Backup-Laufwerk nicht vorhanden ist, lsgerät die Ausführung in meinem Stammverzeichnis in eine Endlosschleife, die ich mit Strg+C abbrechen muss. Die Fehlermeldung lautet:

ls: cannot access /backup: Interrupted system call

Dies scheint lsfehlzuschlagen, da versucht wird, auf das Sicherungslaufwerk zuzugreifen, dies jedoch nicht möglich ist.

Eine Lösung wäre, das Backup-Laufwerk /backup/backupso zu verschachteln, dass ls /es nicht stolpert. Das kommt mir jedoch wie ein schmutziger Hack vor und ich frage mich, ob es eine elegantere Lösung gibt (ich möchte gern mehr darüber erfahren, wie das System funktioniert!).

Meiner (begrenzten) Erfahrung nach mountist der Einhängepunkt ein leeres Verzeichnis, wenn ein Gerät nicht eingehängt ist. Kann ich hier etwas Ähnliches erreichen? Ich müsste jedoch vorsichtig sein, da ich automatische stündliche Backups geplant habe, die derzeit nicht ausgeführt werden, wenn das Gerät nicht eingehängt ist. Ich möchte auf keinen Fall, dass das Backup einfach alles in das leere Verzeichnis schreibt, wenn es das Backup-Laufwerk nicht eingehängt hat!

Antwort1

Meiner Meinung nach ist es keine gute Praxis, beim Start zu versuchen, ein Backup-Dateisystem zu mounten, denn wenn etwas schief geht (rm -rf / [enter] ops), werden die Daten im Backup wahrscheinlich zusammen gelöscht.

Wenn Sie hierfür also ein Skript verwenden, mounten Sie es innerhalb des Skripts oder innerhalb von Cron und führen Sie nach Abschluss ein Umount durch.

Damit bleibt Ihr Start nicht mehr hängen und das Dateisystem funktioniert.

Eine andere Lösung besteht darin, es aus fstab zu entfernen und als Mount-Befehl mit dem Zeichen „&“ in rc.local einzufügen, um es im Hintergrund auszuführen:

mount /dev/mapper/cr_backup /backup -t ext4&

Für Wechseldatenträger steht Ihnen ebenfalls die Autofs-Lösung zur Verfügung: https://linuxconfig.org/automatically-mount-usb-external-drive-with-autofs

Antwort2

Ich weiß, dass Sie SUSE verwenden, aber diese Aussage aus dem Ubuntu-fstab-Wiki (https://help.ubuntu.com/community/Fstab) kann Ihnen den richtigen Weg weisen:

Wechseldatenträger wie Flash-Laufwerkedürfenmüssen zu fstab hinzugefügt werden, werden aber normalerweise vom Gnome-Volume-Manager gemountet und liegen außerhalb des Rahmens dieses Dokuments.

UPDATE: Das könnte interessant seinhttp://www.novell.com/coolsolutions/tip/17785.html, ein älterer Artikel über SUSE.

verwandte Informationen