ZFS - RAIDZ-1 est-il vraiment si mauvais?

18

J'ai un serveur NAS avec 4 disques WD RE4-GP 4x2 To dans une configuration RAID10 (4 To utilisables). Je manque d'espace (<1 To d'espace utilisable restant). J'ai 0 $ à dépenser pour des disques / boîtiers plus gros / plus nombreux.

J'aime ce que j'ai lu sur les fonctionnalités d'intégrité des données de ZFS, qui - à elles seules - me suffisent pour passer de mon RAID 10 (logiciel) XFS existant. Ensuite, j'ai lu sur la mise en œuvre supérieure de RAID 5 par ZFS, alors j'ai pensé que je pourrais même obtenir jusqu'à 2 To d'espace utilisable en plus en utilisant RAIDZ-1.

Cependant, je continue à lire plus et plus les messages disant à peu près à utiliser tout simplement jamais RAIDZ-1. Seul RAIDZ-2 + est suffisamment fiable pour gérer les pannes de disques «du monde réel». Bien sûr, dans mon cas, RAIDZ-2 n'a aucun sens. Il serait préférable d'utiliser deux vdev en miroir dans un seul pool (RAID10).

Suis-je fou de vouloir utiliser RAIDZ-1 pour les disques 4x 2 To?

Dois-je simplement utiliser un pool de deux vdev en miroir (essentiellement RAID10) et espérer que la compression me donnera suffisamment d'espace supplémentaire?

Quoi qu'il en soit, je prévois d'utiliser la compression. Je n'ai que 8 Go de RAM (max), donc la déduplication n'est pas une option.

Ce sera sur un serveur FreeNAS (sur le point de remplacer le système d'exploitation Ubuntu actuel) pour éviter les problèmes de stabilité de ZFS-sur-Linux.

Andrew Ensley
la source
Je ne sais pas comment cela est hors sujet. Je demande des conseils sur la configuration appropriée du système de fichiers pour un serveur.
Andrew Ensley
La vitesse d'écriture de RAIDZ1or2 est également nulle par rapport à RAID10
JamesRyan
2
Si vous avez suffisamment de CPU pour calculer la parité sans ralentissement, RAIDZ devrait être aussi rapide ou plus rapide que RAID10 pour la plupart des écritures. RAIDZ écrit tout dans une bande RAID complète, il n'y a pas de cycle de lecture-modification-écriture comme avec RAID5. Ainsi, vous obtiendrez plus de bande passante disque (plus de données, moins de surcharge) et les écritures devraient être plus rapides que RAID10. Cependant, cela présente l'inconvénient que les lectures finissent souvent plus lentement. «Écrire une bande complète à chaque fois» conduit à la fragmentation et ne vous donne pas l'avantage de lire uniquement un sous-ensemble de disques pour de nombreuses petites lectures. C'était une décision de conception consciente.
Dan Pritts
Ce que j'ai dit ci-dessus n'est que partiellement vrai. RAID10 sera beaucoup plus rapide si vous avez de petites écritures simultanées, par exemple, un serveur de base de données. Dans RAIDZ, tous les disques sont actifs pour toutes les écritures; RAID10 les sépare. Le point que j'essayais de faire passer était que RAIDZ supprime le cycle de lecture-modification-écriture potentiellement dangereux de RAID5.
Dan Pritts
RAIDZ2 est plus fiable que RAID10. Avec RAIDZ2, deux disques peuvent échouer et vous aurez toujours vos données. Avec RAID10, deux disques défaillants (dans une matrice de quatre disques) peuvent entraîner une perte de données.
Klaws

Réponses:

21

Avant d'entrer dans les détails, réfléchissez à votre cas d'utilisation. Stockez-vous des photos, des MP3 et des DVD? Si tel est le cas, vous pourriez ne pas vous soucier de savoir si vous perdez définitivement un seul bloc de la baie. D'un autre côté, s'il s'agit de données importantes, cela pourrait être un désastre.

La déclaration selon laquelle RAIDZ-1 n'est "pas assez bon pour les pannes du monde réel" est parce que vous risquez d'avoir une erreur de média latente sur l'un de vos disques survivants lorsque le moment de la reconstruction arrive. La même logique s'applique à RAID5.

ZFS atténue cet échec dans une certaine mesure. Si un périphérique RAID5 ne peut pas être reconstruit, vous n'avez pas de chance; copier vos données (restantes) et reconstruire à partir de zéro. Avec ZFS, d'autre part, il reconstruira tout sauf le gros morceau et laissera l'administrateur "effacer" les erreurs. Vous perdrez un fichier / une partie d'un fichier, mais vous ne perdrez pas la totalité du tableau. Et, bien sûr, le contrôle de parité de ZFS signifie que vous serez informé de manière fiable qu'il y a une erreur. Sinon, je pense qu'il est possible (bien que peu probable) que plusieurs erreurs entraînent une reconstruction apparemment réussie, mais vous retournent de mauvaises données.

Étant donné que ZFS est une « violation de couches rampante », il sait également quelles zones ne contiennent pas de données et peut les ignorer lors de la reconstruction. Donc, si votre tableau est à moitié vide, vous êtes moitié moins susceptible d'avoir une erreur de reconstruction.

Vous pouvez réduire la probabilité de ces types d'erreurs de reconstruction à n'importe quel niveau RAID en effectuant des «scrubs zpool» ou des «vérifications mdadm» réguliers de votre baie. Il existe des commandes / processus similaires pour les autres RAID; par exemple, les cartes de raid LSI / dell PERC appellent cela "lecture de patrouille". Ceux-ci vont tout lire, ce qui peut aider les lecteurs de disque à trouver les secteurs défaillants et à les réaffecter avant qu'ils ne deviennent permanents. S'ils sont permanents, le système RAID (ZFS / md / carte raid / quoi que ce soit) peut reconstruire les données à partir de la parité.

Même si vous utilisez RAIDZ2 ou RAID6, des scrubs réguliers sont importants.

Une dernière remarque - le RAID, quel qu'il soit, ne remplace pas les sauvegardes - il ne vous protégera pas contre la suppression accidentelle, les ransomwares, etc. Bien que les instantanés ZFS réguliers puissent faire partie d'une stratégie de sauvegarde.

Dan Pritts
la source
Merci pour cette explication. Cela a beaucoup de sens et correspond à ce que j'ai appris jusqu'à présent sur ZFS. J'ai déjà rechargé mon serveur avec FreeNAS et suis allé avec la configuration RAIDZ-1. Je dois le nettoyer une fois par mois. Pensez-vous que cela suffit souvent ou recommanderiez-vous des gommages plus fréquents? La violation rampante des couches est ma caractéristique préférée de ZFS :-)
Andrew Ensley
1
J'ai un raidz1 fonctionnant sur 7 disques grand public d'âges différents. Je le fais frotter toutes les 2 semaines. Il trouve souvent une erreur et la corrige. J'ai récemment perdu un lecteur et perdu un fichier contenant une erreur latente. Heureusement, c'était un fichier multimédia que je peux facilement remplacer. Pour mes données importantes, j'ai toujours, bien sûr, des sauvegardes.
Dan Pritts
Je soulignerai - les lecteurs «domestiques» ont un taux d'erreur binaire irrécupérable de 2 ordres de grandeur pire lorsqu'ils sont comparés à la catégorie «entreprise». Je suis toujours très heureux que le taux d'échec composé sur RAID-5 soit acceptable sur des disques FC / SAS décents. Je ne le ferais pas sur SATA.
Sobrique
1
Un seul ordre de grandeur comparant deux disques Seagate: Seagate ST2000DM001: 1 dans 10E14. ST2000NM0033: 1 dans 10E15. Vraiment, cependant, difficile de dire avec certitude si les mécanismes d'entraînement sont différents. J'ai entendu des sources crédibles donner des réponses opposées.
Dan Pritts
2
J'ai découvert un mauvais câble SATA sur mon système - depuis qu'il a été remplacé, mes gommages n'ont trouvé aucune erreur.
Dan Pritts
4

Il y a un petit malentendu à l'œuvre ici. Une grande partie des conseils que vous voyez est basée sur une hypothèse qui peut ne pas être vraie. Plus précisément, le taux d'erreur binaire irrécupérable de votre lecteur.

Un disque «utilisateur domestique» bon marché a un taux d'erreur irrécupérable de 1 pour 10 ^ 14.

http://www.seagate.com/gb/en/internal-hard-drives/desktop-hard-drives/desktop-hdd/#specs

C'est à un niveau où vous parlez d'une probabilité significative d'une erreur irrécupérable lors d'une reconstruction RAID, et vous ne devriez donc pas le faire. (Un calcul rapide et sale suggère que l'ensemble de disques 5x 2 To RAID-5 aura environ 60% de chances de cela)

Cependant, cela n'est pas vrai pour les disques plus chers: http://www.seagate.com/gb/en/internal-hard-drives/enterprise-hard-drives/hdd/enterprise-performance-15k-hdd/#specs

1 pour 10 ^ 16 est 100 fois meilleur, ce qui signifie que 5 x 2 To représentent <1% de chances d'échec de la reconstruction. (Probablement moins, car pour une utilisation en entreprise, les broches de 600 Go sont généralement plus utiles).

Donc, personnellement - je pense que RAID-5 et RAID-4 sont toujours éminemment utilisables, pour toutes les raisons, RAID-0 est encore assez courant. N'oubliez pas - le problème avec RAID-6 est sa lourde pénalité en écriture. Vous pouvez atténuer partiellement cela avec beaucoup de mise en cache, mais vous avez toujours des difficultés intégrées, en particulier lorsque vous travaillez avec des lecteurs lents en premier lieu.

Et plus fondamentalement - JAMAIS JAMAIS faire confiance à votre RAID pour vous donner une résilience complète. Vous perdrez des données plus souvent à cause d'un problème ou d'une panne de disque, vous avez donc BESOIN d'une stratégie de sauvegarde décente si vous vous souciez de vos données de toute façon.

Sobrique
la source
J'utilise 4 disques WD RE4-GP, qui ont <1 sur 10 ^ 15 erreurs de lecture non récupérables.
Andrew Ensley
La pénalité d'écriture RAID6 est bien réelle. Cependant, RAID-Z2 n'en souffre pas; zfs rend toutes les écritures pleine bande. Cela a cependant d'autres effets négatifs - cela a tendance à réduire les performances de lecture pour plusieurs raisons.
Dan Pritts
3

Hmmm, de mauvaises informations ici. Pour 4 disques, il n'y a vraiment rien de mal avec XFS. J'ai tendance à éviter ZFS RAIDZ pour des raisons de performances et d'extensibilité (faibles lectures / écritures, ne peuvent pas être étendues). Utilisez des miroirs ZFS si vous le pouvez. Cependant, avec 4 disques et nulle part où placer votre système d'exploitation, vous perdrez beaucoup de capacité ou devrez passer par des jeux de partitionnement étranges pour adapter votre système d'exploitation et vos données sur les quatre mêmes disques.

Je ne recommanderais probablement pas ZFS pour votre cas d'utilisation. Il n'y a rien de mal avec XFS ici.

ewwhite
la source
2
J'ai oublié de mentionner que le système d'exploitation vit sur un disque séparé. Pardon. Ce que je veux de ZFS que le XFS RAID10 ne possède pas, c'est la vérification des données de contrôle qui peut détecter (et corriger de manière transparente) les erreurs de données silencieuses (un peu renversé sur le lecteur, et le disque dur n'a aucune idée). Je ne pense pas que XFS soit capable de le faire.
Andrew Ensley
Pour quatre disques, utilisez les miroirs ZFS si vous avez besoin de vous étendre ou si les performances sont importantes. J'éviterais également FreeNAS et j'utiliserais simplement ZFS directement sous Linux.
ewwhite
1
Je suis moi-même un terminal, donc je ne change définitivement pas pour l'interface graphique. Surtout, j'ai juste besoin d'un système de fichiers stable qui (autant que possible) garantit l'intégrité des fichiers qui y sont stockés. Et j'espérais gagner de l'espace dans le processus. J'ai vu de nombreux problèmes signalés pour ZoL, dont beaucoup concernaient les mises à niveau du système d'exploitation Ubuntu. groups.google.com/a/zfsonlinux.org/forum/#!searchin/zfs-discuss/… N'essayant pas d'être une douleur. Expliquant juste pourquoi je pense ce que je pense. Je suis certainement ouvert à la correction.
Andrew Ensley
1
C'est très bien. J'ai vu beaucoup plus de problèmes avec FreeNAS (pas FreeBSD), donc ça va dans les deux sens. Il y a des informations là-bas. Je n'utilise Ubuntu, mais je ne sais ZFS . Mon ZFS sur Linux est généralement avec RHEL ou CentOS. Voici un exemple de workflow .
ewwhite
1
J'utilise ZFS sur Linux et Centos 6. Je n'autorise pas les mises à jour automatiques du noyau ou de ZFS. J'ai eu des problèmes avec le borking ZFS / SCL, mais je n'ai jamais eu de perte de données. Pour mémoire, btw, FreeBSD a un ensemble similaire de routines de compatibilité Solaris, mais elles et ZFS sont entièrement intégrées dans la distribution, ce qui rend beaucoup plus simple de faire fonctionner les choses ensemble. Si je voulais seulement ZFS et un service de fichiers, j'exécuterais probablement FreeBSD. En fait, c'est ce que je faisais auparavant, mais j'utilise la boîte pour d'autres choses aléatoires, ce qui rendait ZoL plus attrayant.
Dan Pritts