Homepage von
Andreas Juch

Filesystem Defragmentierung

Ist Defragmentierung überhaupt notewendig?

Dateisysteme zu Defragmentieren ist vor allem unter Windows eine Notwendigkeit. Ein frisch defragmentiertes Windows-Dateisystem ist nach der Installation eines neuen Programms oder dem Kopieren von Dateien sofort wieder fragmentiert. Daran hat sich seit DOS nichts grundlegendes geändert.

Die Linux-Dateisysteme (hier vor allem Ext3) sind einen Schritt weiter und Dateien werden, sofern ihre Größe bekannt ist, so geschrieben, dass sie nicht als Fragmente vorliegen. Dabei gibt es allerdings Einschränkungen: ist das Dateisystem zu voll (manche sagen >80%, manche >90%), funktioniert dieses System nicht mehr, da nicht genügend freie Blöcke vorhanden sind. Auch Bittorrent Programme können, sofern Dateien nicht reserviert werden, zur Fragmentierung bei. Einen guten Artikel dazu gibt es bei heise online. Kurz: manchmal muss auch Ext3 defragmentiert werden. Dazu gibt es allerdings keine Software. e2defrag sollte besser nicht benutzt werden (siehe Manpage).

Wie macht man das?

Am einfachsten ist es die Partition zu sichern, neu anzulegen und die Daten zurückzukopieren. Bei normalen Datenpartitionen geht das mit tar (Dateirechte mitsichern!). Für Systemplatten geht das mit cpio recht gut. Ich habe das auch vor kurzem gemacht, hier steht wie:

Den Rechner mit einer Live-CD booten, ich verwende die ausgezeichnete grml 2008.11. Dateisysteme mounten (hier: Root-Dateisystem nach /mnt/rootfs, Backup-Dateisystem nach /mnt/backup), mit cpio alle Dateien auf eine externe Platte oder eine andere Partition sichern (dazu mehr).

Wenn man LVM verwendet, muss man das Volume mit den LVM Tools verfügbar machen:

vgscan
vgchange

Bei Software-RAIDs wird mdadm benötigt:

mdadm --assemble /dev/mdX

Das Sichern:

cd /mnt/rootfs
find -xdev -print0 | cpio --create -0a --format=newc | gzip > /mnt/backup/file.gz
umount /mnt/rootfs

Dann mit mkfs.ext3 (entsprechend dem ursprünglichen Dateisystem) ein frisches Dateisystem anlegen und die Daten zurückkopieren. Die Sicherung erst löschen, wenn man sich von der erfolgreichen Rücksicherung überzeugt hat.

mkfs.ext3 /dev/sda5 /mnt/rootfs
mount /dev/sda5 /mnt/rootfs
cd /mnt/rootfs
zcat /mnt/backup/file.gz | cpio --extract -dm

Natürlich alles unmounten, rebooten und schon sollte die Maschine schneller starten.

Ext4

Bei Ext4 dürfte sich die Fragmentierung durch diverse Maßnahmen ziemlich in Grenzen halten (außerdem soll es ja bald e4defrag geben). Ich habe seit Erscheinen von Kernel 2.6.28 mein Home-Dateisystem auf Ext4 laufen und es scheint wirklich nicht so leicht zu fragmentieren wie Ext3. Wenn die Distributionen Ext4 als Standarddateisystem verwenden, ist es bestimmt eine bessere Wahl als Ext3. Falls man sein Root-Dateisystem ebenfalls auf Ext4 legen möchte, muss man allerdings “folgendes:”http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=494922 beachten.

Nach oben
Letzte Änderung: Fri Jan 21 17:00:17 UTC 2011.
Kommentieren...