XFS

XFS ist ein journaling von Silicon Graphics, Inc geschaffenes Hochleistungsdateisystem. Es ist das Verzug-Dateisystem in IRIX-Ausgaben 5.3 und vorwärts und später getragen zum Kern von Linux. XFS ist an parallelem IO wegen gestützten Designs von Gruppe seiner Zuteilung besonders tüchtig. Das ermöglicht äußerste Skalierbarkeit von IO-Fäden, filesystem Bandbreite, Datei und filesystem Größe, wenn es vielfache Speichergeräte abmisst. Eine typische XFS Benutzerseite NASA nutzt Fortgeschrittene Superrechenabteilung diese Fähigkeiten aus, sich zwei 300 + terabyte XFS filesystems auf zwei SGI Altix archivalische Lagerungsserver, jeder direkt beigefügt der vielfachen Faser-Kanalplattenreihe aufstellend.

Geschichte

Silikongrafik hat angefangen, XFS 1993, mit der ersten Aufstellung auf IRIX 5.3 1994 zu entwickeln. Der filesystem wurde laut der GNU-Lizenz der Breiten Öffentlichkeit im Mai 2000 veröffentlicht, und hat zu Linux mit der ersten Vertriebsunterstützung nach Backbord gehalten, die 2001 erscheint. Es ist später verfügbar in fast dem ganzen GNU/Linux Vertrieb geworden.

XFS wurde zuerst in die Hauptstrecke Kern von Linux in der Version 2.4 (2002) verschmolzen, es fast allgemein verfügbar auf Systemen von Linux machend.

Gentoo Linux war ein früher Benutzer durch die Mitte 2002.

Installationsprogramme für den Bogen, Debian, Filzhut, openSUSE, Kate OS, Mandriva, Slackware, Ubuntu, VectorLinux und Vertrieb von Zenwalk Linux das ganze Angebot XFS weil hat eine Wahl von filesystem, aber wenige von diesen den Benutzer XFS für den / schaffen lassen, starten filesystems wegen Mängel und unvorhersehbaren Verhaltens in der MADE, häufig der Verzug bootloader. FreeBSD hat Read-Only-Unterstützung für XFS im Dezember 2005 gewonnen, und im Juni 2006 experimentell schreiben, dass Unterstützung eingeführt wurde; jedoch soll das nur als eine Hilfe in der Wanderung von Linux verwendet, als ein "wichtiger" filesystem nicht verwendet werden werden. Das Rote 64-Bit-Hut-Unternehmen Linux hatte 5.4 Vertrieb 2009 alles Kernunterstützung gebraucht, aber hat Werkzeuge der Befehl-Linie nicht eingeschlossen, um xfs filesystems zu schaffen und zu verwenden. Die Werkzeuge von CentOS haben gearbeitet, oder wurden Kunden auf Anfrage zur Verfügung gestellt. Die 2010-Ausgabe des Roten Hut-Unternehmens Linux 6.0 hat XFS eingeschlossen.

Spezifizierungen

Kapazität

XFS ist ein 64-Bit-Dateisystem. Es unterstützt eine maximale Dateisystemgröße von 8 exbibytes minus ein (d. h. 2-1) Bytes, obwohl das unterworfen ist, um Grenzen zu blockieren, die vom Gastgeber Betriebssystem festgesetzt sind. 32-Bit-Systeme von Linux beschränken sowohl Datei-als auch Dateisystemgröße auf 16 tebibytes.

Journaling

Journaling ist eine Annäherung an das Garantieren der Dateisystemkonsistenz sogar in die Anwesenheit von Macht-Misserfolgen oder Abstürzen. XFS stellt journaling für das Dateisystem metadata zur Verfügung, wo Dateisystemaktualisierungen zuerst einer Serienzeitschrift geschrieben werden, bevor die wirklichen Plattenblöcke aktualisiert werden. Die Zeitschrift ist ein kreisförmiger Puffer von Plattenblöcken, der in der normalen filesystem Operation nie gelesen wird. Die XFS Zeitschrift wird auf eine maximale Größe sowohl von 64k-Blöcken als auch von 128 Mb mit dem minimalen Größe-Abhängigen nach einer Berechnung der Filesystem-Block-Größe und Verzeichnisblock-Größe beschränkt. Das Stellen der Zeitschrift auf einem Außengerät, das größer ist als die maximale Zeitschriftengröße, wird den Extraraum veranlassen, unbenutzt zu sein. Es kann innerhalb der Datenabteilung des filesystem (ein innerer Klotz), oder auf einem getrennten Gerät versorgt werden, um Plattenstreit zu minimieren. Auf XFS enthält die Zeitschrift "logische" Einträge, die an einem hohen Niveau beschreiben, welche Operationen durchgeführt werden (im Vergleich mit einer "physischen" Zeitschrift, die eine Kopie der Blöcke versorgt, die während jeder Transaktion modifiziert sind). Zeitschriftenaktualisierungen werden asynchron durchgeführt, um zu vermeiden, eine Leistungsstrafe zu übernehmen. Im Falle eines Absturzes können Operationen sofort vor dem Unfall mit Daten in der Zeitschrift nochmals getan werden, die XFS erlaubt, Dateisystemkonsistenz zu behalten. Wiederherstellung wird automatisch in der Dateisystemgestell-Zeit durchgeführt, und die Wiederherstellungsgeschwindigkeit ist der Größe des Dateisystems unabhängig.

Zuteilungsgruppen

XFS filesystems werden innerlich in Zuteilungsgruppen verteilt, die geradlinige Gebiete innerhalb des Dateisystems ebenso nach Größen geordnet werden. Dateien und Verzeichnisse können Zuteilungsgruppen abmessen. Jede Zuteilungsgruppe führt seinen eigenen inodes und freien Raum getrennt, Skalierbarkeit und Parallelismus zur Verfügung stellend - vielfache Fäden und Prozesse können Eingabe/Ausgabe-Operationen auf demselben filesystem gleichzeitig durchführen. Diese Architektur hilft, parallele Eingabe/Ausgabe-Leistung auf dem Mehrverarbeiter oder den Mehrkernsystemen zu optimieren, wie metadata Aktualisierungen auch parallelizable sind. Das innere von Zuteilungsgruppen zur Verfügung gestellte Verteilen kann besonders vorteilhaft sein, wenn das Dateisystem vielfache reale Geräte abmisst, optimalen Gebrauch des Durchflusses der zu Grunde liegenden Lagerungsbestandteile berücksichtigend.

Gestreifte Zuteilung

Wenn ein XFS filesystem auf einer gestreiften ÜBERFALL-Reihe geschaffen werden soll, kann eine Einheit des Streifens angegeben werden, wenn das Dateisystem geschaffen wird. Das maximiert Durchfluss durch das Sicherstellen, dass Datenzuteilungen, inode Zuteilungen und der innere Klotz (Zeitschrift) nach der Einheit des Streifens ausgerichtet werden.

Ausmaß hat Zuteilung gestützt

Blöcke, die in Dateien verwendet sind, die auf XFS filesystems versorgt sind, werden mit Ausmaßen der variablen Länge geführt, wo ein Ausmaß einen oder mehr aneinander grenzende Blöcke beschreibt. Das kann die Liste beträchtlich im Vergleich zu Dateisystemen verkürzen, die alle Blöcke verzeichnen, die durch eine Datei individuell verwendet sind. Auch viele Dateisysteme behelfen sich die Raumzuteilung mit einem oder mehr Block hat bitmaps - in XFS orientiert diese Strukturen werden durch die orientierte Struktur eines Ausmaßes ersetzt, die aus einem Paar von B + Bäume für jede filesystem Zuteilungsgruppe (AG) besteht. Einer der B + werden Bäume durch die Länge der freien Ausmaße mit einem Inhaltsverzeichnis versehen, während der andere durch den Startblock der freien Ausmaße mit einem Inhaltsverzeichnis versehen wird. Dieses Doppelindexieren-Schema berücksichtigt hoch effiziente Position von freien Ausmaßen für Dateisystemoperationen.

Variable Block-Größen

Die Dateisystemblock-Größe vertritt die minimale Zuteilungseinheit. XFS erlaubt Dateisystemen, mit Block-Größen geschaffen zu werden, die sich zwischen 512 Bytes und 64 Kilobytes erstrecken, dem Dateisystem erlaubend, für den erwarteten Gebrauch abgestimmt zu werden. Wenn viele kleine Dateien erwartet werden, würde eine kleine Block-Größe normalerweise Kapazität maximieren, aber für ein System, das sich hauptsächlich mit großen Dateien befasst, kann eine größere Block-Größe einen Leistungsvorteil zur Verfügung stellen.

Verzögerte Zuteilung

XFS macht von faulen Einschätzungstechniken für die Dateizuteilung Gebrauch. Wenn eine Datei dem geheimen Pufferlager geschrieben wird, anstatt Ausmaße für die Daten zuzuteilen, bestellt XFS einfach die passende Zahl von Dateisystemblöcken für die im Gedächtnis gehaltenen Daten vor. Die wirkliche Block-Zuteilung kommt nur vor, wenn die Daten schließlich zur Platte gespült werden. Das verbessert die Chance, dass die Datei in einer aneinander grenzenden Gruppe von Blöcken geschrieben wird, Zersplitterungsprobleme reduzierend und Leistung vergrößernd.

Spärliche Dateien

XFS stellt einen spärlichen 64-Bit-Adressraum für jede Datei zur Verfügung, die sowohl für sehr große Dateigrößen, als auch für Löcher innerhalb von Dateien erlaubt, für die kein Speicherplatz zugeteilt wird. Da das Dateisystem eine Ausmaß-Karte für jede Datei verwendet, wird die Dateizuteilungskarte-Größe klein behalten. Wo die Größe der Zuteilungskarte dafür zu groß ist, um innerhalb des inode versorgt zu werden, wird die Karte in einen B + Baum bewegt, der schnellen Zugang zu Daten überall im 64-Bit-Adressraum berücksichtigt, hat für die Datei gesorgt.

Verlängerte Attribute

XFS stellt vielfache Datenströme für Dateien durch seine Durchführung von verlängerten Attributen zur Verfügung. Diese erlauben die Lagerung mehrerer einer Datei beigefügter Paare des Namens/Werts. Namen werden druckfähige Charakter-Schnuren von bis zu 256 Bytes in der Länge ungültig begrenzt, während ihre verbundenen Werte bis zu 64 Kilobytes von binären Daten enthalten können. Sie werden weiter in zwei namespaces unterteilt, und. Verlängerte Attribute, die in der Wurzel namespace versorgt sind, können nur vom Überbenutzer modifiziert werden, während Attribute im Benutzer namespace von jedem Benutzer mit der Erlaubnis modifiziert werden können, der Datei zu schreiben. Verlängerte Attribute können jeder Art von XFS inode, einschließlich symbolischer Verbindungen, Gerät-Knoten, Verzeichnisse usw. beigefügt werden. Das Programm kann verwendet werden, um erweiterte Attribute von der Befehl-Linie, und zu manipulieren, und Dienstprogramme sind von ihnen bewusst und werden unterstützen und ihren Inhalt wieder herstellen. Die meisten anderen Aushilfssysteme sind verlängerter Attribute nicht bewusst.

Direkte Eingabe/Ausgabe

Für Anwendungen, die hohen Durchfluss zur Platte verlangen, stellt XFS eine direkte Eingabe/Ausgabe-Durchführung zur Verfügung, die nichtversteckte Eingabe/Ausgabe direkt userspace erlaubt. Daten werden zwischen dem Puffer der Anwendung und der Platte mit DMA übertragen, der Zugang zur vollen Eingabe/Ausgabe-Bandbreite der zu Grunde liegenden Plattengeräte erlaubt.

Eingabe/Ausgabe der versicherten Rate

Das XFS Eingabe/Ausgabe-System der versicherten Rate stellt eine API zur Verfügung, die Anwendungen erlaubt, Bandbreite zum filesystem vorzubestellen. XFS wird die Leistung dynamisch berechnen, die von den zu Grunde liegenden Speichergeräten verfügbar ist, und wird Bandbreite vorbestellen, die genügend ist, um die gebetene Leistung seit einer festgelegten Zeit zu entsprechen. Diese Eigenschaft ist zum XFS Dateisystem einzigartig. Garantien können hart oder weich sein, einen Handel von zwischen Zuverlässigkeit und Leistung vertretend, obwohl XFS nur harte Garantien erlauben wird, wenn das zu Grunde liegende Lagerungssubsystem es unterstützt. Diese Möglichkeit wird durch Echtzeitanwendungen wie Videoeinteilung am meisten verwendet.

DMAPI

XFS hat die DMAPI-Schnittstelle durchgeführt, um Hierarchisches Lagerungsmanagement in IRIX zu unterstützen. Bezüglich des Oktobers 2010 hat die Durchführung von Linux von XFS den erforderlichen metadata auf der Platte für die DMAPI Durchführung unterstützt, aber die Kernunterstützung war wie verlautet nicht verwendbar. Für einige Zeit hat SGI einen Kernbaum veranstaltet, der die DMAPI-Haken eingeschlossen hat, aber diese Unterstützung ist nicht entsprechend aufrechterhalten worden, obwohl Kernentwickler eine Absicht festgesetzt haben, es zu modernisieren.

Schnellschüsse

XFS stellt direkte Unterstützung für Schnellschüsse nicht zur Verfügung, weil es annimmt, dass der Schnellschuss-Prozess vom Volumen-Betriebsleiter durchgeführt wird. Wenn er einen Schnellschuss eines XFS nimmt, schließt filesystem eiskalte Eingabe/Ausgabe zum filesystem das Verwenden des Dienstprogrammes ein, den Volumen-Betriebsleiter zu haben, führt den wirklichen Schnellschuss und dann das Auftauen der Eingabe/Ausgabe durch, um normale Operationen fortzusetzen. Der Schnellschuss kann dann read-only-zu Aushilfszwecken bestiegen werden. XFS Ausgaben auf IRIX haben sich vereinigt ein einheitlicher Volumen-Betriebsleiter hat XLV gerufen. Dieser Volumen-Betriebsleiter ist zu Arbeiten von Linux und XFS mit normalem LVM stattdessen nicht getragen worden. In neuen Kernen von Linux wird die Funktionalität in der VFS Schicht durchgeführt, und geschieht automatisch, wenn die Volumen-Betriebsleiter-Schnellschuss-Funktionalität angerufen wird. Das war einmal ein wertvoller Vorteil, weil Ext3 System nicht aufgehoben werden konnte und Volumen-Betriebsleiter unfähig war, einen konsequenten 'heißen' Schnellschuss zu schaffen, um eine schwer beschäftigte Datenbank zu unterstützen. Glücklich ist das nicht mehr der Fall. Seit Linux haben 2.6.29 ext3, ext4, gfs2 und jfs die Stopp-Eigenschaft ebenso.

Online-Defragmentierung

Obwohl die Ausmaß-basierte Natur von XFS und der verzögerten Zuteilungsstrategie, die es bedeutsam verwendet, den Dateisystemwiderstand gegen Zersplitterungsprobleme verbessert, stellt XFS ein filesystem Defragmentierungsdienstprogramm zur Verfügung (kurz für XFS filesystem Wiederveranstalter), der defragment die Dateien auf einem bestiegenen und aktiven XFS filesystem kann.

Online in der Größe anzupassen

XFS stellt das Dienstprogramm zur Verfügung, um durchzuführen, online von XFS Dateisystemen in der Größe anzupassen. XFS filesystems kann angebaut werden, vorausgesetzt dass dort unzugeteilter Raum auf dem Gerät bleibt, das den filesystem hält. Diese Eigenschaft wird normalerweise in Verbindung mit dem Volumen-Management, als sonst die Teilung verwendet, die meint, dass der filesystem Vergrößerung getrennt brauchen wird. XFS Teilungen können nicht (bezüglich des Augusts 2010), im Platz zusammenschrumpfen gelassen werden, obwohl mehrere mögliche workarounds besprochen worden sind.

Eingeborener unterstützt Dienstprogramme/wieder herstellt

XFS stellt zur Verfügung, und Dienstprogramme, um in der Unterstützung von Daten zu helfen, haben XFS Dateisysteme festgehalten. Das Dienstprogramm unterstützt einen XFS filesystem in der Inode-Ordnung, und im Gegensatz zu traditionellen UNIX Dateisystemen, die vor dem Abladen unmontiert sein müssen, um ein konsequentes Müllkippe-Image zu versichern, können XFS Dateisysteme abgeladen werden, während das Dateisystem im Gebrauch ist. Das ist nicht dasselbe als ein Schnellschuss, da Dateien während der Müllkippe nicht eingefroren werden. XFS lädt ab und stellt wieder her sind auch resumable, und kann mühelos unterbrochen werden. Die Mehrgewindeoperation dessen stellt hohe Leistung von Aushilfsoperationen durch das Aufspalten der Müllkippe in vielfache Ströme zur Verfügung, die an verschiedene Müllkippe-Bestimmungsörter gesandt werden können. Die Vielstrom-Fähigkeiten sind zu Linux noch jedoch nicht völlig getragen worden.

Atomplattenquoten

Quoten für XFS filesystems, werden wenn am Anfang bestiegen, angemacht; das befestigt ein Rasse-Fenster, das mit den meisten anderen filesystems da ist, die zuerst verlangen, um bestiegen zu werden, und wo keine Quoten beachtet werden, bis quotaon (8) wird genannt.

Leistungsrücksichten

Schreiben Sie Barrieren

XFS filesystems Gestell standardmäßig mit "schreiben, dass Barrieren" ermöglicht haben. Diese Eigenschaft wird das schreiben hintere geheime Lager des zu Grunde liegenden Speichergeräts veranlassen, in passenden Zeiten gespült zu werden, besonders darauf schreiben Operationen dem XFS-Klotz. Diese Eigenschaft ist beabsichtigt, um filesystem Konsistenz zu sichern, und seine Durchführung ist Gerät spezifisch - nicht die ganze zu Grunde liegende Hardware wird Erröten-Bitten des geheimen Lagers unterstützen. Wenn ein XFS filesystem auf einem logischen Gerät verwendet wird, das von einem Hardware-ÜBERFALL-Kontrolleur mit der Batterie zur Verfügung gestellt ist, hat geheimes Lager unterstützt, diese Eigenschaft kann bedeutende Leistungsdegradierung verursachen, weil der Filesystem-Code nicht bewusst ist, dass das geheime Lager unvergänglich ist, und wenn der Kontrolleur die Erröten-Bitten beachtet, werden Daten der physischen Platte öfter geschrieben als notwendig. Um dieses Problem zu vermeiden, wo die Daten im geheimen Gerät-Lager vor dem Macht-Misserfolg oder den anderen Gastgeber-Problemen geschützt wird, sollte der filesystem mit der "nobarrier" Auswahl bestiegen werden.

Zeitschriftenstellen

Standardmäßig XFS werden filesystems mit einem "inneren" Klotz geschaffen, der die filesystem Zeitschrift auf demselben Block-Gerät wie die filesystem Daten legt. Filesystem schreibt werden durch Metadata-Aktualisierungen zur Zeitschrift vorangegangen, die eine Ursache des Plattenstreits sein kann. Unter den meisten Arbeitspensen ist das Niveau des verursachten Streits zu niedrig, um Leistung zusammenzupressen, aber zufällig - schreiben, dass schwere Arbeitspensen, wie diejenigen, die auf beschäftigten Datenbankservern gesehen sind, unter der suboptimalen Leistung infolge dieses Eingabe/Ausgabe-Streits leiden können. Ein zusätzlicher Faktor, der die Strenge dieses Problems vergrößern kann, ist das schreibt der Zeitschrift werden gleichzeitig begangen — sie müssen erfolgreich vollenden, bevor die verbundenen schreiben, dass Operation beginnen kann.

Wo Optimum filesystem Leistung erforderlich ist, stellt XFS die Auswahl zur Verfügung, die Anmeldung eines getrennten realen Gerätes mit seinem eigenen Eingabe/Ausgabe-Pfad zu legen. Das verlangt wenig physischen Raum, und wenn für einen Pfad der niedrigen Latenz gleichzeitig gesorgt werden kann, schreibt, es kann bedeutende Leistungserhöhungen der Operation des filesystem zur Verfügung stellen. Die erforderlichen Leistungseigenschaften machen das einen passenden Kandidaten für den Gebrauch eines Geräts des Halbleiterlaufwerkes (SSD), oder ein ÜBERFALL-System damit schreibt geheimes Lager zurück, obwohl die Letzteren Datensicherheit im Falle Macht-Probleme reduzieren können. Der Gebrauch eines Außenklotzes verlangt einfach, dass der filesystem mit der Auswahl bestiegen wird, ein passendes Zeitschriftengerät anzeigend.

Nachteile

  • Ein XFS Dateisystem kann nicht zusammenschrumpfen gelassen werden.
  • Operationen von Metadata in XFS sind historisch langsamer gewesen als mit anderen Dateisystemen, schlechte Leistung mit Operationen wie Massenauswischen der großen Anzahl von Dateien nachgebend. Dieses metadata Leistungsproblem ist durch den Code gerichtet worden, der durch den Roten Hut XFS Entwickler Dave Chinner geschaffen ist. Die Eigenschaft, eine als "verzögerte Protokollierung bekannte Gestell-Auswahl", vergrößert die Leistung von metadata Operationen um viele Größenordnungen, durch das Stoßen von ihnen fast völlig ins Gedächtnis. Der Fleck wurde in den Hauptstrecke-Kern als eine experimentelle Eigenschaft in 2.6.35 eingeschlossen, ist eine stabile Eigenschaft 2.6.37, und ist die Verzug-Zeitschriftenprotokollierungsmethode in Linux 2.6.39. Die Prüfung durch den Entwickler 2010 hat Leistung gezeigt, um ext4 an niedrigen Faden-Zählungen ähnlich, und als ext4 an hohen Faden-Zählungen höher zu sein.

Siehe auch

Links


Xiangqi / XEmacs
Impressum & Datenschutz