XFS (Dateisystem)
XFS ist ein von der Firma Silicon Graphics (SGI) entwickeltes Journaling-Dateisystem für UNIX-basierte Betriebssysteme wie Linux. Das bis Ende 1994 ausschließlich für IRIX entwickelte 64-Bit-Dateisystem überzeugt vor allem durch eine sehr robuste Struktur und eine sehr gute Geschwindigkeit. In Kreisen vieler Entwickler wird XFS als leistungsfähiger als ReiserFS bezeichnet. Seit dem 1. Mai 2001 ist das Dateisystem auch offiziell für Linux ab Version 2.4 erhältlich. Seit Kernel-Version 2.6 ist es offizieller Bestandtteil des Kernels. XFS bietet ACLs und seit der Version 1.0 unterstützt XFS auch Quotas sowohl für User, als auch für Gruppen.
| Inhaltsverzeichnis |
Eigenschaften von XFS
- 64-Bit Dateisystem
- maximale Dateigröße 9 Exabyte (9 Millionen Terabyte)
- maximale Filesystemgröße 18 Exabyte (18 Millionen Terabyte)
- skalierbare Algorithmen
- Journaling und Zuverlässigkeit
- hohe Leistungsfähigkeit
- spezielle Features
Skalierbarkeit
hoch skalierbare Algorithmen, ausgelegt für:
- sehr große Dateien (einschließlich sparse files)
- sehr viele Dateien
- sehr große Verzeichnisse
- spezielle Algorithmen für hohe Leistung bei sehr grossen Dateissytemen
Journaling und Zuverlässigkeit
- Journaling
- garantierte Dateisystemintegrität --> garantierte Verfügbarkeit
- schnelle Neustarts nach unerwarteten Unterbrechungen, Restartzeit 1 s
- seit Jahren erfolgreich im Einsatz auf Hunderttausenden von IRIX-Systemen
Leistungsfähigkeit
- extrem schnelle Transaktionen
- extrem hohe Bandbreiten
- extrem schnelles Durchsuchen von Verzeichnissen
- extrem schnelle Allozierung von Plattenplatz
Spezielle Features
- GRIO = Guaranteed IO Bandwith (Garantierte IO Bandbreite), speziell für z.B. Streaming (Video) Server
- Unterstützung für Hierarchische Speichersysteme (HSM)
- Unterstützung für Volume Manager
Technische Details
- Blockgrößen von 512 Byte bis 64 KByte
- maximale Größe kontinuierlicher Blöcke: 4 GB
- Verzeichnisstrukturen in B-Trees gespeichert
- verzögerte Allozierung von Plattenspeicher (allocate on write)
- vorauseilende Allozierung von Plattenspeicher (preallocation)
