Linux - HDD Defragmentierung

M

McMoneysack91

Gast
Liebe Freunde,

Auf allen meinen Rechnern laufen unterschiedliche Linux.

Debian 11 ext4
OpsenSUSE Leap 15.3 btrfs
Fedora 35 ext4

Auch laufen alle auf 2,5" HDD Festplatten und ich möchte das derzeit nicht ändern. Ich weiß auch, es gibt Meinungen, welche sagen dass man unter Linux nichts zu formatieren braucht. Andere aber denken, dass es doch hin und wieder nötig ist.

Insbesondere unter OpenSUSE merke ich derzeit eine starke Verlangsamung gegenüber einer frischen Installation. Sowohl Bootzeit als auch generelles Verhalten. Grund hierfür ist, dass ich die 400GB große HDD bereits mehrmals komplett voll und leer gemacht habe mit allerlei Dateien, da der Rechnier hier als "Zwischenspeicher" dient. Daher denke ich, dass die starke Fragmentierung dafür verantwortlich ist.


Frage:

Gibt es unter Linux eine Software, welche Defragmentierungen durchführt? Möglichst für alle gängigen Filesystememe (hier ext4 und btrfs).
 
McMoneysack91 schrieb:
Ich weiß auch, es gibt Meinungen, welche sagen dass man unter Linux nichts zu formatieren braucht. Andere aber denken, dass es doch hin und wieder nötig ist.
Doch, auch unter Linux muss man formatieren.

HDD für OS habe ich seit 2007 nicht mehr im Einsatz.
 
btrfs kannst du über die fstab automatisch defragmentieren im Betrieb.
 
Mindestens btrfs macht das eigentlich automatisch, was helfen kann wäre z. B. Dateisystemkomprimierung aktivieren für btrfs.
 
@mkossmann lieben Dank für diesen Wikieintrag. Allerdings liest er sich etwas verwirrend. Verstehe ich das richtig, dass ich zum Kommando einen expliziten Ort benennen muss? Kann ich dann meine gesamte Festplatte anwählen? Also so hier:

sudo btrfs filesystem defragment /dev/sda
 
Das geht doch:

Code:
# btrfs filesystem defragment --help

usage: btrfs filesystem defragment [options] <file>|<dir> [<file>|<dir>...]

    Defragment a file or a directory

    -r                  defragment files recursively

file or directory.... beachte dabei das -r als parameter

Edit: directory = / um es klarer zu machen
 
Wenn ich

sudo btrfs filesystem defragment -r /dev/sda

versuche, erhalte ich die Rückmeldung:

ERROR: Cannot open /dev/sda: invalid argument
Total 1 failures


selbes, wenn ich explizit /dev/sda2 ansteuere.
 
du kannst mit filefrag, auch feststellen ob überhaupt eine fragmentierung vorliegt - für bestimmte dateien

aber das kann im prinzip nur bei besonderen anwendungen passieren oder wenn das datei system ständig nahezu randvoll ist sodass neue dateien keinen zusammenhängend freien speicher mehr finden

defragmentieren im klassischen sinne also alle dateien neu an den plattenanfang sortieren, das gibt es in linux eigentlich gar nicht, die defragmentierlösungen machen nur jede datei einzeln falls diese mehrere fragmente hat die zusammengefasst werden können

"es ist nicht nötig" bezieht sich ja darauf dass altes Windows ganz früher, gar nichts optimiert hat was den Festplatten Zugriff anging heute gibt es Cache, Native Command Queueing, Lesezugriffe werden umsortiert damit der Lesearm der Festplatte möglichst optimal arbeiten kann...

Da bringt das nicht mehr so viel den Unterschied merkst du nicht das muss schon Extrem sein

Bei dem Befehl musst du den Mountpoint angeben nicht das device
 
  • Gefällt mir
Reaktionen: Iapetos, Linuxfreakgraz, Snoop7676 und eine weitere Person
McMoneysack91 schrieb:
Wenn ich

sudo btrfs filesystem defragment -r /dev/sda

versuche, erhalte ich die Rückmeldung:

ERROR: Cannot open /dev/sda: invalid argument
Total 1 failures


selbes, wenn ich explizit /dev/sda2 ansteuere.
Code:
sudo btrfs filesystem defragment -r /

oder anstatt / den Mountpoint von /dev/sda1 2 oder 3.... Du kannst nicht "/dev/sda" zum formatieren angeben, weil du dann Daten über die Partitionen hin und her schieben müsstest.
 
  • Gefällt mir
Reaktionen: Iapetos
xfs_fsr

Nur der Vollständigkeit halber für XFS. Funktioniert tatsächlich nicht unähnlich zu dem, was Windows (seit Vista) auf NTFS-HDD-Volumes macht. Sprich, es wird nacheinander jede Datei vom Algorithmus angesehen, ob sie fragmentiert ist, und Fragmente, die kleiner als irgendwas um die zig MiB sind, werden zusammengefügt. Größere Fragmente spielen auch bei langsamsten HDDs keine nennenswerte Rolle, deswegen wird nicht blind alles angefasst und umsortiert, macht Windows seit Vista auch nicht mehr.
 
  • Gefällt mir
Reaktionen: Iapetos

Ähnliche Themen

M
Antworten
117
Aufrufe
9.225
M
Antworten
24
Aufrufe
2.858
McMoneysack91
M
M
Antworten
6
Aufrufe
2.957
McMoneysack91
M
M
Antworten
6
Aufrufe
2.666
M
Antworten
70
Aufrufe
8.378
McMoneysack91
M
Zurück
Oben