Warum Linux nicht defragmentiert werden muss
Wenn Sie ein Linux-Benutzer sind, haben Sie wahrscheinlich gehört, dass Sie Ihre Linux-Dateisysteme nicht defragmentieren müssen. Sie werden auch feststellen, dass Linux-Distributionen keine Dienstprogramme zur Defragmentierung enthalten. Aber warum ist das so??
Um zu verstehen, warum Linux-Dateisysteme bei normaler Verwendung nicht defragmentiert werden müssen - und Windows-Systeme -, müssen Sie verstehen, warum Fragmentierung auftritt und wie Linux- und Windows-Dateisysteme sich voneinander unterscheiden.
Was ist Fragmentierung?
Viele Windows-Benutzer, selbst unerfahrene, glauben, dass eine regelmäßige Defragmentierung ihrer Dateisysteme ihren Computer beschleunigen wird. Was viele nicht wissen, ist, warum das so ist.
Kurz gesagt, auf einem Festplattenlaufwerk befinden sich mehrere Sektoren, von denen jeder ein kleines Datenstück enthalten kann. Dateien, insbesondere große, müssen in einer Reihe verschiedener Sektoren gespeichert werden. Angenommen, Sie speichern eine Reihe verschiedener Dateien in Ihrem Dateisystem. Jede dieser Dateien wird in einem zusammenhängenden Cluster von Sektoren gespeichert. Später aktualisieren Sie eine der ursprünglich gespeicherten Dateien, um die Dateigröße zu erhöhen. Das Dateisystem versucht, die neuen Teile der Datei direkt neben den Originalteilen zu speichern. Wenn nicht genügend freier Raum zur Verfügung steht, muss die Datei in mehrere Teile aufgeteilt werden - dies geschieht transparent für Sie. Wenn Ihre Festplatte die Datei liest, müssen die Köpfe zwischen verschiedenen physischen Positionen auf der Festplatte springen, um jeden Teil der Sektoren lesen zu können. Dies verlangsamt die Arbeit.
Das Defragmentieren ist ein intensiver Prozess, bei dem die Bits der Dateien verschoben werden, um die Fragmentierung zu reduzieren. Dabei wird sichergestellt, dass jede Datei auf dem Laufwerk zusammenhängend ist.
Bei Solid-State-Laufwerken, die keine beweglichen Teile haben und nicht defragmentiert werden sollten, ist dies natürlich anders. Die Defragmentierung einer SSD verringert die Lebensdauer. Bei den neuesten Windows-Versionen müssen Sie sich keine Gedanken über die Defragmentierung Ihrer Dateisysteme machen - Windows erledigt dies automatisch für Sie. Weitere Informationen zu Best Practices für die Defragmentierung finden Sie in diesem Artikel:
HTG erklärt: Müssen Sie Ihren PC wirklich defragmentieren??
Funktionsweise von Windows-Dateisystemen
Das alte FAT-Dateisystem von Microsoft - das letzte Mal standardmäßig unter Windows 98 und ME zu sehen ist, obwohl es heute noch auf USB-Flash-Laufwerken verwendet wird - versucht nicht, Dateien intelligent zu ordnen. Wenn Sie eine Datei in einem FAT-Dateisystem speichern, wird sie so nahe wie möglich am Anfang der Festplatte gespeichert. Wenn Sie eine zweite Datei speichern, wird sie direkt nach der ersten Datei gespeichert - und so weiter. Wenn die Originaldateien größer werden, werden sie immer fragmentiert. Es gibt keinen Platz in der Nähe, in den sie hineinwachsen könnten.
Etwas klüger zu sein scheint das neuere NTFS-Dateisystem von Microsoft, das unter Windows XP und 2000 seinen Weg auf Consumer-PCs fand. Es weist mehr Speicherplatz für die Pufferung von Dateien auf dem Laufwerk zu. Allerdings können NTFS-Dateisysteme mit der Zeit immer noch fragmentiert werden.
Aufgrund der Funktionsweise dieser Dateisysteme müssen sie defragmentiert werden, um die Spitzenleistung zu erhalten. Microsoft hat dieses Problem gemildert, indem der Defragmentierungsprozess im Hintergrund unter den neuesten Windows-Versionen ausgeführt wurde.
Wie funktionieren Linux-Dateisysteme?
Die Dateisysteme ext2, ext3 und ext4 von Linux - ext4 ist das von Ubuntu und den meisten anderen Linux-Distributionen verwendete Dateisystem - ordnet Dateien intelligenter zu. Anstatt mehrere Dateien auf der Festplatte nebeneinander zu platzieren, verteilen Linux-Dateisysteme verschiedene Dateien auf der gesamten Festplatte, sodass viel freier Speicherplatz zwischen ihnen verbleibt. Wenn eine Datei bearbeitet wird und vergrößert werden muss, ist in der Regel genügend freier Speicherplatz für die Datei vorhanden. Bei einer Fragmentierung versucht das Dateisystem, die Dateien zu verschieben, um die Fragmentierung bei normaler Verwendung zu reduzieren, ohne dass ein Defragmentierungsprogramm erforderlich ist.
Aufgrund der Funktionsweise dieses Ansatzes sehen Sie eine Fragmentierung, wenn Ihr Dateisystem voll ist. Wenn es zu 95% (oder sogar zu 80%) voll ist, wird eine Fragmentierung sichtbar. Das Dateisystem ist jedoch so ausgelegt, dass eine Fragmentierung bei normaler Verwendung vermieden wird.
Wenn Sie Probleme mit der Fragmentierung unter Linux haben, benötigen Sie wahrscheinlich eine größere Festplatte. Wenn Sie tatsächlich ein Dateisystem defragmentieren müssen, ist der wahrscheinlich einfachste Weg der zuverlässigste: Kopieren Sie alle Dateien von der Partition, löschen Sie die Dateien von der Partition und kopieren Sie die Dateien dann wieder auf die Partition. Das Dateisystem ordnet die Dateien beim Kopieren auf die Festplatte intelligent zu.
Sie können die Fragmentierung eines Linux-Dateisystems mit dem Befehl fsck messen - suchen Sie in der Ausgabe nach "nicht zusammenhängenden Inodes".