Une grande matrice RAID-Z est-elle aussi mauvaise qu'une grande matrice RAID-5?

11

Pendant longtemps, j'ai entendu parler de la mauvaise idée d'une grande matrice RAID-5 (> 5 To?) Simplement parce qu'il y a un risque élevé de défaillance d'un autre disque.

RAID-Z1 a-t-il réussi à remédier à cela pour un tableau de toute taille (si vous avez absolument besoin d'un nombre, pensez à 4x2TB ou 5x2TB)? Peut-être un moyen plus sûr de reproduire les données qui ne sont pas aussi intenses sur tous les disques?

TheLQ
la source

Réponses:

8

Même compte tenu de ce que l'une des autres réponses présentées ici, à savoir que ZFS ne fonctionne qu'avec les blocs réellement utilisés et non l'espace vide, oui, il est toujours dangereux de faire un grand vdev RAIDZ1. La plupart des pools finissent par utiliser au moins 30 à 50%, beaucoup vont jusqu'au maximum recommandé de 80% (certains vont au-delà, je vous recommande fortement de ne pas le faire du tout, pour des raisons de performances), de sorte que ZFS ne traite que avec des blocs utilisés n'est pas une énorme victoire. En outre, certaines des autres réponses donnent l'impression qu'une mauvaise lecture est à l'origine du problème. Ce n'est pas le cas. Un peu de pourriture à l'intérieur d'un bloc n'est pas ce qui va vous visser ici, généralement, c'est un autre disque qui se détériore tandis que le resilver du premier disque qui se détériore est toujours en cours et qui vous tuera .. et sur des disques de 3 To dans un grand raidz1, cela peut prendre des jours, voire des semaines de resilver sur un nouveau disque, donc vos chances que cela se produise ne sont pas négligeables.

Ma recommandation personnelle aux clients est de ne jamais utiliser RAIDZ1 (équivalent RAID5) avec des disques> 750 Go, juste pour éviter beaucoup de désagréments potentiels. J'ai été d'accord avec eux pour enfreindre cette règle pour d'autres raisons (le système a une sauvegarde ailleurs, les données ne sont pas si importantes, etc.), mais généralement je fais de mon mieux pour pousser RAIDZ2 comme option minimale avec de grandes disques.

De plus, pour un certain nombre de raisons, je recommande généralement de ne pas utiliser plus de 8 à 12 disques dans une bande raidz2 ou 11 à 15 disques dans une bande raidz3. Vous devriez être dans le bas de ces plages avec des disques de 3 To, et peut-être être OK dans le haut de gamme de ces plages sur des disques de 1 To. Le fait que cela vous aidera à vous éloigner de l'idée que davantage de disques échoueront pendant le réargentage n'est qu'une de ces raisons, mais une grande.

Si vous cherchez des règles d'or sensées (modifier le 10/04/15 - j'ai écrit ces règles en pensant uniquement aux disques en rotation - car elles sont également logiques [pourquoi feriez-vous moins de 3 disques dans un raidz1], elles est logique même pour les pools SSD, mais les pools tout SSD n'étaient pas une chose dans ma tête quand je les ai notés):

  • N'utilisez pas du tout raidz1 sur des disques> 750 Go.
  • N'utilisez pas moins de 3 ou plus de 7 disques sur un raidz1.
  • Si vous envisagez d'utiliser des vdev raidz1 à 3 disques, envisagez sérieusement les vdev à 3 voies en miroir.
  • N'utilisez pas moins de 6 ou plus de 12 disques sur un raidz2.
  • N'utilisez pas moins de 7 ou plus de 15 disques sur un raidz3.
  • Rappelez-vous toujours que contrairement aux baies RAID traditionnelles où le nombre de disques augmente le nombre d'E / S par seconde, dans ZFS, c'est le nombre de VDEVS, donc aller avec des vdev à bande plus courte améliore le potentiel d'IOPS du pool.
Nex7
la source
Avec le changement de taille et de performances des disques, recommanderiez-vous toujours la même règle d'or? (2014)
Lord Loh.
Une source ou une motivation pour les règles de base?
Kenny Evitt
La source est l'expérience de moi-même et de mes collègues à travers des milliers de déploiements ZFS chez Nexenta. En ce qui concerne une mise à jour - les règles sont en vigueur (04/10/15), rien n'a changé qui me donne envie de modifier les puces, même si je dirais que j'ai écrit ces règles sans SSD à l'esprit. Les règles ne sont pas nécessairement les mêmes pour les SSD, selon des facteurs circonstanciels. Avec eux, vous avez également d'autres considérations, comme le goulot d'étranglement HBA.
Nex7
1
@ Nex7, quelle est la logique de cela dans votre article de blog? "8. RAIDZ - Nombre de disques pairs / impairs: essayez (et pas très fort) de maintenir le nombre de disques de données dans un raidz vdev à un nombre pair"
Costin Gușă
Il est important de se souvenir des cas d'utilisation. Ici, sur serverfault, nous nous concentrons sur les applications professionnelles / commerciales, donc votre réponse est juste. Cela dit, pour ceux qui font des installations grand public (et peut-être même des applications commerciales limitées?), Considérez à quel point il serait mauvais de perdre un seul bloc d'un seul fichier (peut-être quelques-uns) de votre baie si vous avez une panne pendant un reconstruire. Pas grave? Ensuite, RAIDZ1 pourrait convenir.
Dan Pritts
11

RAID-Z est-il aussi mauvais que R5, non. Est-ce aussi bon que R1 ou R10, généralement non.

RAID-Z est conscient des taches vides sur les disques, où R5 n'est pas. RAID-Z n'a donc qu'à lire les zones contenant des données pour récupérer le disque manquant. De plus, les données ne sont pas nécessairement réparties sur tous les disques. Un très petit fichier peut résider sur un seul disque, avec la parité sur un autre disque. À cause de cela, RAID-5 devra lire exactement autant de données que l'espace utilisé sur la baie (si 1 Mo est utilisé sur une baie de 5 To, alors une reconstruction n'a besoin que de lire 1 Mo).

Dans l'autre sens, si la plupart d'une grande baie est pleine, la plupart des données devront être lues sur tous les disques. Par rapport à R1 ou R10 où les données ne doivent être extraites que d'un seul disque (par disque défaillant; si plusieurs disques échouent uniquement dans les situations où la baie est toujours récupérable également).

Ce qui vous inquiète, c'est que, à chaque opération de lecture de secteur, il est possible que vous trouviez un secteur qui n'a pas été écrit correctement ou qui n'est plus lisible. Pour un lecteur typique de nos jours, c'est environ 1x10 ^ -16 (tous les lecteurs ne sont pas égaux, alors consultez les spécifications de vos lecteurs pour déterminer leur note). Ceci est incroyablement rare, mais sort à environ une fois tous les 1PB; pour une baie de 10 To, il y a 1% de chances que votre baie soit grillée et vous ne le savez pas tant que vous n'essayez pas de la récupérer.

ZFS permet également d'atténuer cette chance, car la plupart des secteurs illisibles sont visibles avant de commencer à essayer de reconstruire votre baie. Si vous nettoyez régulièrement votre baie ZFS, l'opération de nettoyage détectera ces erreurs et les contournera (ou vous alertera pour que vous puissiez remplacer le disque si c'est comme ça que vous roulez). Ils vous recommandent de nettoyer les disques d'entreprise environ une à quatre fois par mois; et les disques grand public au moins une fois par semaine, ou plus.

Chris S
la source
3

Certains des avantages de RAID-Z par rapport au RAID-5 traditionnel sont qu'il ne nécessite pas de matériel spécialisé et est plus fiable en évitant le trou d'écriture RAID-5.

Cependant, RAID-Z et RAID-5 ne supportent pas plus d'une défaillance de disque.

Si vous voulez survivre échec de deux disques avec ZFS, vous pouvez utiliser raidz2 , et trois disques non raidz3 .

jlliagre
la source
1
+1 De plus, les sommes de contrôle perblock permettent à ZFS, s'il découvre de la corruption dans un tableau, de distinguer les fichiers affectés. La plupart des HBA R5 marquent simplement le volume entier comme corrompu ou signalent au système d'exploitation qu'un secteur est corrompu, de toute façon le HBA n'a aucun moyen de savoir quel disque est défectueux dans un scénario de corruption.
Chris S
Plus de discussion sur la gestion des pannes de resilver de ZFS
un CVn du