Sie müssen Btrfs-Dateisysteme nicht wirklich manuell defragmentieren.
Ja, Btrfs ist COW (Copy-on-Write), was bedeuten würde, dass Dateien viel mehr fragmentiert werden als Ext. Dies wird jedoch in verschiedenen Aspekten des Designs behandelt, einschließlich der Möglichkeit, das Dateisystem einfach zu defragmentieren, während es online ist. Dieser Auszug enthält weitere Einzelheiten (Hervorhebung von mir):
Automatische Defragmentierung
COW-Dateisysteme (Copy-on-Write) haben viele Vorteile, aber auch einige Nachteile, beispielsweise die Fragmentierung. Btrfs legt die Daten nacheinander an, wenn Dateien zum ersten Mal auf die Festplatte geschrieben werden. Ein COW-Design impliziert jedoch, dass nachfolgende Änderungen an der Datei nicht über die alten Daten geschrieben werden dürfen, sondern in einem freien Block abgelegt werden müssen Fragmentierung verursachen (RPM-Datenbanken sind ein häufiger Fall dieses Problems). Darüber hinaus treten die Fragmentierungsprobleme auf, die allen Dateisystemen gemeinsam sind.
Btrfs bietet bereits Alternativen zur Bekämpfung dieses Problems an: Erstens unterstützt es die Online-Defragmentierung mit dem Befehl btrfs filesystem defragment
. Zweitens hat es eine Mount-Option, -o nodatacow
die COW für Daten deaktiviert. Jetzt fügt btrfs eine dritte Option hinzu, die -o autodefrag
Mount-Option. Dieser Mechanismus erkennt kleine zufällige Schreibvorgänge in Dateien und stellt sie für einen automatischen Defragmentierungsprozess in die Warteschlange, sodass sich das Dateisystem während der Verwendung selbst defragmentiert. Es ist noch nicht für Virtualisierung oder große Datenbank-Workloads geeignet, eignet sich jedoch gut für kleinere Dateien wie RPM-, SQLite- oder BDB-Datenbanken.
Solange Sie nicht vorhaben, E / A-intensive Software wie eine Datenbank unter erheblicher Last auszuführen, sollten Sie alle in Ordnung sein, solange Sie Ihre Dateisysteme mit der autodefrag
Option mounten .
Um die Fragmentierung von Dateien zu überprüfen, können Sie das Dienstprogramm filefrag verwenden :
$ find /path -type f -exec filefrag {} + >frag.list
# Now you can use your favourite tools to sort the data
Auf Systemd-Systemen /var/log/journal/
wird wahrscheinlich am stärksten fragmentiert sein. Sie können auch ~/.mozilla
Datenbanken anderer Browser anzeigen.
Verwenden Sie zum Defragmentieren:
$ sudo btrfs fi defrag -r /path