APFS – Apple File System: Dateisystem für iPhone, iPad und Mac

Die Tage von HFS+ sind gezählt, der Nachfolger APFS steht bereits in den Startlöchern: iOS 10.3 bringt das Apple-Dateisystem auf iPhone und iPad. Es soll letztlich alle Geräte abdecken – von der Apple Watch bis zum Mac Pro – und bildet die Grundlage für neue Funktionen.

In Pocket speichern vorlesen Druckansicht 268 Kommentare lesen
APFS Apple File System
Lesezeit: 9 Min.
Von
  • Patrick Stein
Inhaltsverzeichnis

Artikel aus Mac & i Heft 4/2016, S. 36.

Das betagte HFS+ soll im Laufe des Jahres vom Apple Platform FileSystem (APFS) abgelöst werden, iOS 10.3 macht den Anfang. Ein ambitionierter Zeitplan, denn das neue Dateisystem ist dann nur etwa vier Jahre in Entwicklung gewesen. Das ist wenig für eine Systemkomponente, bei der jeder Fehler unweigerlich zur Katastrophe führt.

Die Ursprünge von HFS (als Vorläufer von HFS+) stammen aus dem Jahre 1985, es wurde über die Jahre um Journaling und einen Case-Sensitive-Modus (welcher die Groß- und Kleinschreibung in Datei- und Verzeichnisnamen berücksichtigt) erweitert, später kamen mit CoreStorage dann Verschlüsselung und Fusion Drive unterhalb des Dateisystems hinzu. Auf iOS kann HFS+ sogar einzelne Dateien verschlüsseln.

Hauptaugenmerk bei APFS liegt auf einem optimalen Einsatz über alle Apple-Geräte hinweg, also die Skalierbarkeit von der Apple Watch über iPhone, iPad und Apple TV, bis zum Macbook und Mac Pro – inklusive Verschlüsselung und der besten Performance auf modernen SSDs und Flash-Modulen.

Apple hat APFS für ein sicheres Crash-Verhalten konzipiert. Metadaten werden wie bei ZFS transaktionell und mittels Copy-On-Write sicher geschrieben. Das funktioniert so: Löscht man eine Datei, ändert das System das Verzeichnis nicht direkt an Ort und Stelle, sondern schreibt es mitsamt der veränderten, darüberliegenden Verzeichnisstruktur auf einen freien Platz. Ganz zum Schluss erhält der oberste Verzeichnisknoten noch eine Transaktionsnummer. So gewährleistet APFS, dass im Falle eines Stromausfalls entweder alle Änderungen durchgeführt sind oder gar keine. Zur Sicherheit kommen bei diesen Metadaten zusätzlich Checksummen zum Einsatz, sodass zu jedem Zeitpunkt ein konsistentes Dateisystem vorliegt.

Apple will das neue Dateisystem APFS im Laufe des Jahres veröffentlichen, vorher kann man es bereits als Technologievorschau ausprobieren.

Bislang hat Apple diese Vorgehensweise allerdings nur für die Metadaten implementiert, nicht für die eigentlichen Nutzdaten. Daher kann APFS Fehler innerhalb der Dateien weder erkennen noch korrigieren. Im Falle der Apple Watch mag diese Einschränkung noch nachvollziehbar sein, gerade bei macOS aber haben viele Entwickler mehr Datensicherheit erwartet.

Alle internen Felder sind bei APFS 64 Bit breit, somit sind Zeitmarken (etwa das Änderungsdatum einer Datei) nun nanosekundengenau. Alle Datenstrukturen sind erweiterbar angelegt, sodass aktuelle Versionen von APFS mit zukünftigen Versionen umgehen können, selbst wenn diese dann neue Erweiterungen benutzen. Mit anderen Worten: Auch ein mit einer zukünftigen Version von APFS formatierter Datenträger soll so mit einer älteren Version von APFS funktionieren – wichtig gerade für den Datenaustausch auf dem Mac.

Apple hat APFS für SSDs und Flashspeicher optimiert, mit Fokus auf kurzen Latenzen und weniger auf maximalen Durchsatz. Das liegt auf der Hand, denn moderne SSDs und Flashspeicher sind in dieser Hinsicht schon schnell genug und kurze Latenzen versprechen für Endanwender ein besseres Ansprechverhalten des Systems. Das kann aber zugleich bedeuten, dass APFS auf drehenden Festplatten nicht die beste Wahl ist; das werden erste Tests zeigen müssen.

Verschlüsselung integriert Apple als eine der Kernfunktionen in das neue Dateisystem. Es unterstützt eine Verschlüsselung des gesamten Dateisystems, so wie das schon HFS+ seit OS X 10.7 Lion beherrscht. Zusätzlich kann es aber auch einzelne Dateien und Attribute separat vom Dateisystem chiffrieren. Je nach Hardware kommt ein AES-XTS- oder AES-CBC-Verfahren zum Einsatz.

Volumes werden nicht mehr in Form unabhängiger Partionen einer SSD angelegt. Stattdessen teilen sich alle Volumes variabel den Platz auf einer Disk – je nach Bedarf. Platz spart APFS beim Kopieren von Dateien und Verzeichnissen durch Cloning: Kopiert man Dateien oder Verzeichnisse, überträgt APFS die Daten nicht Byte für Byte, sondern legt nur einen neuen Eintrag in der Verzeichnisstruktur an, der auf die originalen Daten zeigt. Damit verbraucht das System für eine Kopie nur noch den Platz für die Struktur, keinen für die kopierten Daten – und der Vorgang ist praktisch sofort erledigt.

Bislang lassen sich APFS-Volumes nur über Terminalbefehle anlegen, nach Veröffentlichung sollte das wie gewohnt mit dem Festplattendienstprogramm funktionieren.

Sobald man jedoch Änderungen an den geklonten Daten vornimmt, vermerkt APFS diese und benötigt dann natürlich auch den Platz dafür auf der Platte. Für den Benutzer verhält sich eine geklonte Datei oder ein Verzeichnis somit identisch zu einer Kopie im alten HFS+, nur dass kaum Platz verbraucht wird.

Durch die fehlenden Checksummen auf den eigentlichen Daten kann das Klonen allerdings gefährlich sein. Legt ein Benutzer zur Sicherheit mehrere Kopien eines Verzeichnisses an und tritt genau an dieser Stelle ein Fehler im Datenspeicher auf, sind alle Kopien der Daten defekt und der Benutzer merkt es unter Umständen nicht einmal sofort.

Sein Backup-Programm entwickelte Apple ursprünglich für das ZFS-Dateisystem. Dieses war zu Mac-OS-X-10.6-Zeiten zeitweise als Nachfolger von HFS+ vorgesehen und unterstützt Snapshots, die für das Erstellen eines korrekten Backups eines Dateisystems optimal sind. APFS unterstützt ebenfalls Snapshots.

Als Snapshot bezeichnet man das Einfrieren des gesamten Dateisystems zu einem bestimmten Zeitpunkt. In der Regel dauert das Erstellen eines Schnappschusses nur Sekunden, da der Vorgang keine Daten kopiert, sondern lediglich die komplette Dateisystemstruktur festhält. Die Struktur und die Daten, auf die der Snapshot verweist, sind nur lesbar. Änderungen, die nach dem Snapshot am Dateisystem anfallen, funktionieren jedoch ganz normal, nur dass APFS sie an freien Stellen im Dateisystem ablegt. Die ursprünglichen Originaldaten bleiben weiterhin über den Snapshot sichtbar.

Apple hat APFS auf der letzten Entwicklerkonferenz WWDC vorgestellt.

Macht man einen Snapshot seines Heimverzeichnisses und verändert dann eine Datei, bleibt die Version im Snapshot dennoch unverändert. Ein erneuertes Time Machine könnte so ein Backup des Dateisystems zum Zeitpunkt des Snapshots erstellen. Nach dem Backup wird der Snapshot dann gelöscht.
Solange man einen Snapshot nicht löscht, kann man auch Rollbacks von Snapshots machen. Damit setzt man das nachträglich veränderte System wieder in den Ursprungszustand des Snapshot zurück. Rollbacks eignen sich gut für Rechner an Schulen, bei denen die Rechner nach jeder Stunde einfach in den Ausgangszustand versetzt werden. Auch ein System-Upgrade oder eine Software lässt sich dank Snapshots folgenlos ausprobieren, am Ende reaktiviert man einfach den letzten Stand.

In den Genuss der neuen Features von APFS kommt man, sobald Apple es in diesem Jahr ausliefert – den Anfang machen iPhone und iPad mit iOS 10.3 sowie Apple TV mit tvOS 10.2, später folgen Mac und Apple Watch. Als Technologievorschau kann man es in macOS Sierra schon ausprobieren. Einrichten lässt sich das neue Dateisystem bislang aber nur über das Terminal, nicht über das Festplattendienstprogramm.

iOS 10.3 (und tvOS 10.2) führen die Umstellung automatisch durch, der Nutzer muss dafür nichts weiter tun. Das Anlegen eines aktuellen Backups ist sicherheitshalber zu empfehlen. Das Umstellen eines aktuellen HFS+-Dateisystems gelingt innerhalb weniger Minuten, da nur die Strukturdaten bei der Umstellung neu geschrieben werden – die Dateien verbleiben an Ort und Stelle. Ob Apple den Umstieg auch in macOS automatisch per System-Update umsetzt, bleibt noch offen.

Ein APFS-Volume funktioniert aktuell nur im Case-Sensitive-Modus, das heißt "Screen.png" und "screen.png" dürfen als zwei unterschiedliche Dateien nebeneinander stehen.

Bis zur Fertigstellung von APFS hat Apple noch einiges zu tun:

  • Es fehlen noch die Bootfähigkeit, Time-Machine-, FileVault- und Fusion-Drive-Unterstützung.
  • APFS kennt bislang nur den Case-Sensitive-Modus, sodass zur Zeit noch mehrere Dateien mit gleich aussehenden Namen existieren können.
  • AFP-Netzwerkvolumes (Apple Filing Protocol) sind in Kombination mit dem neuen Dateisystem nicht möglich, dies harmoniert nur mit dem SMB-Protokoll. Apple hat AFP allerdings auch schon vor Jahren abgekündigt.
  • Eine Datenkompression, wie sie HFS+ schon jetzt über erweitere Attribute unterstützt, hat Apple bislang nicht erwähnt.

APFS ist für alle Apple-Systeme gedacht.

Dass Apple mit dem neuen Dateisystem das in die Jahre gekommene HFS+ ablösen will, ist sehr zu begrüßen. Beim Design von APFS lag der Fokus auf den eigenen Hardware-Plattformen und Flash-basierten Speichermedien. Moderne Dateisystem-Features (Snapshots, Verschlüsselung) werden unterstützt und mit dem mehrfachen Abspeichern von Strukturdaten mittels Copy-On-Write macht APFS Fehler des darunterliegenden SSD/Flash-Speichers sofort sichtbar.

Schmerzlich vermissen wir Copy-On-Write und Checksummen für Nutzdaten; moderne Dateisysteme wie ZFS und BTRFS können das längst. Unverständlich, warum Apple bei einer Neuentwicklung die Datensicherheit der Nutzer nicht in den Mittelpunkt stellt. Vermutlich liefert Apple dieses wichtige Features noch nach, dank des variablen Aufbaus von APFS wäre dies in einer späteren Version denkbar. (lbe)