Je pense que c'était un malentendu dans le vieux fil. Je comparais le risque d'échec de deux disques d'affilée lorsque j'utilisais le raid de parité Z1 ou l'absence de RAID (comme vous l'avez indiqué dans les commentaires de l'autre fil). À mes yeux, il n’a jamais été question de Z1 par rapport à un pool de vdevs de base, car ce jeu est essentiellement terminé après le premier défaut de toute façon, donc Z1 est bien sûr meilleur.
Mais si vous comparez simplement plusieurs pools indépendants à un seul pool avec un seul Z1 vdev, le problème de l'augmentation de la charge tout en recalculant les informations de parité persiste.
Sur la comparaison de Z1 vs Z2, à laquelle la réponse de Michael portait principalement, les deux autres points s'appliquent. J'aurais dû être plus clair dans les commentaires, mais ils sont malheureusement limités dans l'espace. J'espère que cette réponse efface une partie de ceci.
Je pensais la même chose, mais je ne savais pas que l’URE n’était pas un simple retournement, mais gâchait toute la piscine.
Si nous simplifions le tout, vous avez votre disque avec sa puce de contrôleur en bas et votre matériel (contrôleur RAID) ou un logiciel (par exemple, ZFS) en haut.
Si une erreur survient dans le matériel et qu’un secteur ne peut pas être lu, la puce essaie d’abord de le corriger par lui-même, si possible (par exemple, en lisant le secteur posant problème plusieurs fois). S'il ne parvient toujours pas à en tirer parti, il abandonne (sur des disques normaux, cela peut prendre quelques minutes et bloque le système complet qui attend le message "réussi" ou "échec" concernant l'opération IO en attente.
Certains disques ont une fonctionnalité appelée TLER (récupération d’erreurs limitée dans le temps), qui est un délai très long qui limite ce temps de correction des erreurs à 6-9 secondes, car, traditionnellement, la plupart des contrôleurs RAID matériels abandonnaient l’ensemble du disque après 9 secondes. sector ne devrait pas rendre le disque entier indisponible, mais être corrigé par un "bon" secteur sur les autres disques (une fonctionnalité sur laquelle un seul disque sur un système de bureau ne pourrait pas compter, un délai d’expiration long serait préférable).
Maintenant, regardons le côté logiciel: si vous configurez votre système de fichiers contrôleur ZID ou redondant avec redondance, par exemple en utilisant des disques en miroir ou un vdev miroir comme base de votre pool, votre URE peut être corrigée. Si vous n'utilisez pas la redondance, les données de ce secteur disparaîtront, qu'il s'agisse de données qui vous intéressent ou simplement de vieilles données temporaires aléatoires ou de rien, selon votre chance. Il en va de même pour les retournements de bits, bien que la probabilité qu'ils se produisent semble dépendre davantage d'effets extérieurs (comme le rayonnement cosmique).
Étant donné que RAID0 n'est pas soumis aux URE, la question est la suivante: "Qu'est-ce qui est le plus probable, une URE dans RAIDZ ou une défaillance de disque dans RAID0?"
Je n'ai pas accepté cette réponse parce que je ne pense pas qu'elle explique correctement les points pertinents, mais je prévoyais de créer ma propre réponse une fois que je comprendrais pourquoi les URE détruisent tout le groupe, si personne d'autre ne le traite en premier.
Je vous suggère de lire une explication de base de la structure de la piscine ZFS. Pour résumer les bits les plus importants:
- Vous pouvez créer des périphériques virtuels (vdevs) à partir de disques, partitions ou fichiers. Chaque vdev peut être créé avec une redondance différente: basique (pas de redondance), en miroir (1 à N disques peuvent échouer), le raid de parité Z1 / Z2 / Z3 (les disques 1/2/3 peuvent échouer). Toute redondance fonctionne au niveau vdev.
- Vous créez des pools de stockage à partir d'un ou plusieurs vdevs. Ils sont toujours rayés, donc la perte d'un seul vdev signifie la perte de la totalité du pool.
- Vous pouvez avoir n'importe quel nombre de pools, qui sont indépendants. Si un pool est perdu, les autres pools continuent de fonctionner.
Par conséquent, vous pouvez raisonner ce qui suit:
- Si possible, préférez Z2 à Z1 en raison de la charge accrue et de la grande fenêtre d'opportunités (négatives) lors de la reconstruction de disques de grande taille (une taille supérieure à 1 To environ).
- Si vous devez choisir entre Z1 et plusieurs vdevs de base, préférez Z1 en raison d’une correction d’erreur sur les bits qui n’est pas possible avec vdevs de base
- Si vous pouvez accepter la perte partielle de pool, segmentez votre pool en plusieurs pools plus petits soutenus par un seul vdev, afin d'obtenir des informations de somme de contrôle et des délais de reconstruction plus rapides pour les erreurs fatales.
Dans tous les cas ci-dessus, vous devez avoir une sauvegarde. Si vous ne pouvez pas ou ne voulez pas vous permettre une sauvegarde, il s'agit de ce que vous êtes plus à l'aise de perdre - certaines parties du pool avec une probabilité plus élevée ou tout avec une probabilité plus faible. Personnellement, je choisirais la première option, mais vous pouvez en décider autrement.