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

Apple File System: Copy-on-Write und Clones auf SSDs und Festplatten - Vorzüge und Nachteile

Festplatten und SSDs dienen zwar einem identischen Zweck, nämlich der dauerhaften Speicherung großer Datenmengen, unterscheiden sich aber bekanntlich grundlegend, was die Technik betrifft. Moderne Dateisysteme, etwa das bereits 2016 von Apple vorgestellte APFS, berücksichtigen das und bieten einige Funktionen, die vornehmlich auf Flash-Speicher zugeschnitten sind und sich dessen Vorzüge zunutze machen. Neben drastisch höheren Lese- und Schreibgeschwindigkeiten gehört dazu auch die Tatsache, dass bei SSDs – anders als bei ihren mechanischen Pendants – eine Fragmentierung von Dateien sich nicht negativ bemerkbar macht und Zugriffe nicht verlangsamt.


APFS verfolgt beim Speichern anderen Ansatz als HFS
Ältere und somit für Festplatten entwickelte Dateisysteme wie Apples HFS+ versuchten daher, Dateien so gut es ging zusammenhängend abzulegen. Hierzu wurden bereits belegte Bereiche beim Speichern eines geänderten Files überschrieben, wann immer das möglich war. Diese Methode eignet sich allerdings weniger, wenn SSDs ins Spiel kommen. Die rein elektronischen Medien sind nämlich vergleichsweise langsam, wenn es um das Löschen belegter Blöcke geht. Zudem belastet dieser Vorgang die Flash-Chips und wirkt sich negativ auf deren Lebenserwartung aus. Bei APFS wählte Apple daher einen anderen Ansatz und nutzt ein als „Copy-on-Write“ (CoW) bekanntes Verfahren. Diesem widmet Howard Oakley jetzt einen ausführlichen Beitrag auf seinem Blog „The Eclectic Light Company“.


Copy-on-Write überschreibt Blöcke auf der SSD nicht
Kommt CoW zum Einsatz, werden geänderte Blocke nicht wie bei früheren Dateisystemen aus Cupertino überschrieben. Vielmehr speichert APFS sie an einer freien Stelle auf der SSD und ändert dann lediglich den zugehörigen Verzeichniseintrag. Das beschleunigt den Vorgang nicht nur, sondern bietet auch einen weiteren Vorteil: Geht beim Speichern etwas schief, lässt sich der vorherige Zustand problemlos wiederherstellen, denn der ursprüngliche Block ist immer noch vorhanden. Darüber hinaus ermöglicht Copy-on-Write das Erstellen von Snapshots, ohne dass dafür wertvoller Speicherplatz in Anspruch genommen werden muss.


Nachteile beim Einsatz von CoW auf Festplatten
Copy-on-Write bringt allerdings auch einen Nachteil mit sich, und zwar im Zusammenhang mit sogenannten Clones. Dupliziert man eine Datei, geschieht zunächst im Prinzip dasselbe wie beim Speichern eines modifizierten Files. APFS erzeugt lediglich einen zusätzlichen Verzeichniseintrag für die Kopie, diese belegt folglich keinen realen Speicherplatz. Das ändert sich jedoch, sobald eine der beiden Dateien geändert wird: Unterscheiden sich Original und Clone auch nur in einem Byte, schreibt macOS einen neuen Block, der Platzbedarf vergrößert sich also. Geschieht dies mehrfach, liegen beide Dateien irgendwann komplett auf dem Speichermedium und belegen völlig unterschiedliche Blöcke. Auf einer SSD macht sich das kaum bemerkbar, hat aber beim Einsatz einer Festplatte Auswirkungen auf die Performance: Diese verringert sich nämlich durch die von Copy-on-Write hervorgerufene Fragmentierung.

Kommentare

Wellenbrett04.05.23 18:24
Ein sehr interessanter Artikel! In dem verlinkten Blogeintrag schreibt Howard Oakley: "... But in APFS the sting in the tail, that causes most performance problems, isn’t so much in the file data as the file system itself. As that changes it becomes fragmented, forcing many more seeks to access objects and their structures, until it all comes to a grinding halt, with no easy solution. No file system can be ideal for all storage media."
Leider erläutert er das an der Stelle nicht weiter. Warum sind unter APFS bei diesem fortschreitendem Auseinanderdriften der Inhalte von Original und Kopie "many more seeks" notwendig um auf "objects and their structures" zuzugreifen? Ich dachte es muss eben nicht gesucht werden; er schreibt ja selbst zu Beginn seines Blogeintrages: "...SSDs are in effect the exact opposite: there’s no seeking involved...". Wie versteht ihr das?
0
Marcel Bresink04.05.23 18:54
Wellenbrett
Warum sind unter APFS bei diesem fortschreitendem Auseinanderdriften der Inhalte von Original und Kopie "many more seeks" notwendig

Weil er an dieser Stelle nur von klassischen Magnetfestplatten spricht. In dem Artikel geht es eigentlich nur darum, ob das ursprünglich für Flash-Speicher in Apple-Mobilgeräten entwickelte APFS bei Verwendung von Festplatten Nachteile hat.

Dabei wird allerdings verschwiegen, dass Apple inzwischen automatische Defragmentierung in APFS für Festplatten nachgerüstet hat.
+8
MuTiger
MuTiger04.05.23 19:28
Danke Marcel für deine immer wieder fundierten Beiträge.
Das bringt oft eine ganz andere Ebene in den Austausch!
Marcel Bresink
Wellenbrett
Warum sind unter APFS bei diesem fortschreitendem Auseinanderdriften der Inhalte von Original und Kopie "many more seeks" notwendig

Weil er an dieser Stelle nur von klassischen Magnetfestplatten spricht. In dem Artikel geht es eigentlich nur darum, ob das ursprünglich für Flash-Speicher in Apple-Mobilgeräten entwickelte APFS bei Verwendung von Festplatten Nachteile hat.

Dabei wird allerdings verschwiegen, dass Apple inzwischen automatische Defragmentierung in APFS für Festplatten nachgerüstet hat.
„Vielleicht gibt es schönere Zeiten; aber diese ist die unsere.“ Jean Paul Sartre
+1
vta04.05.23 19:31
Marcel Bresink
Wellenbrett
Warum sind unter APFS bei diesem fortschreitendem Auseinanderdriften der Inhalte von Original und Kopie "many more seeks" notwendig

Weil er an dieser Stelle nur von klassischen Magnetfestplatten spricht. In dem Artikel geht es eigentlich nur darum, ob das ursprünglich für Flash-Speicher in Apple-Mobilgeräten entwickelte APFS bei Verwendung von Festplatten Nachteile hat.

Ob APFS wirklich für SSD optimiert ist oder Apple einfach nur klassische Festplatten bei der Entwicklung von APFS ignoriert hat und das dann als SSD-optimiert verkauft...

Habe den Artikel aber noch nicht lesen können. Jedenfalls gibt es Copy On Write & Co. auch unter anderen Dateisystemen (nennt sich manchmal anders, z.B. bei Btrfs), die bestens mit klassischen HDDs laufen.
0
Wellenbrett04.05.23 19:46
Marcel Bresink
Wellenbrett
Warum sind unter APFS bei diesem fortschreitendem Auseinanderdriften der Inhalte von Original und Kopie "many more seeks" notwendig

Weil er an dieser Stelle nur von klassischen Magnetfestplatten spricht. In dem Artikel geht es eigentlich nur darum, ob das ursprünglich für Flash-Speicher in Apple-Mobilgeräten entwickelte APFS bei Verwendung von Festplatten Nachteile hat.
...
Wenn er an dieser Stelle von Magentfestplatten gesprochen hätte, wäre es für mich sofort verständlich gewesen, aber das hat er eben nicht. Ich habe ihn doch zitiert:"But in APFS the sting in the tail,..."
-1
aMacUser
aMacUser04.05.23 20:13
Wellenbrett
Wenn er an dieser Stelle von Magentfestplatten gesprochen hätte, wäre es für mich sofort verständlich gewesen, aber das hat er eben nicht. Ich habe ihn doch zitiert:"But in APFS the sting in the tail,..."
"APFS" heißt nicht "SSD". APFS ist ein Dateisystem, dass du sowohl auf SSD, als auch auf HDD verwenden kannst. Und auf HDDs hat es die entsprechenden Nachteile. Wenn Apple mittlerweile aber eine automatisceh Defragmentierung für HDDs implementiert hat, relativiert sich das wieder etwas.
+1
Dunkelbier04.05.23 20:20
vta
Habe den Artikel aber noch nicht lesen können. Jedenfalls gibt es Copy On Write & Co. auch unter anderen Dateisystemen (nennt sich manchmal anders, z.B. bei Btrfs), die bestens mit klassischen HDDs laufen.
Wie soll das gehen? Hat das mal jemand genauer überprüft?
0
ideal04.05.23 21:27
interessant wäre noch, was wir als User unternehmen können um eine Apple SSD (oder OWC, Samsung, WD, SanDisk) hochperformant zu (er-)halten, da ich zb täglich 1-10 TB lese und schreibe.
Da ich es nicht genau weiss, lass ich den Rechner vorsichtshalber übernacht an, sleep aus, damit der Mac im Idle Zustand die SSD defragmentieren kann oder die Garbage wartet. Also früher, vor 10 Jahren war das so, aber ob das noch immer nötig ist?
0
vta04.05.23 22:04
Dunkelbier
vta
Habe den Artikel aber noch nicht lesen können. Jedenfalls gibt es Copy On Write & Co. auch unter anderen Dateisystemen (nennt sich manchmal anders, z.B. bei Btrfs), die bestens mit klassischen HDDs laufen.
Wie soll das gehen? Hat das mal jemand genauer überprüft?
"ZFS, Btrfs, APFS sowie NILFS sind bekannte Vertreter von Dateisystemen, die auf Copy-on-Write bauen."
https://de.wikipedia.org/wiki/Copy-On-Write
0
Dunkelbier04.05.23 22:28
vta
"ZFS, Btrfs, APFS sowie NILFS sind bekannte Vertreter von Dateisystemen, die auf Copy-on-Write bauen."
https://de.wikipedia.org/wiki/Copy-On-Write
Das weiß ich. Aber soll das genannte btrfs angeblich mit HDDs überhaupt nicht den gleichen Effekt wie APFS haben?
0
Weia
Weia05.05.23 03:34
ideal
Da ich es nicht genau weiss, lass ich den Rechner vorsichtshalber übernacht an, sleep aus, damit der Mac im Idle Zustand die SSD defragmentieren kann
Was soll auf einer SSD denn Defragmentierung sein?
“I don’t care” is such an easy lie. (The Warning, “Satisfied”)
0
aMacUser
aMacUser05.05.23 09:28
Weia
ideal
Da ich es nicht genau weiss, lass ich den Rechner vorsichtshalber übernacht an, sleep aus, damit der Mac im Idle Zustand die SSD defragmentieren kann
Was soll auf einer SSD denn Defragmentierung sein?
Richtig, auf einer SDD wäre Defragmentierung vermutlich das schlimmste, was man ihr antun könnte (in Bezug auf die Gesamtlebensdauer).
0
Marcel Bresink05.05.23 09:51
ideal
Da ich es nicht genau weiss, lass ich den Rechner vorsichtshalber übernacht an, sleep aus, damit der Mac im Idle Zustand die SSD defragmentieren kann oder die Garbage wartet.

Das ist beides komplett unsinnig. Eine SSD braucht niemals defragmentiert zu werden und man sollte auch niemals ein Defragmentierungsprogramm für Magnetplatten auf SSDs aufrufen, weil das die Lebensdauer verringert.

Eine "Wartung bei Nacht" gibt es auch seit über 10 Jahren nicht mehr. Fast jeder Dienst in macOS hat inzwischen seine eigene Wartung, die er entweder nach Bedarf oder in selbst gewählten Zeitintervallen aufruft. Das passiert auch im Ruhezustand, wobei der Rechner in einen "Dark Wake"-Modus geht, bei dem der Bildschirm ausgeschaltet bleibt. Ausgenommen hiervon sind nur bestimmte Basisdienste auf der UNIX-Ebene (wie z.B. der NFS-Server), die bei den meisten Benutzern abgeschaltet sind.

Defragmentierung findet in macOS außerdem niemals bei einer "Wartung" statt, sondern immer nur bei Bedarf, wenn die betroffenen Dateien sowieso in einer Schreiboperation angefasst werden.
ideal
was wir als User unternehmen können um eine Apple SSD (oder OWC, Samsung, WD, SanDisk) hochperformant zu (er-)halten, da ich zb täglich 1-10 TB lese und schreibe.

Das einzig Sinnvolle, was man da machen kann, ist bei externem Anschluss, immer Thunderbolt statt USB zu nehmen, da nur dort die Trim-Funktion (inzwischen abgelöst durch "Deallocate") von macOS unterstützt wird.
+3
Wellenbrett05.05.23 10:09
aMacUser
Wellenbrett
Wenn er an dieser Stelle von Magentfestplatten gesprochen hätte, wäre es für mich sofort verständlich gewesen, aber das hat er eben nicht. Ich habe ihn doch zitiert:"But in APFS the sting in the tail,..."
"APFS" heißt nicht "SSD". APFS ist ein Dateisystem, dass du sowohl auf SSD, als auch auf HDD verwenden kannst. Und auf HDDs hat es die entsprechenden Nachteile. Wenn Apple mittlerweile aber eine automatisceh Defragmentierung für HDDs implementiert hat, relativiert sich das wieder etwas.
Ist mir bekannt, danke aber fürs Mitdenken. Gestern Abend beim Joggen ist mir klar geworden, dass Howard Oakley implizit wohl tatsächlich die Kombination APFS auf Magnetfestplatte meinte, was für mich persönlich gedanklich quasi ein No Go war. Jetzt macht seine Aussage auch für mich Sinn
+1
don.redhorse07.05.23 13:51
Marcel Bresink
Das passiert auch im Ruhezustand, wobei der Rechner in einen "Dark Wake"-Modus geht, bei dem der Bildschirm ausgeschaltet bleibt.

das ist auch einer der Gründe weshalb ich meinen Rechner immer abschalte wenn ich ihn nicht mehr brauche. Sprich zu Bett gehe, oder außer Haus gehe. Die Kisten booten so schnell und dadurch das die alte Session genau sie wieder hergestellt wird, wie die vorherige war, sehe ich gar kein Argument mehr für den Sleepmode. Ok, ist auch ein Mini, ich denke ein MacBook würde ich nach gebrauch auch einfach nur zuklappen und nur zu den Updates/ Upgrades neu booten.
Das einzig Sinnvolle, was man da machen kann, ist bei externem Anschluss, immer Thunderbolt statt USB zu nehmen, da nur dort die Trim-Funktion (inzwischen abgelöst durch "Deallocate") von macOS unterstützt wird.

Das ist eine sehr nützliche Information und ist endlich das Puzzleteil das ich benötigte um eine TB SSD statt (wie jetzt) eine USB SSD zu verwenden. Bisher habe ich den Gehäusemehrpreis nicht wirklich gesehen, da die Controllerchips eh zu lahm sind und man meist nichts von der TB Performance hat. Es sei denn, man greift zu extrem teuren Gehäuse.

Danke, dass gucke ich mir jetzt genauer an.
+1

Kommentieren

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