Jede Festplatte ist ein individuelles Verschleißteil. Das wird sich wahrscheinlich auch niemals ändern. Schließlich funktionieren selbst hochmoderne Solid-State-Drives nur wenige Jahre, da die integrierten Speicherzellen lediglich eine bestimmte Anzahl¹ von Schreibvorgängen verkraften. Dafür sind die schnellen Halbleiterlaufwerke völlig wartungsfrei. Ganz im Gegensatz zu mechanischen Plattenspeichern, bei denen vor allem die Lager- und Lesekopfstellmotoren darüber bestimmen, wie lange diese volumenreichen Datenträger noch verlustfrei arbeiten. Um die Lebensdauer von magnetischen Speichermedien zu erhöhen, ist es also hin und wieder empfehlenswert, die sensible Feinmechanik im Laufwerkgehäuse zu entlasten. Dafür gibt es die Defragmentierungsfunktion, die Ubuntu bereits von Haus aus mitbringt.
Bei dieser umfangreichen Datenträgerwartung ordnet das Betriebssystem die Dateien auf einer Festplatte neu an. Ziel dabei ist es, dass verwandte Informationen nach der Defragmentierung lückenlos nebeneinanderliegen. Das verringert dann nicht nur die Latenzzeit, sondern verlängert zudem noch das Leben des stark beanspruchten Aktuatorarms². Schließlich muss dieses hochfragile Bauteil nach der Festplattenbereinigung nicht mehr so weite Wege zurücklegen, um benötigte Elemente auf dem Speichermedium zu finden.
Doch warum ist es nicht möglich, eine Festplatte dauerhaft ohne einen zerstückelten Speicherraum zu betreiben? Das liegt an der Art und Weise, wie Dateisysteme arbeiten. Denn alleine diese imaginären Lagermeister bestimmen darüber, wo und wie ankommende Dateien auf einem Massenspeicher abgelegt werden.
Die Vorteile des Extended File Systems
Ubuntu verwendet standardmäßig das sogenannte ext-Dateisystem, welches ohnehin versucht eine starke Fragmentierung zu vermeiden.
Damit nur wenig Lücken und Bruchstücke auf einem Datenträger entstehen, nutzt der findige Ubuntu-Lagermeister ein intelligentes Puffersystem. Dabei werden die eintreffenden Daten nicht sofort auf die Festplatte geschrieben, sondern erst einmal im Arbeitsspeicher zwischengelagert³.
- Gleichzeitig sucht das ext-Dateisystem auf dem Zielspeichermedium nach freien Datenblöcken, die physikalisch nebeneinanderliegen und die in der Summe so groß sind, dass sie das geparkte Dateivolumen aufnehmen können.
- Sobald der künstliche Lagerist fündig geworden ist, reserviert er die benötigten Sektoren und lässt den eigentlichen Schreibvorgang beginnen.
Im Gegensatz dazu schreibt das Windows-Dateisystem NTFS zu speichernde Informationen sofort in den ersten freien Datenblock, den es finden kann.
On NTFS, data is written to the first open blocks in the path of the head.
Robitza, Werner a.k.a slhck: Why is an Ext4 disk check so much faster than NTFS? superuser.com (02/2018).
Und wenn eine Datei zu groß für eine freie Lücke ist, dann wird diese einfach zerteilt. Das führt wiederum dazu, dass sich auf einem Speichermedium mit NTFS-Dateisystem unzählige verwandte Bruchstücke befinden, die der Aktuatorarm jedes Mal neu zusammensuchen muss, sobald ein Dokument geöffnet oder ein Programm gestartet werden soll.
Es kann dabei passieren, dass eine Datei, in Dutzende Stücke zerteilt, kreuz und quer verstreut auf der Festplatte liegt.
Schieb, Jörg: PC konkret: Rechner beschleunigen und aufräumen. So bekommen Sie Ihren PC flott. Berlin: Stiftung Warentest 2006.
Was erzeugt Fragmente auf einer Festplatte?
Doch auch Ubuntu kommt nicht ohne Bruchstücke aus. Denn leider sorgen vor allem temporäre Dateien⁴ wie E-Mails oder Internetcookies dafür, dass selbst auf ext-Datenträgern zahlreiche kleine Löcher entstehen. Daneben reißen vor allem Programmdeinstallationen große Lücken in die bestehende Dateistruktur.
Die frei gewordenen Speicherräume müssen spätestens dann wieder gefüllt werden, sobald es auf der Festplatte eng wird. In einem solchen Szenario findet der Ubuntu-Lagermeister nämlich nicht mehr ausreichend zusammenhängenden Platz für seine zwischengeparkten Dateien.
- Also muss auch das ext-Dateisystem mit der Zerteilung beginnen, um die zu speichernden Informationen in den verbleibenden Lücken auf dem Datenträger unterzubringen.
Hinweis: Wenn Sie Ihre Festplatten regelmäßig defragmentieren, dann bringen Sie Ihren Lageristen allerdings nie in eine solch missliche Lage. Schließlich werden bei diesem Reinigungsvorgang alle vorhandenen Daten zusammengeschoben, sodass wieder viele aneinanderliegende Datenblöcke frei werden.
Speichermedium unter Ubuntu defragmentieren
Szenario: Bei Linux-Distributionen finden auf der Home-Partition die meisten Datenbewegungen statt. Schließlich sind an diesem Ort sämtliche Anwenderprogramme und E-Mails gespeichert. Dementsprechend möchte ich diesen Teil meiner Festplatte defragmentieren. Dazu muss ich zunächst einmal ein neues Terminal-Fenster öffnen.
df -h
Gleich darauf lasse ich mir sämtliche Partitionen anzeigen, die auf meinem Systemlaufwerk vorhanden sind.
In meinem Fall befindet sich das Home-Verzeichnis auf einer Partition, die von Ubuntu den Namen sda3 bekommen hat. Also baue ich mir zum Starten des Reinigungsprozesses den folgenden Defragmentierungsbefehl zusammen:
sudo e4defrag /dev/sda3
Hinweis: Natürlich müssen Sie das sda3 in diesem Kommando durch Ihre individuelle Datenträgerbezeichnung ersetzen.
Nachdem meine Linux-Distribution die Festplattenwartung erfolgreich durchgeführt hatte, wurde mir in meinem Terminal-Fenster ein kurzer Abschlussbericht angezeigt. Darin teilte mir mein Betriebssystem mit, dass 875 Datensätze nicht verschoben werden konnten. Das ist jedoch völlig normal. In der Regel handelt es sich hierbei um Dateien, die während der Defragmentierung anderweitig in Verwendung waren.
Wichtig: Falls Sie Ihren Datenträger das erste Mal unter Ubuntu defragmentiert haben, dann könnten Sie sich im Anschluss daran fragen, warum dieser Vorgang so schnell vonstattenging.
- Das liegt nicht nur daran, dass das ext-Dateisystem verhältnismäßig wenig Bruchstücke zulässt. Zudem markiert⁵ das smarte Festplattenordnungssystem fortwährend unbenutzte Datenblöcke.
Diese werden während des Aufräumens nicht weiter beachtet, sodass sich der Ubuntu-Lagermeister ausschließlich auf die Fragmentbeseitigung konzentrieren kann. Hingegen bei Microsoft-Betriebssystemen findet die Speicherraumanalyse immer erst vor der Defragmentierung statt, weshalb die Festplattenwartung unter Windows auch viel mehr Zeit in Anspruch nimmt.
Ist das Defragmentieren schädlich für Festplatten?
Um Bruchstücke zu beseitigen und Lücken zu schließen, muss ein Speichermedium kurzzeitig Höchstleistungen vollbringen. Aus diesem Grund sind viele Computernutzer der Meinung, dass die Defragmentierung schädlich für Festplatten sei.
Das Gegenteil ist jedoch der Fall. Wie bereits erwähnt, verlängert die Defragmentierung langfristig das Leben von mechanischen Magnetspeichern, da diese Maßnahme die Abnutzung der inneren Bauteile verringert.
Das Defragmentieren macht die Festplatte somit nicht nur schneller, sondern erhöht auch die Lebenszeit durch geringere Abnutzung.
Aschermann, Tim: SSD defragmentieren: Ist das sinnvoll? chip.de (02/2018).
Hingegen wenn Sie ausschließlich Solid-State-Drives betreiben, dann müssen Sie sich um diese intensive Festplattenwartung keine Gedanken machen. Die elektronischen Speichermedien verfügen nämlich weder über Leseköpfe noch über einen Aktuatorarm, weshalb die Defragmentierung bei diesen schnellen Halbleiterlaufwerken keinen Nutzen bringt.
Verwandte Themen:
Die integrierte WLAN-Karte deaktivieren - so geht’s unter Ubuntu
Sichere Internetsuche: DuckDuckGo im Terminal verwenden
¹Schmidt, Christoph: Langes Leben für HDD & SSD. In: CHIP Nr. 8 (2014). S. 92.
²brainfaqk: Wie funktioniert eine Festplatte? youtube.com (02/2018).
³Diedrich, Oliver: Das Linux-Dateisystem Ext4. heise.de (02/2018).
⁴Müller, Mirko: Festplatte aufräumen. Baar: eload24 GmbH 2006.
⁵Bradley, Tony: Ubuntu Linux, Day 16: EXT4 vs. NTFS. pcworld.com (02/2018).
Herbert Fürst sagt:
Grüß Gott nach Bayern! Ich fahre seit Anfang 2018 mit Ubuntu 16.04 und war mir wegen des Defragmentierens nicht sicher. Klar; ich war auch zuvor 20 Jahre Windows Nutzer. Nunja, Sie haben alle meine Unklarheiten beseitigt. Vielen herzlichen Dank. Alles Gute weiterhin, Herbert Fürst (Schleswig-Holstein).
Eberhard Koch sagt:
Hallo, mit e4defrag kann ich Ext4-Festplatten defragmentieren. Gibt es einen Terminalbefehl, um externe NTFS-Festplatten zu defragmentieren? sudo e4defrag /dev/sdb1 geht nicht! Viele Grüße, Eberhard Koch
Helpdesk sagt:
Hallo Herr Koch, eine sehr gute Frage, die häufig gestellt wird. Ubuntu ist nicht in der Lage, das Microsoft-Dateisystem NTFS zu defragmentieren. Wenn sie kein Windows-Betriebssystem besitzen, dann gibt es auch keinen Grund NTFS zu verwenden.
Tipp: Verlagern Sie die Daten auf Ihrem externen Datenträger. Dann können Sie die leer geräumte Festplatte im Bordmittel „Laufwerke” linuxtauglich partitionieren und formatieren.
Ralf sagt:
Als stiller Leser Ihrer Seite ist es längst überfällig einmal herzlichen Dank zu sagen. Gleichwohl habe ich ein Problem zu lösen.
ralf@ralf-Platte1000GB:~$ sudo e4defrag /dev/sda4
e4defrag 1.45.5 (07-Jan-2020)
Filesystem is not mounted
Daher die Frage: Gibt es eine einfache Lösung für das Einbinden des filesystems?
Vielen Dank im Voraus und mit den besten Grüßen aus dem Norden
Ralf
Helpdesk sagt:
Hallo Ralf, danke fürs Lob. Klicken Sie am linken oberen Bildschirmrand auf das Wort „Aktivitäten” und geben Sie im Suchfeld „Laufwerke” ein. Öffnen Sie das gleichnamige Menü.
In der linken Spalte sind alle Laufwerke aufgeführt, die in Ihrem System installiert sind. Wählen Sie den gewünschten Datenträger mit der linken Maustaste aus. Daraufhin sehen Sie die Partitionierung. Markieren Sie in der mittleren Spalte das gewünschte Dateisystem und klicken Sie direkt im Anschluss auf den Play-Button = nach rechts gekippte Pyramide.
Wiederholen Sie im Anschluss daran den Defragmentierungs-Befehl. Aufgepasst:
funktioniert nur bei Partitionen, die ein ext4-Dateisystem besitzen. Aber das sehen Sie gleich in der Laufwerke-Ansicht.
Viel Erfolg!
PS: Anleitung bezieht sich auf das klassische Ubuntu mit dem Gnome-Desktop.
Matthias sagt:
Hallo zusammen, ich wollte gerade mein Laptop bzw. mein Homeverzeichnis defragmentieren, konnte dies aber nicht finden. Nachfolgend führe ich daher die Ausgabe von df -h auf. Könnt ihr hier weiterhelfen?
Viele Grüße
Dateisystem Größe Benutzt Verf. Verw% Eingehängt auf
udev 7,7G 0 7,7G 0% /dev
tmpfs 1,6G 10M 1,6G 1% /run
/dev/nvme0n1p2 220G 13G 196G 7% /
tmpfs 7,7G 132K 7,7G 1% /dev/shm
tmpfs 5,0M 4,0K 5,0M 1% /run/lock
tmpfs 7,7G 0 7,7G 0% /sys/fs/cgroup
/dev/loop0 128K 128K 0 100% /snap/bare/5
/dev/loop1 17M 17M 0 100% /snap/chromium-ffmpeg/23
/dev/loop2 18M 18M 0 100% /snap/chromium-ffmpeg/24
/dev/loop3 66M 66M 0 100% /snap/gtk-common-themes/1519
/dev/loop4 62M 62M 0 100% /snap/core20/1270
/dev/loop6 111M 111M 0 100% /snap/core/12603
/dev/loop5 248M 248M 0 100% /snap/gnome-3-38-2004/87
/dev/loop7 56M 56M 0 100% /snap/core18/2253
/dev/loop8 249M 249M 0 100% /snap/gnome-3-38-2004/99
/dev/loop9 165M 165M 0 100% /snap/gnome-3-28-1804/161
/dev/loop10 219M 219M 0 100% /snap/gnome-3-34-1804/72
/dev/loop11 51M 51M 0 100% /snap/snap-store/547
/dev/loop12 62M 62M 0 100% /snap/core20/1328
/dev/loop13 55M 55M 0 100% /snap/snap-store/558
/dev/loop14 66M 66M 0 100% /snap/gtk-common-themes/1515
/dev/loop15 56M 56M 0 100% /snap/core18/2284
/dev/loop16 219M 219M 0 100% /snap/gnome-3-34-1804/77
/dev/loop17 100M 100M 0 100% /snap/core/11993
/dev/nvme0n1p1 511M 5,3M 506M 2% /boot/efi
tmpfs 1,6G 40K 1,6G 1% /run/user/1000
matthias@Tux:~$
Helpdesk sagt:
Hallo Matthias! Es sieht so aus, als verwenden Sie einen 250 GB Speicherriegel, der via NVM Express angeschlossen ist. Deshalb weicht die Datenträgerbezeichnung vom SATA-Standard ab.
Das Home-Verzeichnis ist hier inkludiert: /dev/nvme0n1p2. Das ist kein Problem und liegt an der Standardinstallation.