Hallo gary,
Das Problem dabei ist: Damit das zuverlässig funktioniert, muss eine Mindestmenge an freien Speicher auf der Partition vorhanden sein (ich habe mal 15% gelesen
Das ist auch unter Windows so. Ist zu wenig Speicher übrig, streikt das Defragmentierungsprogramm.
Nein, mir ging's nicht ums Defragmentierungsprogramm, sondern um den Kern selbst. Wenn (wie gesagt, über die Zahl bin ich mir nicht ganz sicher) soundsoviel Prozent des Speichers noch frei sind, dann fängt Linux gar nicht an, merklich zu fragmentieren, d.h. nur wenn man Platten "bis zum Anschlag" befüllt hat man damit Probleme.
Zudem ist zu beachten, dass Fragmentierung den größen von Puffern und Speicher-Caches heutzutage ein viel geringeres Problem darstellt, als zum Beispiel noch zu DOS/Windows 95-Zeiten.
Das verstehe ich nicht ganz. Wenn Magnetpunkte die eigentlich zu einem ganzen Datensatz (Datei) gehöhren , über die Festplattenscheibe verstreut angeordnet sind, dann ändert doch auch ein Puffer nichts daran, dass die "Scheibe" sich öfters drehen und der Lese/Schreibarm seine Position öfters ändern muss.
Ja, beim ersten Auslesen, d.h. beim Hochfahren des Systems. Aber wenn Du eine Datei häufig brauchst, dann muss diese heutzutage gar nicht mehr von der Festplatte gelesen werden (genügend RAM vorausgesetzt), sondern bleibt im Speicher. Dann ist es relativ egal, wie stark die Festplatte fragmentiert.
Zudem: Beim Schreiben einer Datei kann im RAM erstmal gesammelt werden, bevor sie geschrieben wird. Damit kann unter Umständen vorher erkannt werden, wie groß eine Datei in etwa werden soll - zumindest bei kleinen Blockgrößen. Fragmentierung ist ja sowieso nur dann interessant, wenn vor allem in sehr kleine Brocken aufgeteilt wird. Wenn Du eine 4 GiB große Datei hast (z.B. einen großen Film) und der ist in 5 oder 6 große Brocken aufgeteilt, dann fällt das gar nicht auf. Wenn Du aber Dateien der Größenordnung 100 KiB in 5 oder 6 Brocken aufteilst, _dann_ merkst Du es. Und wenn der Kernel zumindest dafür sorgen kann, dass die Fragmente eine Mindestgröße haben, dann fällt das lange nicht so ins Gewicht.
Wobei Du unter Linux sowieso keine Möglichkeit hast, Dein Dateisystem zu defragmentieren.
Oha, das wäre dann eher ein Grund gegen Linux. Kein zuverlässiges Notarztprogramm?
Wieso Notarzt? Ein fragmentiertes Dateisystem funktioniert doch auch noch genauso, da muss man nichts reparieren. Ein "Notarztprogramm" wäre ein Programm, das ein beschädigtes Dateisystem repariert - und die gibt es, funktionieren auch zuverlässig.
Und wie gesagt: Wenn Du die Platte nicht randvoll machst, brauchts Du unter Linux kein Defragmentierungsprogramm (kann ich aus eigener Erfahrung auch bestätigen), unter neueren Windows angeblich auch nicht.
Ich habe das im Netz gefunden:
ext2, ext3 linux
JFS, Journaled Files System, AIX
UFS, Unix File System, SUN
CDRFS, CDROM File System
NFS, Network File System, ursprünglich SUN
DFS, Distributed File System, viele Hersteller
SAMBA, SMB-Fileserver, NTFS (NT, Windows/2000),
Sind das Systeme, aus denen ich wählen kann worauf ich Linux instaliere (Ubunthu)? Oder Laufen verschiedene Systeme gleichzeitig unter Linux.
Oh, da wirfst Du aber EINIGES durcheinander. Zuerst einmal gibt es physikalische Dateisysteme, die Du tatsächlich auf ein Medium packst. Dazu zählen FAT, NTFS, ext2, ext3, ReiserFS, JFS, XFS, ISO96660, UDF, UFS, HFS, HFS+ und noch viele mehr. Dann gibt es Netzwerkdateisysteme, d.h. Möglichkeiten, Dateien über das Netzwerk anzusprechen. Unter Linux wird dies über einen Dateisystemtreiber realisiert (daher NFS, AFS, NCPFS, smbfs, CIFS, ...), unter Windows funktioniert das etwas anders.
Linux kann man auf eine ganze Menge von Dateisystemen installieren. Einige davon bieten sogenanntes "Journaling", was im Endeffekt eine erhöhte Sicherheit bedeutet, wenn der Server mal crasht (vor allem muss dann das Dateisystem nicht komplett geprüft werden beim nächsten Hochfahren, es reicht, wenn nur bestimmte Teile analysiert werden, was enorm Zeit spart).
Linux installiert man heutzutage typischerweise auf entweder ext2, ext3, ReiserFS, XFS oder JFS. Andere Dateisysteme sind möglich, allerdings nicht gebräuchlich. ext3, ReiserFS, XFS und JFS können alle Journaling; ext3 ist kompatibel zu ext2 (lies: ein intaktes ext3-Dateisystem kann man auch mit einem ext2-Treiber ansprechen, halt nur ohne Journaling) und bietet eigentlich "nur" Journaling als Extra-Feature.
Ferner gibt es unter Linux noch Treiber für andere Dateisysteme wie NTFS, FAT, UFS oder auch Netzwerkdateisysteme wie NFS. Einige dieser Dateisysteme können nur gelesen werden oder es wird nur rudimentäre Schreibunterstützung geboten (zum Beispiel bei NTFS).
Was ich auch noch gelesen habe: Unter Linux kann man mehrere Platten (HDD) als einzelnes Laufwerk einrichten. Also ist eine HDD fast voll, hängt man einfach ne neue dazu. Das stell ich mi praktisch vor.
Das geht (Stichwort "linear md"), allerdings hat das den großen Nachteil, dass wenn eine Platte ausfällt, potentiell eine Menge Daten verloren sind (und nachdem Dateisysteme idR. nicht auf so einen Betrieb ausgelegt sind, dürfte das wiederherstellen selbst nur eines Teils der Daten schwierig werden). Zwar immer noch besser als RAID-0 oder striping md, bei dem alle Daten weg sind, aber nicht wirklich empfehlenswert. Zudem: Das Dateisystem muss dann trotzdem vergrößert werden, auch wenn Du die Platte anhängst - DAS geht mit den meisten Linux-Dateisystemen allerdings auch im laufenden Betrieb.
Viele Grüße,
Christian