Copy-on-Write: das gemeinsame Fundament
Beide Dateisysteme überschreiben Daten nie an Ort und Stelle. Geänderte Blöcke werden neu geschrieben, danach zeigt der Verweis auf die neue Stelle. Aus diesem einen Prinzip folgt fast alles, was ZFS und Btrfs auszeichnet, und leider auch ein Teil ihrer Schwächen.
Was direkt daraus folgt
- Snapshots kosten fast nichts. Ein Schnappschuss merkt sich nur, welche Blöcke zum Zeitpunkt X gültig waren. Solange sich nichts ändert, belegt er keinen zusätzlichen Platz.
- Kein halb geschriebener Zustand. Entweder der neue Block samt Verweis ist vollständig da, oder der alte gilt weiter. Ein Stromausfall mitten im Schreibvorgang hinterlässt kein inkonsistentes Dateisystem, ein
fsckim klassischen Sinn gibt es deshalb nicht. - Fragmentierung ist eingebaut. Wer eine große Datei an vielen Stellen ändert, verteilt sie über die Platte. Bei Datenbanken und virtuellen Festplatten ist das spürbar, auf SSDs weit weniger als auf rotierenden Platten.
- Freier Platz ist eine unscharfe Größe. Solange Snapshots existieren, geben gelöschte Dateien ihren Platz nicht frei.
dfführt dich hier regelmäßig in die Irre.