5 votes

ZFS : RAIDZ contre stripe avec blocs ditto

Je vais construire un serveur de fichiers ZFS à partir de FreeBSD. J'ai appris récemment que je ne peux pas étendre un RAIDZ udev une fois qu'il fait partie du pool. C'est un problème puisque je suis un utilisateur à domicile et que je vais probablement ajouter un disque par an au maximum.

Mais que se passe-t-il si je définis copies=3 pour l'ensemble de mon pool et que je jette les disques individuels dans le pool séparément ? J'ai lu quelque part que les copies essaieront de se répartir sur les disques si possible. Y a-t-il une garantie ? Je veux juste une protection contre la pourriture des bits et les pannes de disque à bas prix. La vitesse n'est pas un problème puisqu'il s'agit d'un réseau de 1Gb et d'un flux MOST de podcasts 720p.

Mes données seraient-elles garanties contre la défaillance d'un seul disque ? Y a-t-il des éléments que je n'ai pas pris en compte ? Toute contribution est la bienvenue.

1 votes

Huh. Le gros problème pourrait être le manque de ré-argentage, non ? Par exemple, si un disque avec une copie des données tombe en panne, est-ce que 'zpool scrub' créera les duplicatas manquants ?

0 votes

Je pense que j'ai besoin d'en savoir plus sur le RAID5, car si je définissais copies=2, je créerais effectivement un miroir et diviserais mon espace de stockage par deux, alors que le RAIDZ/5 ne supprimerait qu'un disque complet d'espace. Je suis un peu perdu.

0 votes

Vous avez mentionné la déduplication dans le sujet... pour votre information, la déduplication ne fonctionne pas bien avec les snapshots. Je vous déconseille d'utiliser la déduplication à moins que vous ne connaissiez vraiment bien vos données et la façon dont vous allez les utiliser.

3voto

Martin Points 809

Vous ne serez pas protégé en utilisant un vdev raidz + des vdev à disque unique dans le même pool. Vous devriez ajouter deux disques à la fois (et les mettre en miroir) à votre zpool, cela couvrira la défaillance d'un disque.

La raison en est que copies ne garantit pas que les blocs se retrouveront sur des disques différents.

Une alternative à l'expansion de votre vdev raidz est d'utiliser zfs send pour stocker toutes vos données quelque part temporairement pendant que vous ajoutez un disque et reconstruisez votre vdev raidz et ensuite zfs receive pour le récupérer. Ce sera difficile une fois que vous aurez dépassé quelques To, car vous avez besoin de beaucoup d'espace pour stocker vos données.

3voto

jlliagre Points 8651

Les données du système de fichiers seraient très probablement redondantes, surtout avec copies=3, de sorte que vos données seraient protégées contre la pourriture des bits.

Cependant, il ne sera pas protégé de manière fiable contre une défaillance complète du disque, car il n'y aura aucun moyen de remplacer le disque défectueux par un nouveau. Même si, juste après la panne, vous devriez être en mesure d'accéder à toutes vos données, votre système ne survivra pas à un redémarrage car votre pool ne sera pas importable.

Voir ZFS : Comment restaurer le nombre correct de copies après la perte d'un disque ? pour une question similaire.

1voto

Jason Whitehorn Points 5304

Intéressant, j'ai trouvé ça aujourd'hui. Les copies devraient garantir que les blocs ditto créés par les 'copies' sont stockés sur des vdev différents : https://blogs.oracle.com/bill/entry/ditto_blocks_the_amazing_tape (voir la section "Diffusez-les")

Ainsi, selon cet article de blog, vous seriez protégé contre les pannes de disque complet sur les systèmes de fichiers qui ont plusieurs copies disponibles. Mais sólo sur ces systèmes de fichiers.

" Dans un pool de stockage avec plusieurs périphériques (vdevs), les choses deviennent un peu plus piquantes. Nous allouons chaque copie d'un bloc sur un vdev séparé"

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