ZFS: miroir contre RAID-Z

14

Je prévois de construire un serveur de fichiers en utilisant OpenSolaris et ZFS qui fournira deux services principaux - être une cible iSCSI pour les machines virtuelles XenServer et être un serveur de fichiers domestique général. Le matériel que je regarde comprend 2 contrôleurs SATA 4 ports, 2 petits disques de démarrage (un sur chaque contrôleur) et 4 gros disques pour le stockage. Cela permet un port libre par contrôleur pour mettre à niveau la baie sur la route.

Là où je suis un peu confus, c'est comment configurer les disques de stockage. Pour les performances, la mise en miroir semble être roi. J'ai du mal à voir quel serait l'avantage d'utiliser RAIDZ sur la mise en miroir. Avec cette configuration, je peux voir deux options - deux pools en miroir dans une bande, ou RAIDZ2. Les deux devraient protéger contre 2 pannes de disque, et / ou une défaillance du contrôleur ... le seul avantage de raidz2 serait que les 2 disques pourraient échouer. Le stockage devrait représenter 50% de la capacité dans les deux cas, mais le premier devrait avoir des performances bien meilleures, non?

L'autre chose que j'essaie de comprendre est l'avantage des tableaux en miroir avec plus de deux appareils. Pour l'intégrité des données, quel serait, le cas échéant, l'avantage d'un RAIDZ sur un miroir à trois voies? Puisque ZFS maintient l'intégrité des fichiers, qu'est-ce que RAIDZ apporte à la table ... les vérifications d'intégrité de ZFS n'annulent-elles pas la valeur de la parité de RAIDZ?

John Clayton
la source

Réponses:

14

La réponse simple est que pour refléter quelque chose ne prend presque pas de puissance de traitement - il écrit simplement sur le disque une deuxième fois. Pour RAID-Z2, vous devez calculer un bloc de parité entièrement nouveau, qui, bien que petit, PEUT encrasser le processeur lorsque vous devez écrire rapidement de grandes quantités de données.

Mirroring est toujours la meilleure solution pour les données à grande vitesse, si elle est juste en vrac stockage sans vitesse d'écriture rapide, RAID-Z2 est une bonne alternative qui ne permet aucun deux lecteurs de mourir que vous faites allusion.

L'autre avantage est que les pools en miroir peuvent être étendus avec plus de périphériques en miroir - alors qu'un RAID-Z2 ne peut pas être étendu - bien que davantage de stockage RAID-Z2 puisse être ajouté au pool, ce seront deux pools de stockage RAID-Z2 concaténés (dans effet) plutôt que réparti également entre tous les rangements et rayé.

dotwaffle
la source
Mais dans ZFS, que vous offre le bloc de parité de RAIDZ? Fournit-il une intégrité de données supplémentaire au-delà de ce que ZFS fournit déjà? Ou faut-il simplement que deux disques meurent? Si c'est le seul avantage que dans le scénario à trois, il n'y a aucun avantage de RAIDZ sur un miroir, non?
John Clayton
1
RAID-Z permet à un disque de mourir - si vous avez 10 disques, vous obtenez 9 disques de données. Avec RAID-Z2, vous pouvez faire mourir deux disques et disposer de 8 disques de données. Avec le miroir, vous pouvez faire mourir la moitié des disques, mais un seul de chaque ensemble de deux. Je soupçonne que vous le savez déjà, mais c'est ce cas marginal de 4 disques qui donne deux solutions de panne de deux disques - RAID-Z2 et mode miroir. Il n'y a pas d'allocations d'intégrité des données supplémentaires qui sont "utiles" dans un scénario normal.
dotwaffle
Alors pour être clair, l'avantage de RAIDZ sur les miroirs est un peu plus de protection contre les pannes matérielles? RAIDZ1 et un miroir avec des lecteurs X sont essentiellement équivalents?
John Clayton,
5
La parité de RAID-Z est un surensemble de la somme de contrôle intégrée de ZFS. La somme de contrôle ne fait que garantir que les données lues sur les disques sont correctes. Il est conçu pour être un contrôle rapide avec peu de frais généraux. La parité de RAID-Z vous donne la possibilité de reconstruire des données endommagées en cas de perte d'un disque (ou 2 pour RAID-Z2). Mais les calculs pour générer ces données de parité sont beaucoup plus gourmands en ressources processeur qu'une simple somme de contrôle de bloc et doivent être calculés sur une bande entière, même si vous écrivez uniquement un bloc de 4 Ko.
afrazier
4
@John Clayton: le niveau de redondance dépend de la façon dont vous configurez votre stockage. Vous pouvez créer un miroir N-way, ce qui signifie que la capacité de vos données est de la taille d'un disque, mais vous pouvez perdre des disques N-1 sans perdre de données. Par exemple, si vous disposez d'un miroir à 3 voies, les 3 disques contiennent les mêmes données et vous pouvez perdre 2 disques sans perdre de données. La différence est que l'ajout de lecteurs à un miroir N-way augmente la redondance (mais votre capacité est toujours de la taille d'un lecteur), tandis que l'ajout de lecteurs à raidz2 augmente la capacité (mais votre redondance est toujours de 2 lecteurs).
vol
18

RAID-Z élimine la plupart des pénalités d'écriture et des problèmes d'intégrité des données dont souffrent les volumes RAID 5/6, au prix d'un certain temps processeur. En règle générale, les systèmes ont des cycles CPU à épargner, donc passer du temps CPU pour améliorer les performances d'E / S et l'intégrité des données est un bon compromis par rapport à la mise en miroir.

Voici une explication détaillée de RAID-Z qui peut répondre à d'autres questions.

N'oubliez pas non plus que RAID est une solution de tolérance aux pannes . Vous n'implémentez pas RAID-Z2 pour vous protéger contre la perte de données - vous effectuez des sauvegardes ou répliquez pour ce faire. Vous choisissez d'implémenter RAID-Z2 contre RAID-Z ou RAID-10 contre RAID-6 contre RAID-5 pour maintenir vos systèmes opérationnels en cas de panne matérielle.

duffbeer703
la source
1
Je dois donner la réponse à dotwaffle car il m'a aidé à comprendre la différence technique. Un excellent conseil sur l'utilisation prévue ... qui m'a vraiment fait réfléchir et réfléchir.
John Clayton,
1
Une chose importante à noter est que tandis que RAIDZ élimine les problèmes de pénalité en écriture , il introduit des problèmes de pénalité en lecture en raison de l' augmentation de la simultanéité pour chaque opération de lecture
the-wabbit