Flüchtiges Dateisystem

Flüchtiges Dateisystem

Ich habe einen Jenkins-Build-Server (Linux) und einen Agenten (Windows), die beide große temporäre Arbeitsbereiche erstellen, die effektiv wie Caches behandelt werden können:

  • es wäre schön, wenn sie erhalten blieben
  • Sie können wiederhergestellt werden, wenn sie verloren gehen
  • Bei Verlust sollten die Daten fehlen und nicht beschädigt sein

Gibt es ein Dateisystem, bei dem ich die Datenpersistenz zugunsten der Geschwindigkeit opfern kann, die Daten auch nach einem Neustart noch behalten kann, aber Daten verwirft, die möglicherweise durch unsaubere Herunterfahren betroffen sind, idealerweise mit einer Granularität von „Toplevel-Verzeichnis“?

Ein typisches Szenario wäre, dass dies in das Verzeichnis mit den Arbeitsbereichen eingebunden wird, sodass jeder Job ein Verzeichnis auf oberster Ebene erstellt. Während der Job ausgeführt wird, werden verschiedene Dateien tief in der Hierarchie gelesen und in sie geschrieben. Wenn die Maschine abstürzt, während ein Job ausgeführt wird, und Dateien in einem inkonsistenten Zustand sein könnten, sollte das gesamte Jobverzeichnis während der Dateisystemprüfung entfernt werden, da es leicht neu erstellt werden kann.

Antwort1

Glauben Sie nicht, dass Sie in einem Dateisystem finden, was Sie suchen.

Was Sie jedoch tun könnten, ist, als letzten Schritt des Jobs (an einem Punkt, an dem Sie den Cache speichern möchten) eine Datei mit einem konsistenten Namen erstellen zu lassen – /storage/jobID/job_completeoder so etwas. Wenn diese Datei beim Start nicht in einem Job-Verzeichnis vorhanden ist, führen Sie rm -r das Job-Verzeichnis aus. Damit ist Ihr Problem mit dem „halbfertigen Job“ gelöst.

Als nächstes wollen Sie Geschwindigkeit. Es ist an der Zeit, sich entweder neue Hardware wie SSDs anzusehen oder die Implementierung von RAID 0 in Betracht zu ziehen. Während die 0 angibt, wie viele Daten Sie wiederherstellen können, wenn ein Laufwerk ausfällt, können Sie sowohl beim Schreiben als auch beim Lesen eine große Geschwindigkeitsverbesserung erzielen. (Das Media Center, das ich an einem örtlichen College unterstützt habe, verwendet RAID 1 für die Live-Videoaufnahme, bevor die resultierenden Dateien auf den SAN-Speicher verschoben werden).

verwandte Informationen