XFS

Le XFS est un système à rendement élevé de fichier journal de créé par le Silicon Graphics , à l'origine pour leur du système d'exploitation du IRIX et plus tard mis en communication au grain de Linux de .

Histoire

XFS est (avec JFS ) parmi les systèmes les plus anciens de fichier journal de disponibles pour des systèmes d'UNIX, et a un codebase mûr, stable et bien-corrigé. Le développement de XFS a été commencé par le Silicon Graphics , en 1993, avec le premier déploiement étant vu sur IRIX 5. Le système de fichiers a été libéré sous le permis de grand public de GNU de en mai 2000, et mis en communication au Linux, avec le premier appui de distribution apparaissant dans 2001/2002. Il est disponible dans presque toutes les distributions de Linux aujourd'hui, à l'exception notable de Red Hat Enterprise Linux.

XFS a été fusionné dans le Linux mainline des grains de 2.25, quand le Marcelo Tosatti l'a jugé assez écurie) et 2.6 de , la rendant presque universellement disponible sur des systèmes de Linux. Les programmes d'installation pour le SUSE , le Gentoo , le Mandriva , le Slackware , l'OS de Kate de , le Zenwalk , le VectorLinux , le Ubuntu et les distributions tout de Linux de de Debian offrent XFS comme choix de système de fichiers. Le soutien inaltérable reçu par de FreeBSD de de XFS en décembre 2005 et en juin 2006 expérimental écrivent l'appui a été présenté au choix de laisux du chapeau feutré de FreeBSD-7.0-CURRENT de XFS pendant l'installation, cependant pour des dégagements avant le chapeau feutré 8, le choix est seulement évident pendant la division si XFS est demandé, l'une ou l'autre en dactylographiant des xfs de Linux de `' en initialisant au commencement des médias optiques, ou en incluant XFS dans le code de pxelinux pour complètement réseau-initialisé installer : vmlinuz de grain apposer les xfs initrd=initrd.img

Caractéristiques

Capacité

XFS est un système de fichiers 64-bit du . Il soutient une taille maximum de système de fichiers 8 du Exabytes bien que ce soit sujet à des limites de bloc imposées par l'hôte du système d'exploitation. Sur les systèmes à 32 bits de Linux du , ceci limite les tailles de dossier et de système de fichiers à 16 Terabyte

Tourillonnement

Le inscrivant est une approche à garantir l'uniformité de système de fichiers même en présence des pannes de courant ou des arrêts du système. XFS fournit le tourillonnement pour des méta-données de système de fichiers, où les mises à jour de système de fichiers sont des premières écrites à un journal périodique avant que les blocs réels de disque soient mis à jour. Le journal est un amortisseur circulaire des blocs de disque qui n'est jamais dedans lue opération normale de système de fichiers. Il peut être stocké dans la section de données du système de fichiers (une notation interne), ou sur un dispositif séparé pour réduire au minimum la controverse de disque. Sur XFS le journal contient les entrées « logiques » qui décrivent à un à niveau élevé quelles opérations sont effectuées (par opposition à un journal « physique » qui stocke une copie des blocs modifiés pendant chaque transaction). Des mises à jour de journal sont exécutées asynchrone pour éviter d'encourir une pénalité d'exécution. En cas d'un arrêt du système, des opérations immédiatement avant l'accident peuvent être refaites using des données dans le journal, qui permet à XFS de maintenir l'uniformité de système de fichiers. Le rétablissement est exécuté automatiquement au temps de bâti de système de fichiers, et la vitesse de rétablissement est indépendant de la taille du système de fichiers. Là où des données récemment modifiées n'ont pas été rincées au disque avant un arrêt du système, XFS s'assure que tous les blocs de données non écrits sont mis à zéro sur la remise à zéro, obviant à n'importe quels problèmes de sécurité possibles résultant des données résiduelles loin pendant que l'accès par l'interface de système de fichiers est concerné, à la différence d'accéder au périphérique brut ou au matériel cru.

Groupes d'attribution

Des systèmes de fichiers de XFS sont intérieurement divisés dans les groupes d'attribution de , qui sont des régions linéaires également classées dans le système de fichiers. Les dossiers et les annuaires peuvent enjamber des groupes d'attribution. Chaque groupe d'attribution contrôle ses propres noeuds d'index et espace libre séparément, fournissant le &mdash d'évolutivité et de parallélisme ; le multiple filète et les processus peuvent effectuer des opérations d'entrée-sortie sur le même système de fichiers simultanément. Cette architecture aide à optimiser l'exécution parallèle d'entrée-sortie sur le multiprocesseur ou les systèmes multinucléaires, car les mises à jour de méta-données sont également parellelisable. La division interne fournie par des groupes d'attribution peut être particulièrement salutaire quand les systèmes de fichiers enjambe les dispositifs physiques multiples, tenant compte de l'utilisation optimale de la largeur de bande des composants fondamentaux de stockage.

Attribution rayée

Si un système de fichiers de XFS doit être créé sur une rangée de RAID , une unité de la raie peut être spécifiée quand le système de fichiers est créé. Ceci maximise la sortie en s'assurant que des attributions de données, les attributions du noeud d'index et la notation interne (journal) sont alignées avec l'unité de raie.

L'ampleur a basé l'attribution

Des blocs utilisés dans les dossiers stockés sur des systèmes de fichiers de XFS sont contrôlés avec les ampleurs de longueur variable où une ampleur décrit un ou plusieurs blocs contigus. Ceci peut raccourcir la liste considérablement comparée aux systèmes de fichiers qui énumèrent tous les blocs employés par un dossier individuellement. Également beaucoup de systèmes de fichiers contrôlent l'attribution d'espace avec le &mdash d'une ou plusieurs cartes binaires orienté par bloc ; dans XFS ces structures sont remplacées par une structure orientée par ampleur se composant d'une paire d'arbres du B+ pour chaque groupe d'attribution de système de fichiers (AG). Un des arbres du B+ est indexé par la longueur des ampleurs libres, alors que l'autre est indexé par le bloc commençant des ampleurs libres. Cet arrangement duel d'indexation tient compte de l'endroit très efficace des ampleurs libres pour des opérations de système de fichiers.

Longueurs de bloc variables

La longueur de bloc de système de fichiers représente l'unité d'attribution minimum. XFS permet à des systèmes de fichiers d'être créés avec des longueurs de bloc s'étendant entre 512 bytes et 64 kilo-octets, permettant au système de fichiers d'être accordé pour l'usage prévu. Là où un grand nombre de petits dossiers doit être prévu, une petite longueur de bloc serait typiquement employée pour maximiser la capacité, mais pour un système traitant principalement de grands dossiers, une plus grande longueur de bloc peut fournir un avantage d'exécution.

Attribution retardée

voient également :

l'attribution retardé par

XFS se sert des techniques d'évaluation paresseuse pour la réservation de place pour un fichier. Quand un dossier est écrit au cache tampon, plutôt qu'assignant des ampleurs pour les données, XFS réserve simplement le nombre approprié de blocs de système de fichiers pour les données contenues dans la mémoire. L'attribution réelle de bloc se produit seulement quand les données sont finalement rincées au disque. Ceci améliore la chance que le dossier sera écrit dans un groupe contigu de blocs, réduisant des problèmes de la fragmentation et augmentant l'exécution.

Dossiers clairsemés

XFS fournit un espace d'adressage clairsemé 64-bit pour chaque dossier, qui laisse tous les deux pour des tailles de fichier de fichier très grandes, et pour les trous de dans les dossiers pour lesquels aucun espace disque n'est assigné. Car le système de fichiers emploie une carte d'ampleur pour chaque dossier, la taille de carte de réservation de place pour un fichier est maintenue petite. Là où la taille du relevé d'implantation est trop grande pour qu'elle soit stockée dans le noeud d'index , la carte est entrée dans un arbre du B+ qui tient compte d'à accès rapide aux données n'importe où dans l'espace d'adressage 64-bit donné pour le dossier.

Attributs prolongés

XFS fournit des trains de données de données multiples pour des dossiers par son exécution des attributs prolongés. Ceux-ci permettent le stockage d'un certain nombre de paires de nom/valeur attachées à un dossier. Les noms sont des chaînes de caractères imprimables terminées nulles de jusqu'à 256 bytes de longueur, alors que leurs valeurs associées peuvent contenir jusqu'à 64Kb des données binaires. Ils sont encore subdivisés en deux namespaces, root et user. Des attributs prolongés stockés dans le namespace de racine peuvent être modifiés seulement par le super-utilisateur, alors que des attributs dans le namespace d'utilisateur peuvent être modifiés par n'importe quel utilisateur avec la permission d'écrire au dossier. Des attributs prolongés peuvent être attachés à n'importe quel genre de noeud d'index de XFS, y compris des liens symboliques, des noeuds de dispositif, des annuaires, etc. Le programme de attr peut être employé pour manoeuvrer des attributs prolongés de la ligne de commande, et les utilités de xfsdump et de xfsrestore se rendent compte de eux et de secours et restauration leur contenu. La plupart des autres réseaux de réserve ne sont pas attribut prolongé averti.

Entrée-sortie directe

Pour des applications exigeant la sortie élevée au disque, XFS fournit une exécution directe d'entrée-sortie qui permet l'entrée-sortie non cachée directement à l'userspace. Des données sont transférées entre l'amortisseur de l'application et le disque using le DMA , qui permet l'accès à la pleine largeur de bande d'entrée-sortie des dispositifs fondamentaux de disque.

Entrée-sortie de taux garanti

Le système d'entrée-sortie de taux garanti de XFS fournit un api qui permet à des applications de réserver la largeur de bande au système de fichiers. XFS calculera dynamiquement l'exécution fournie par les dispositifs de stockage fondamentaux, et réservera la largeur de bande suffisamment pour rencontrer l'exécution demandée pendant un temps spécifique. Ce dispositif est unique au système de fichiers de XFS. Les garanties peuvent être le dur ou le doux, représentant une différence entre la fiabilité et l'exécution, bien que XFS permette seulement à des garanties dures de si le sous-système fondamental de stockage le soutient. Ce service est plus employé par des applications en temps réel, telles que vidéo-couler.

DMAPI

XFS met en application l'interface du DMAPI pour soutenir la gestion de la mémoire externe hiérarchique . Tandis que cette fonctionnalité a été mise en communication aux réalisations de Linux de XFS, ce n'est pas encore une partie de la source mainline de grain de Linux.

Instantanés

XFS ne fournit pas l'appui direct pour des instantanés, car il s'attend à ce que le processus d'instantané soit mis en application par le directeur de volume. La prise d'un instantané d'un système de fichiers de XFS implique de geler l'entrée-sortie au système de fichiers using l'utilité de xfs_freeze, en ayant le directeur de volume effectuer l'instantané réel, et l'entrée-sortie dégelante alors pour reprendre des opérations normales. L'instantané peut alors être inaltérable monté pour des buts de secours. Les dégagements de XFS sur IRIX ont incorporé un directeur integrated de volume appelé le XLV. Ce directeur de volume n'a pas été mis en communication au Linux. Aux grains récents de Linux, la fonctionnalité de xfs_freeze est mise en application dans la couche de VFS, et se produit automatiquement quand la fonctionnalité de l'instantané du directeur de volume est appelée.

Defragmentation en ligne

Bien que la nature basée par ampleur de XFS et de la stratégie d'attribution retardée qu'elle a employée améliore de manière significative la résistance du système de fichiers aux problèmes de fragmentation, XFS fournisse une utilité du Defragmentation de système de fichiers (xfs_fsr, abréviation le reorganizer de système de fichiers de XFS) qui peut defragment un système de fichiers monté et actif de XFS. Noter que xfs_fsr est habituellement une partie du paquet de xfsdump, pas xfsprogs.

En ligne remettant à la côte

XFS fournit l'utilité de xfs_growfs pour exécuter remettre à la côte en ligne des systèmes de fichiers de XFS. Des systèmes de fichiers de XFS peuvent être développés ont fourni là est l'espace non affecté restant sur le dispositif tenant le système de fichiers. Ce dispositif est typiquement employé en même temps que la gestion de volume, comme autrement la cloison tenant le système de fichiers aura besoin agrandir séparément.

Utilités indigènes de secours/restauration

XFS fournit les utilités de xfsdump et de xfsrestore à l'aide dans le support des données contenues sur des systèmes de fichiers de XFS. L'utilité de xfsdump soutient un système de fichiers de XFS dans l'ordre du noeud d'index , et contrairement aux systèmes de fichiers traditionnels d'UNIX qui doivent être non montés avant le dumping pour garantir une image cohérente de décharge, des systèmes de fichiers de XFS peuvent être vidés tandis que le système de fichiers est en service. XFS vide et les restaurations sont également resumable, et peuvent être interrompues sans difficulté. L'opération multifil de xfsdump fournit la haute performance des opérations de secours en dédoublant la décharge dans les jets multiples, qui peuvent être envoyés à différentes destinations de décharge. Les possibilités multi de jet n'ont pas été entièrement mises en communication au Linux encore, cependant.

Inconvénients


là est aucun reprennent l'utilité pour XFS
Un système de fichiers de XFS ne peut pas être rétréci
La création et la suppression des entrées de répertoire est une opération beaucoup plus lente de méta-données que d'autres systèmes de fichiers.

Voir également

Liste de des systèmes de fichiers
Comparaison de des systèmes de fichiers
CXFS , la forme groupée de XFS

.

Random links:Gaz à effet de serre | Len Murray | Film rose | Isopropyle | Julio Carreras (h) | XFS