web-dev-qa-db-fra.com

ZFS vs XFS

Nous envisageons de créer un serveur de stockage de ~ 16 To. Pour le moment, nous considérons à la fois ZFS et XFS comme système de fichiers. Quels sont les avantages, les inconvénients? Que devons-nous rechercher? Y a-t-il une troisième meilleure option?

64
Tamas Czinege

J'ai trouvé XFS plus adapté aux systèmes de fichiers extrêmement volumineux avec peut-être de nombreux fichiers volumineux. J'ai un système de fichiers XFS de 3,6 To fonctionnel depuis plus de 2 ans maintenant sans aucun problème. Fonctionne certainement mieux que ext3, etc. à cette taille (surtout lorsqu'il s'agit de nombreux fichiers volumineux et de nombreuses E/S).

Ce que vous obtenez avec ZFS, c'est la mise en commun des périphériques, l'entrelacement et d'autres fonctionnalités avancées intégrées au système de fichiers lui-même. Je ne peux pas parler de détails (je laisserai les autres commenter), mais d'après ce que je peux dire, vous voudriez utiliser Solaris pour tirer le meilleur parti d'ici. Je ne sais pas non plus dans quelle mesure ZFS aide si vous utilisez déjà le RAID matériel (comme je le suis).

45
Mark Renouf

ZFS vous donnera des avantages au-delà du RAID logiciel. La structure de commande est très réfléchie et intuitive. Il est également doté de périphériques de compression, d'instantanés, de clonage, d'envoi/réception de système de fichiers et de cache (ces nouveaux disques SSD sophistiqués) pour accélérer l'indexation des métadonnées.

Compression:

#zfs set compression=on filesystem/home

Il prend en charge des instantanés de copie sur écriture simples à monter en direct:

# zfs snapshot filesystem/home/user@tuesday
# cd filesystem/home/user/.zfs/snapshot/tuesday

Clonage du système de fichiers:

# zfs clone filesystem/home/user@tuesday filesystem/home/user2

Envoi/réception du système de fichiers:

# zfs send filesystem/home/user@tuesday | ssh otherserver "zfs receive -v filesystem/home/user"

Envoi/réception incrémentiel:

# zfs send -i filesystem/home/user@tuesday | ssh otherserver "zfs receive -v filesystem/home/user"

Dispositifs de mise en cache:

# zpool add filesystem cache ssddev

Ce n'est que la pointe de l'iceberg, je vous recommande fortement de mettre la main sur une installation d'Open Solaris et de l'essayer.

http://www.opensolaris.org/os/TryOpenSolaris/

Edit : C'est très ancien, Open Solaris a été arrêté, la meilleure façon d'utiliser ZFS est probablement sur Linux , ou FreeBSD .


Divulgation complète: J'étais un architecte de stockage Sun, mais je n'ai pas travaillé pour eux depuis plus d'un an, je suis simplement excité par ce produit.

75
Chris

l'utilisation d'instantanés lvm et de xfs sur des systèmes de fichiers en direct est une recette pour un désastre en particulier lors de l'utilisation de très gros systèmes de fichiers.

Je cours exclusivement sur LVM2 et xfs depuis 6 ans sur mes serveurs (à la maison même depuis que zfs-Fuse est tout simplement trop lent) ...

Cependant, je ne peux plus compter les différents modes de défaillance que j'ai rencontrés lors de l'utilisation d'instantanés. J'ai complètement cessé de les utiliser - c'est tout simplement trop dangereux.

La seule exception que je ferai maintenant est ma propre sauvegarde de serveur de messagerie/serveur Web personnel, où je ferai des sauvegardes de nuit en utilisant un instantané éphémère, qui est toujours égal à la taille du fs source, et est supprimé juste après.

Aspects les plus importants à garder à l'esprit:

  1. si vous avez un gros système de fichiers (ish) qui a un instantané, les performances d'écriture sont horriblement dégradées
  2. si vous avez un gros système de fichiers (ish) qui a un instantané, le temps de démarrage sera retardé de quelques dizaines de minutes tandis que le disque sera en rotation et en rotation pendant l'importation du groupe de volumes. Aucun message ne sera affiché. Cet effet est particulièrement horrible si root est sur lvm2 (car l'attente du périphérique root expirera et le système ne démarrera pas)
  3. si vous avez un instantané, il est très facile de manquer d'espace. Une fois que vous manquez d'espace, l'instantané est corrompu et ne peut pas être réparé.
  4. Les instantanés ne peuvent pas être annulés/fusionnés pour le moment (voir http://kerneltrap.org/Linux/LVM_Snapshot_Merging ). Cela signifie que la seule façon de restaurer des données à partir d'un instantané est de les copier (rsync?). DANGER DANGER: vous ne voulez pas faire cela si la capacité de l'instantané n'est pas au moins la taille de la source fs; Si vous ne le faites pas, vous heurterez bientôt le mur de briques et vous vous retrouverez avec le fs source et l'instantané corrompus. (J'ai été là!)
18
sehe

Quelques choses supplémentaires à penser.

  • Si un disque meurt dans une matrice RAID matérielle, quel que soit le système de fichiers qui se trouve au-dessus, tous les blocs du périphérique doivent être reconstruits. Même ceux qui ne contenaient aucune donnée. ZFS, d'autre part, est le gestionnaire de volume, le système de fichiers et gère la redondance et la répartition des données. Il peut donc reconstruire intelligemment uniquement les blocs qui contenaient des données. Cela se traduit par des temps de reconstruction plus rapides que lorsque le volume est à 100% plein.

  • ZFS a un nettoyage en arrière-plan qui garantit que vos données restent cohérentes sur le disque et répare tous les problèmes qu'il détecte avant de provoquer une perte de données.

  • Les systèmes de fichiers ZFS sont toujours dans un état cohérent, il n'y a donc pas besoin de fsck.

  • ZFS offre également plus de flexibilité et de fonctionnalités avec ses clichés et clones par rapport aux clichés proposés par LVM.

Avoir exécuté de grands pools de stockage pour la production vidéo grand format sur une pile Linux, LVM, XFS. D'après mon expérience, il est facile de tomber dans la micro-gestion de votre stockage. Cela peut entraîner de grandes quantités d'espace alloué inutilisé et de temps/problèmes avec la gestion de vos volumes logiques. Cela peut ne pas être un gros problème si vous avez un administrateur de stockage à temps plein dont le travail consiste à micro-gérer le stockage. Mais j'ai trouvé que l'approche de stockage de pool de ZFS supprime ces problèmes de gestion.

14
3dinfluence

ZFS est absolument incroyable. Je l'utilise comme serveur de fichiers personnel pour un serveur de fichiers HD 5 x 1 TB, et je l'utilise également en production avec près de 32 TB de disques durs). Il est rapide, facile à utiliser et contient une des meilleures protections contre la corruption de données.

Nous utilisons OpenSolaris sur ce serveur en particulier parce que nous voulions avoir accès à des fonctionnalités plus récentes et parce qu'il fournissait le nouveau système de gestion des packages et le moyen de mise à niveau.

8
X-Istence

Je ne pense pas que vous devriez vous concentrer sur la performance. Vos données sont-elles en sécurité avec XFS, ext4, etc.? Non. Lisez ces thèses et articles de recherche:

XFS n'est pas sûr contre la corruption de données: pages.cs.wisc.edu/~vshree/xfs.pdf

Et ni ext3, JFS, ReiserFS, etc.: zdnet.com/blog/storage/how-Microsoft-puts-your-data-at-risk/169?p=169&tag=mantle_skin%3bcontent "Je suis tombé sur la fascinante thèse de doctorat de Vijayan Prabhakaran, IRON File Systems, qui analyse comment cinq systèmes de fichiers de journalisation de produits - NTFS, ext3, ReiserFS, JFS et XFS - gèrent les problèmes de stockage.

En un mot, il a constaté que tous les systèmes de fichiers ont

. . . failure policies that are often inconsistent, sometimes buggy, and generally inadequate in their ability to recover from partial disk failures. "

Mais ZFS protège avec succès vos données. Voici un document de recherche à ce sujet: zdnet.com/blog/storage/zfs-data-integrity-tested/811

7
Miklo

Quel système d'exploitation prévoyez-vous d'exécuter? Ou est-ce une autre partie de la considération? Si vous utilisez Solaris, XFS n'est même pas une option à ma connaissance. Si vous n'exécutez pas Solaris, comment prévoyez-vous d'utiliser ZFS? Le support est limité sur d'autres plateformes.

Si vous parlez d'un serveur Linux, je resterais personnellement avec Ext3, ne serait-ce que parce qu'il reçoit le plus de tests. zfs-Fuse est encore très jeune. De plus, j'ai eu des problèmes avec XFS une fois, lorsqu'un bogue a provoqué une corruption des données après une mise à jour du noyau. Les avantages de XFS par rapport à Ext3 ne dépassaient certainement pas les coûts liés à la restauration de la machine, qui était située dans un centre de données distant.

7
Kjetil Limkjær

Pas une réponse orientée FS désolé, mais sachez qu'un certain nombre de contrôleurs de disque ne traiteront pas> 2 To LUNS/disques logiques - cela peut limiter la façon dont vous organisez votre stockage un peu. Je voulais juste que vous soyez conscients afin que vous puissiez vérifier votre système de bout en bout pour vous assurer qu'il fonctionnera avec 16 To tout au long.

5
Chopper3

Cela dépend des fonctionnalités que vous voulez ..., les deux choix raisonnables sont xfs et zfs comme vous l'avez dit, le code xfs est assez bien testé Je l'ai utilisé il y a 8 ans sous IRIX

Il est possible d'obtenir des instantanés de xfs (en utilisant lvm et xfs_freeze)

Il est possible d'avoir un périphérique de journal séparé, par exemple SSD

mkfs.xfs -l logdev=/dev/sdb1,size=10000b /dev/sda1

Les grands xfs ont traditionnellement besoin de beaucoup de mémoire pour vérifier

Le problème avec l'apparition de zéros était une fonctionnalité de "sécurité", qui, je pense, a disparu il y a un certain temps.

1
James

Mis à part ce qui a déjà été mentionné, du point de vue des performances, xfs sur MD base raid fonctionne mieux que zfs sur les médias en streaming. J'ai utilisé exactement le même matériel pendant une demi-décennie avec xfs et environ le même temps avec zfs sur mon serveur multimédia. Sur Intel Atom 330 avec xfs, je n'ai jamais rencontré d'ordinateur, sur zfs sur des scènes complexes, le même matériel ne peut pas suivre et commence à supprimer des images.

1
user718960

Eh bien les gars, n'oublions pas le dernier ajout à zfs: la déduplication. Et parlons à la volée du partage iscsi, nfs ou smb. Comme d'autres l'ont déjà dit, les exportations de systèmes de fichiers zfs, instantanés, somme de contrôle de bloc raidz (= raid5), largeur de bande dynamique, gestion du cache et bien d'autres. Je vote pour zfs.

0
PiL

Plutôt que de construire le vôtre, une alternative est le Sun 7410 aka Toro. Il contient des logiciels très utiles fournis avec la solution.

0
Jauder Ho