Push-Nachrichten von MacTechNews.de
Würden Sie gerne aktuelle Nachrichten aus der Apple-Welt direkt über Push-Nachrichten erhalten?

7 Jahre APFS: Vorteile und Eigenheiten von Apples modernem Dateisystem

Dokumente ohne Daten
Weitere Eigenheiten von APFS betreffen die Struktur einzelner Dateien: Jede Datei hat einen internen Namen, genannt inode. Der inode-Identifikator bleibt stets gleich, wenn man das Dokument auf demselben Volume verschiebt. Weitere Informationen liegen in einem Datensegment namens "extended attributes" (xattr). Darin stehen dann Informationen wie Dateigröße, Codierung, verknüpftes Programm und so weiter. Anders als bei den Vorläufer-Dateisystemen, in denen solche Zusatzinformationen in einer (unter macOS) unsichtbaren Datei namens Ressource Fork lagern, verstaut APFS diese Informationen in einem separaten Bereich auf dem Volume. Windows-Nutzern gefällt das, denn nun haben sie keine zusätzlichen Dateien mit Punkt und Unterstrich am Namensanfang auf Speichermedien, die sie von Mac-Nutzern erhalten. Um die erweiterten Attribute einer Datei zu verarbeiten, hilft der Finder weiter: Der Befehl Ablage>Informationen" (-I) öffnet ein Fenster, das die wichtigen Dateiattribute anzeigt; nicht wenige lassen sich hierüber auch anpassen. Zusätzlich gibt es wiederum ein Kommandozeilen-Tool namens "xattr". Deren Bedienung stellt sich jedoch als komplex heraus.

Für eine Datei erwartet APFS einen inode-Identifikator und einige Metadaten. Attribute und der tatsächliche Inhalt sind optional.


Dateiinhalt: optional (und wiederverwendbar)
Normalerweise, wenn die Datei auf dem internen Laufwerk gespeichert ist, beinhaltet der Dokumenteintrag des APFS-Volumes einen Informationsteil namens "file extent". In dem steht beschrieben, wo auf dem Volume der Inhalt zu finden ist. Doch der kann auch einfach verschwinden, sofern die Datei auf einem Cloud-Speicher liegt. So spart macOS Platz auf dem lokalen Volume. Sofern eine Internetverbindung besteht, kehrt die Datei bei Bedarf wieder zurück. Dies gilt für iCloud Drive ebenso wie für Dateien anderer Cloud-Anbieter, etwa Dropbox. Die dafür notwendige Infrastruktur hat Apple unter dem Namen FileProvider in macOS integriert. Ein weiterer Vorteil von File-Extents-Attributen: Mehrere Dokumente können auf denselben Speicherplatz verweisen. Dupliziert man eine Datei auf demselben Laufwerk, entsteht lediglich ein neuer Eintrag im Dateiverzeichnis, mit eigener inode und separaten xattrs. Unter "File extents" verweist dieses Dokument dann auf dieselben Speicherbereiche wie das Original. Solange die beiden Dateien inhaltsgleich bleiben, verbrauchen Dateikopien auf demselben Volume deshalb fast keinen Speicherplatz. Auf dieses Konzept sattelt dann die Schnappschuss-Struktur auf, mit dem macOS Dateiversionen und Time-Machine-Backups effizient verwaltet.


Einschränkungen von APFS
Die strukturellen Vorteile des Apple File System setzen darauf, dass alle Speicherbereiche eines Volumes gleich zugreifbar sind. Dateiinhalte sind wild verteilt und randomisiert geschrieben, um die Flash-Speichermodule zu schonen. Das bedeutet allerdings im Umkehrschluss: APFS ist auf Festplatten bei einem Neustart nahezu unerträglich langsam. Eine weitere Eigenheit: Verwaiste Schnappschüsse können dafür sorgen, dass sich ein Volume scheinbar grundlos mit Dateien füllt – zum Glück kann man sie von Hand entfernen. Noch eine Limitierung: Ein Dateiname darf nicht länger als 255 Zeichen sein. Das sind in etwa drei Sätze, also eine akzeptable Beschränkung selbst für gelegentliche Dokumentbezeichungssubstantivverkettungsausnahmeerscheinungen.

Jubiläumsfeier bei Eclectic Light Company
Das siebenjährige Bestehen des Dateisystems nahm Mac-Blogger Howard Oakley zum Anlass für eine Reihe von Hintergrundartikeln zu Apples Dateisystem – obwohl er eigentlich iOS-Geräte scheut, und macOS erst ab dem 27. September 2017 offiziell auf APFS setzte. Wir haben die aktuellen Artikel in einer Tabelle zusammengetragen. Wer sich mit Details näher auseinandersetzen möchte, sei die Lektüre dieser ausführlichen Artikel ausdrücklich angeraten. Sie erklären ausführlich, wie die Verzeichnisstruktur von APFS funktioniert, und erläutern, wie man Oakleys kostenlose Tools zur Fehlerdiagnose einsetzen kann.

Thema Titel
Dateien und Klone APFS: Files and clones
Verzeichnisse und Namen APFS: Directories and Names
Klone, Kopien & Pfade Last Week on My Mac: Attack of the Clones
APFS-Historie und Versionen Happy birthday APFS, 7 years old today

Kommentare

ruphi
ruphi29.03.24 16:47
Ein schönes Ostergeschenk 🐣
+5
Marcel Bresink30.03.24 11:13
In dieser Übersetzung sind einige technische Fehler:

- inodes sind keine Eigenschaft von APFS, sondern von UNIX-Betriebssystemen. Die inode-Technik wird bereits seit mindestens 1978 in allen Unix-artigen Betriebssystem verwendet.
- File Extents sind kein APFS-Attribut, sondern die seit 1985 übliche Technik, wie ein Mac Dateiinhalte ablegt. APFS erweitert die herkömmliche Ablage durch Klone und Schnappschüsse.
- In den Erweiterten Attributen werden keine Dateiinformationen abgelegt, sondern optionale Zusatzdaten, sozusagen rein freiwillig. Viele Dateien verwenden überhaupt keine Erweiterten Attribute.
- Wie bisher werden Erweiterte Attribute auf fremden Dateisystemen (wie ExFAT) als Punkt-Unterstrich-Dateien im AppleDouble-Format abgelegt. Da kann sich nichts ändern, da Fremdsysteme ja gerade kein Mac-Dateisystem verwenden. Windows verwendet eine andere Technik namens Alternate Data Streams, die von Apple aber nicht unterstützt wird.
- Resource Forks kann man als eine Art Vorläufertechnik von Erweiterten Attributen im klassischen Mac OS ansehen. Mit dem Übergang zu Mac OS X wurden diese nach und nach durch Erweiterte Attribute ersetzt. Wenn nötig, können Mac OS Resource Forks heute immer noch verwendet werden, indem sie in einem Erweiterten Attribut namens "com.apple.ResourceFork" gespeichert werden.
- Für Dateien, die in eine Cloud ausgelagert sind, verwendet APFS eine Technik, sich "dataless file" nennt. "FileProvider" ist eine Betriebssystem-Architektur, den Datentransfer aus oder in eine Cloud zu organisieren.
- "Verwaiste" Schnappschüsse gibt es nicht wirklich. Das Recht, Schnappschüsse anlegen zu dürfen, steht nur bestimmten Systemdiensten zu und diese erkennen und verwalten die Schnappschüsse automatisch. Dazu gehört auch eine vollautomatische Bereinigung bei Speicherplatzmangel. Schnappschüsse von Time Machine werden automatisch jede Stunde bereinigt, wenn sich TM im Normalbetrieb befindet.
- APFS wurde im Laufe der Jahre besser an klassisch-magnetische Festplatten angepasst und unterstützt dort auch Verfahren wie automatische Defragmentierung.
- Einen Datenträger, der APFS beinhaltet, zu partitionieren, ist ja eigentlich genau nicht das, was man mit APFS erreichen will. APFS soll die veraltete Partitionstechnik ablösen. Falls man dennoch Volumes mit fester Größe braucht, kann man dies über APFS-Kontingentierung erreichen. Partitionierung wird nur noch verwendet, um den partitionsfreien APFS-Bereich von alter Technik oder fremden Betriebssystem abzugrenzen. Mehr als 1 Container pro Datenträger braucht man nur in extrem seltenen Ausnahmefällen.
+9
Nebula
Nebula30.03.24 14:50
Marcel Bresink

- "Verwaiste" Schnappschüsse gibt es nicht wirklich. Das Recht, Schnappschüsse anlegen zu dürfen, steht nur bestimmten Systemdiensten zu und diese erkennen und verwalten die Schnappschüsse automatisch. Dazu gehört auch eine vollautomatische Bereinigung bei Speicherplatzmangel. Schnappschüsse von Time Machine werden automatisch jede Stunde bereinigt, wenn sich TM im Normalbetrieb befindet.

Danke für die Ergänzungen, Marcel. Es mag zwar keine verwaisten Snapshots geben, aber dennoch gibt es den Fall, bei dem macOS das Aufräumen entweder vergisst oder irgendwie nicht hinbekommt.

Habe ich eigentlich 100 GB frei, wovon 40 GB mit Snapshots belegt sind, kann ich meist nicht einfach mit dem Finder 80 GB auf die interne SSD kopieren. Der Finder lehnt das ab, statt zu sagen: bitte Geduld, ich räume vor dem Kopieren noch etwas auf.
»Wir werden alle sterben« – Albert Einstein
+8
immo_j31.03.24 13:33
Marcel Bresink
In dieser Übersetzung sind einige technische Fehler:

Vielen Dank für Deine Ergänzungen! An Deinem ersten Satz nehme ich etwas Anstoß, denn erstens handelt es sich bei dem Artikel nicht um eine reine Übersetzung, und zweitens würde ich den Anlass Deiner Einwände nicht durchgehend als technische Fehler betrachten. So habe ich nicht behauptet, inodes seien APFS-exklusiv. Und auch die Erwähnung, APFS-Volumes lassen sich in mehrere Container partitionieren, als Empfehlung zu werten, empfinde ich als etwas weit hergeholt. Ich für meinen Teil lege eher eine zusätzliche Partition in einem gänzlich anderen Format an, etwa für ein Linux als alternatives System. Die Fähigkeit, zusätzliche APFS-Volumes innerhalb eines Containers anzulegen, habe ich persönlich auf meinem Mac noch nie gebraucht (abseits des macOS-Automatismus). Aber wir nutzen ja alle unsere Macs etwas anders, und das ist ja das Schöne.

In diesen Artikel habe ich deutlich mehr Zeit und Recherche gesteckt als in viele andere Meldungen. Trotzdem bin ich doch eher Journalist, und versuche, aktuelle Informationen zeitnah, unterhaltsam, sachlich korrekt und verständlich aufzubereiten. Es ist schwierig, alle diese Ansprüche gleichzeitig zu bedienen. Vor allem aber habe ich die Wahrheit nicht gepachtet und bin kein Entwickler. Gelegentlich lasse ich Details aus, die andere wichtig betrachten, oder habe Dinge noch nicht hundertprozentig erfasst. Darum freue ich mich, wenn so erfahrene Entwickler wie Du, Marcel Bresink, ihr Wissen beisteuern und durch zusätzliche Informationen, Korrekturen und Einschätzungen erweitern. Also nochmals herzlichen Dank!
+14
Nebula
Nebula31.03.24 23:17
Zusätzliche Volumes sind für Nutzer von VMs eigentlich Pflicht, wenn sie vernünftig Time Machine nutzen wollen und sich nicht jede VM-Änderung ins Backup niederschlagen soll. Denn wenn man die VMs einfach in die Ausnahmen packt, landen sie dennoch in die APFS-Snapshots, weil Snaptshots grundsätzlich immer alle Daten berücksichtigen. Erst beider Übertragung werden die Daten weggelassen, da man nicht im Backup wünscht.

Legte man nun große Daten, die nicht ins TM-Backup sollen auf eine Volume, kann man das gesamte Volume ausklammern. Davon macht TM dann keine initialen Snapshots mehr.
»Wir werden alle sterben« – Albert Einstein
+3
tobias.reichert01.04.24 14:05
Snapshots sind doch auf Bit-Basis, da kannste ruhig alles in TimeMachine und den lokalen Snapshotslassen wenn ich mich nicht irre.
0

Kommentieren

Sie müssen sich einloggen, um die News kommentieren zu können.