Ich habe einen Raspberry Pi, an den ich eine externe Festplatte anschließen möchte. Jetzt überlege ich, welches Dateisystem ich verwenden werde. Das Problem ist, dass der Raspberry Pi von Zeit zu Zeit heruntergefahren wird, ohne die Festplatte auszuhängen. Welches Dateisystem ist also für diesen Anwendungsfall das robusteste?
Antwort1
Fast jedes Lese-/Schreibdateisystem verhält sich nicht besonders gut, wenn es mitten in einem Vorgang heruntergefahren wird. Die Verwendung eines Dateisystems mit einem Journal ist besser, da dies zumindest alle Probleme minimiert. Mir ist kein wirklich großer Unterschied zwischen den verschiedenen Optionen bekannt.
Sie sollten unbedingt in Erwägung ziehen, etwas wie autofs zu verwenden, um das Dateisystem nur bei Bedarf zu mounten. Autofs kann so konfiguriert werden, dass das Dateisystem nach einer konfigurierbaren Zeitspanne ausgehängt wird, wenn es nicht verwendet wurde. Auf diese Weise wird Ihr Dateisystem ausgehängt und ist vollkommen sicher, es sei denn, Sie fahren das System herunter, während es mittendrin ist oder direkt nachdem Sie versucht haben, tatsächlich etwas mit dem Dateisystem zu tun.
Haben Sie ein Tutorial zum Einrichten der automatischen Unmountung?
Da ich nicht weiß, welche Linux-Version Sie verwenden, kann ich Ihnen kein spezielles Tutorial anbieten. Hier sind einige Links, die Ihnen den Einstieg erleichtern. Der entscheidende Punkt ist, --timeout
wie lange das Dateisystem gemountet bleibt, wenn keine Dateien verwendet werden.
- http://wiki.debian.org/AutoFs
- http://www.centos.org/docs/5/html/Deployment_Guide-en-US/s1-nfs-client-config-autofs.html
- http://www.autofs.org/
- http://tldp.org/HOWTO/text/Automount
- http://www.linux-consulting.com/Amd_AutoFS/autofs.html
- http://linux.die.net/man/5/autofs
- http://linux.die.net/man/5/auto.master
Antwort2
Im Prinzip wäre das ein hervorragender Anwendungsfall für eineLog-strukturiertes Dateisystem. Ich habe wenig Erfahrung mit ihnen, aberNILFSsieht gut aus und ist schon seit einiger Zeit im Hauptkernel von Linux enthalten. Im Prinzip erstellt es jede Änderung am Dateisystem als Patch, der auf den vorherigen Zustand angewendet wird. Auf diese Weise sollte man problemlos zum vorherigen Zustand zurückkehren können, wenn es ein Problem mit dem letzten Zustand gibt (beispielsweise aufgrund eines unpassenden Stromausfalls), da bei normaler Verwendung im Allgemeinen nichts überschrieben wird.
Andererseits ist NILFS nicht so ausgereift wie ext3 und es gibt auch nicht annähernd so viele Wiederherstellungstools, falls etwas schief geht. Beachten Sie auch, dass, wenn ich im vorherigen Absatz sage, dass Dinge möglich sind, das durchaus bedeuten kann, dass Sie manuell kompilieren und dazu Software verwenden müssen.
NILFS muss außerdem gelegentlich bereinigt werden, da durch das Überschreiben oder Löschen von Dateien kein Speicherplatz freigegeben wird. Ich glaube, dies geschieht standardmäßig automatisch. Sie sollten sicherstellen, dass dies zu einem Zeitpunkt geschieht, an dem das Gerät nicht mit Strom versorgt wird.
Antwort3
Die Frage klingt für mich sehr krank. Egal wie stark ein Dateisystem ist, das System mitten im Betrieb anzuhalten, ist ein täglicher Lotteriegewinn für massive Dateisystembeschädigungen.
Durch die Verwendung einesGPIOSie könnten Ihrem Gerät signalisieren, dass Sie es ausschalten möchten. (Normale Desktop-PCs verfügen schon lange über diesen Line-Eingang.)
Mit einer externen Schaltung können Sie Ihr Gerät erst nach dem Ende des Haltevorgangs ausschalten. Sie müssen jedoch sicherstellen, dass die bösen Katzen ihre Pfoten an der eigentlichen Stromleitung lassen.
Ich habe einSheevaplug, bei dem die LED vom Benutzer konfigurierbar ist und ich ein Skript hinzugefügt habe, das kurz vor dem endgültigen Halt ausgeführt wird und diese LED ausschaltet. Keine Zweifel oder Zeitverschwendung mehr beim Versuch, herauszufinden, wann der richtige Zeitpunkt zum Ausschalten ist.