77 votes

ZFS vs XFS

Nous envisageons de construire un serveur de stockage d'environ 16 To. En ce moment, nous envisageons à la fois ZFS et XFS comme systèmes de fichiers. Quels sont les avantages, les inconvénients? Sur quoi devons-nous nous concentrer? Y a-t-il une troisième option meilleure?

8 votes

Ne les comparez même pas. ZFS est un système de fichiers de niveau entreprise moderne comme jfs2, wafl. XFS était bon il y a 10 ans mais aujourd'hui c'est juste un système de fichiers de l'âge de pierre.

0 votes

Dans certains cas, vous ne pouvez pas les comparer : XFS est un système de fichiers ; ZFS est un système de fichiers et bien plus encore : il remplace le système de fichiers, le gestionnaire de volume (comme LVM) et le RAID en plus. Cependant, JFS n'est plus maintenu si ma mémoire est bonne : en revanche, XFS est actif, maintenu et robuste. De toute façon - ZFS ou XFS - à mon avis, vous ne pouvez pas vous tromper.

3 votes

Je pense toujours que cette question est pertinente, donc je vais écrire notre expérience ici : XFS est simple, vous l'installez, vous le lancez, c'est rapide, ça fonctionne. (RAID matériel ci-dessous). ZFS est sûr, a la compression, mais demande beaucoup de travail pour être ajusté et fonctionner aussi rapidement que XFS. Donc, cela dépend également de la situation dans laquelle vous attendez que le serveur fonctionne. (arrière-plan du cluster, stockage utilisateur, archives, ...).

79voto

realcals Points 597

ZFS vous offrira des avantages au-delà du RAID logiciel. La structure de commande est très bien conçue et intuitive. Il prend également en charge la compression, les instantanés, les clones, l'envoi/réception de système de fichiers, et les périphériques de cache (ces nouveaux lecteurs SSD sophistiqués) pour accélérer l'indexation des métadonnées.

Compression :

#zfs set compression=on filesystem/home

Il prend en charge la création simple d'instantanés de copie sur écriture qui peuvent être montés en direct :

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

Clonage de système de fichiers :

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

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

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

Envoi/réception incrémental :

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

Périphériques de cache :

# zpool add filesystem cache ssddev

Tout cela n'est que la partie émergée de l'iceberg, je recommande vivement de mettre la main sur une installation d'Open Solaris et d'essayer cela.

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

Édition : Ceci est très ancien, Open Solaris a été abandonné, la meilleure façon d'utiliser ZFS est probablement sur Linux, ou FreeBSD.


Divulgation complète : J'étais autrefois architecte de stockage chez Sun, mais je n'ai pas travaillé pour eux depuis plus d'un an, je suis juste enthousiaste à propos de ce produit.

0 votes

Ce lien n'a pas fonctionné pour moi avec www. Utilisez http://opensolaris.org/os/TryOpenSolaris/

0 votes

Je dirais en fait que le meilleur choix pour zfs est toujours FreeBSD. Il fait partie du système depuis quelques années déjà. Donc, j'imagine qu'il y a moins de chances de mauvaises surprises. Bien que ce ne soit que mon avis.

54voto

Dan Herbert Points 38336

J'ai trouvé XFS mieux adapté aux systèmes de fichiers extrêmement grands avec éventuellement de nombreux fichiers volumineux. J'ai eu un système de fichiers XFS de 3,6 To fonctionnel depuis plus de 2 ans maintenant sans aucun problème. Ça fonctionne définitivement mieux que ext3, etc. à cette taille (surtout lorsqu'il s'agit de nombreux fichiers volumineux et beaucoup d'I/O).

Ce que vous obtenez avec ZFS, ce sont le regroupement de périphériques, le striping 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 d'autres commenter), mais d'après ce que je peux dire, vous voudriez utiliser Solaris pour tirer le meilleur parti d'ici. Il n'est pas non plus clair pour moi dans quelle mesure ZFS aide si vous utilisez déjà un RAID matériel (comme c'est mon cas).

39 votes

La fonction clé de ZFS que vous ne trouvez généralement pas ailleurs est le CRC au niveau du bloc, censé détecter (et espérons-le, prévenir) la corruption silencieuse des données. La plupart des systèmes de fichiers partent du principe qu'une écriture réussie signifie que les données ont effectivement été écrites sur le disque. Ce n'est pas toujours le cas, surtout si un secteur commence à devenir "marginal". ZFS détecte cela en vérifiant le CRC par rapport à l'écriture résultante.

4 votes

Et oui, j'aime beaucoup XFS. :) La seule chose à garder à l'esprit est la propension à réinitialiser les secteurs qui étaient "mauvais" lors d'une récupération de journal. Dans certains cas (rares), vous pouvez finir par perdre des données... J'ai trouvé ce papier avec le terme de recherche Google "xfs zeros out sectors upon recovery" pages.cs.wisc.edu/~vshree/xfs.pdf

3 votes

Une des choses que j'aime chez XFS est le programme de "défragmentation" xfs_fsr.

22voto

Andres Points 237

Utiliser des instantanés LVM et xfs sur des systèmes de fichiers en direct est une recette de catastrophe surtout lors de l'utilisation de systèmes de fichiers très volumineux.

Je fonctionne exclusivement avec LVM2 et xfs depuis les 6 dernières années sur mes serveurs (même à la maison, puisque 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 des instantanés. J'ai arrêté de les utiliser complètement - c'est tout simplement trop dangereux.

La seule exception que je ferai désormais est la sauvegarde de mon propre serveur de messagerie/serveur web, où je ferai des sauvegardes nocturnes en utilisant un instantané éphémère, qui est toujours égal à la taille du système de fichiers source, et est supprimé immédiatement après.

Aspects les plus importants à garder à l'esprit:

  1. si vous avez un système de fichiers assez volumineux avec un instantané, les performances en écriture sont horriblement dégradées
  2. si vous avez un système de fichiers assez volumineux avec un instantané, le temps de démarrage sera retardé de littéralement des dizaines de minutes alors que le disque tournera en importation du groupe de volumes. Aucun message ne sera affiché. Cet effet est particulièrement terrible si root est sur lvm2 (car l'attente du périphérique racine 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?) réellement. DANGER DANGER: vous ne voulez pas faire cela si la capacité de l'instantané n'est pas au moins égale à la taille du système de fichiers source; Si vous ne le faites pas, vous heurterez bientôt un mur et vous retrouverez avec le système de fichiers source et l'instantané corrompus. (Je suis passé par là!)

2 votes

Comme il se trouve, juste aujourd'hui quelqu'un a confirmé que le vg avec snapshot - unable-to-boot-linux est toujours actuel : bugs.launchpad.net/lvm2/+bug/360237

3 votes

En revisitant ce bug, ils pensent toujours que les problèmes de démarrage abyssaux avec les instantanés sont "un comportement normal pour lvm" : bugs.launchpad.net/lvm2/+bug/360237/comments/7 (le 07-01-2012)

4 votes

Mise à jour : Même état. Seulement maintenant cela fait 7 années de plus.

15voto

3dinfluence Points 12361

Quelques points supplémentaires à prendre en compte.

  • Si un disque meurt dans un ensemble RAID matériel, quel que soit le système de fichiers qui le surmonte, tous les blocs sur le périphérique doivent être reconstruits. Même ceux qui ne contenaient pas de données. En revanche, ZFS est le gestionnaire de volumes, le système de fichiers, et gère la redondance et le striping des données. Ainsi, il peut reconstruire intelligemment uniquement les blocs qui contenaient des données. Cela se traduit par des reconstructions plus rapides, sauf lorsque le volume est plein à 100%.

  • ZFS effectue un contrôle de l'intégrité en arrière-plan qui veille à ce que vos données restent cohérentes sur le disque et répare tout problème qu'il trouve avant qu'il ne se transforme en perte de données.

  • Les systèmes de fichiers ZFS sont toujours dans un état cohérent, il n'est donc pas nécessaire d'utiliser fsck.

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

Ayant géré de grands pools de stockage pour la production vidéo grand format sur une pile Linux, LVM, XFS. Mon expérience a été qu'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 des problèmes de gestion de vos volumes logiques. Ce n'est peut-être pas un gros problème si vous avez un administrateur de stockage à temps plein dont le travail est de micro-gérer le stockage. Mais j'ai trouvé que l'approche de stockage par pool de ZFS élimine ces problèmes de gestion.

9voto

X-Istence Points 752

ZFS est absolument incroyable. Je l'utilise comme serveur de fichiers à domicile pour un serveur de fichiers 5 x 1 TO, et l'utilise également en production avec presque 32 TO d'espace disque. Il est rapide, facile à utiliser et offre l'une des meilleures protections contre la corruption des données.

Nous utilisons OpenSolaris sur ce serveur en particulier car nous voulions avoir accès à de nouvelles fonctionnalités et parce qu'il fournissait un nouveau système de gestion des packages et de mise à niveau.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X