Journaling-Dateisystem

In einem Journaling-Dateisystem werden Änderungen an einer Datei in einem sogenannten Journal zwischengespeichert, bevor sie endgültig in den Speicher geschrieben werden(committed). Das Journal bezeichnet einen extra für solche Änderungen vorgesehenen Speicherplatz.

Dies hat den Vorteil, dass zum Beispiel nach einem Systemabsturz, während eines Kopier-oder Löschvorgangs, wieder ein konsistenter Zustand der Datei hergestellt werden kann. Dazu wird nach einem Neustart des Betriebssystems, statt einer einfachen Behebung der Dateisystem-Inkonsistenz und dem damit einhergehenden Verlust der Daten, geprüft, welche Daten sich im Journal befinden und für welche Dateien ein commit-flag gesetzt ist. Nur gültige Daten werden anschließend auf der Festplatte gesichert.

Für die Forensik bedeutet dies, dass vorherige Dateiversionen für eine gewisse Zeit in diesem Journal gespeichert werden. Dadurch kann es möglich sein mithilfe des Journals gelöschte oder überschriebene Dateien wiederherzustellen.

Folgend sind einige Dateisysteme aufgelistet, die ein solches Journaling enthalten:

  • ReiserFS: Linux
  • ext3/ext4: Linux
  • btrfs: Linux
  • XFS: Linux und IRIX
  • JFS/JFS2: Linux, AIX und OS/2
  • NTFS/ReFS: Microsoft Windows
  • HFS+: Mac OS ab 8.1 und Mac OS X/OS X/macOS
  • APFS: macOS ab 10.13 und iOS ab 10.3
  • AdvFS: Tru64 UNIX
  • BeFS: BeOS
  • FFS: BSD
  • Smart File System (SFS), Professional File System (PFS): AmigaOS undMorphOS
  • VxFS: AIX, HP-UX, Linux und Solaris
  • gjournal: Eine vom Dateisystem unabhängige Journaling-Implementation für FreeBSD

Quellen

https://link.springer.com/content/pdf/10.1007%2F978-0-387-73742-3_16.pdf

https://www4.informatik.uni-erlangen.de/DE/Lehre/WS03/PS_KVBK/talks/Handout_Journaling.pdf

https://de.wikipedia.org/wiki/Journaling-Dateisystem

https://www.selflinux.org/selflinux/html/dateisysteme_journaling02.html