Augmentez la fiabilité en partitionnant des disques de tailles différentes?

8

Je comprends que ZFS préférerait tous les disques portant la même taille. Cependant, dans le cas où j'ai deux disques de taille différente (1 To et 1,5 To), j'aimerais avoir une certaine redondance, mais pas de mise en miroir. J'ai donc coupé deux disques en 5 partitions, avec chaque partition environ 500 Go et créé un pool "raidz" ... zfs heureusement obligé. La configuration augmente-t-elle réellement la fiabilité? L'idée est que si un disque ne tombe pas totalement en panne et que seule une partie de celui-ci échoue, je peux toujours accéder aux données?

python152
la source
5
Cela n'ajoute aucune fiabilité et dégrade les performances.
Michael Hampton
1
La plupart des réponses / commentaires que j'ai reçus ne sont pas allés plus loin pour expliquer pourquoi. Le simple "contre les meilleures pratiques" ou "disques égaux n'ont que du bon sens" ne signifie pas grand-chose pour moi. Évidemment, compte tenu de ces disques particuliers que j'ai, je ne cherche pas le meilleur des meilleurs en termes de fiabilité et de performances. Je demande ce qui peut être fait compte tenu de ce que j'ai. De plus, les choses changent: dans le livre de "Master FreeBSD ZFS" ... les auteurs disent clairement à l'époque ancienne / solaris, l'approvisionnement entier du disque était considéré comme crucial, maintenant ce n'est pas le cas. Le provisionnement basé sur la partition est aussi bon, voire encouragé.
python152
Surtout pour la redondance basée sur la parité, il n'y a pas d'exigence absolue sur la taille égale (je me souviens vaguement que le livre zfs a également dit que le même lecteur de capacité de différents fournisseurs se retrouvait avec une taille différente). C'est à la façon dont l'algorithme de placement de données ZFS choisit de gérer cela pour équilibrer la répartition des bits de parité et équilibrer les performances.
python152 du
@ python152 Cela dépend toujours de savoir si vous pouvez vivre avec les inconvénients (ZFS est vraiment assez flexible, les meilleures pratiques sont des recommandations, pas des règles). Si vous pouvez accepter les temps d'arrêt et êtes confiant dans la gestion des partitions, le remplacement de disques partiellement défectueux n'est pas aussi critique, par exemple. Je me méfierais toujours du trou d'écriture RAID5, qui existe indépendamment du fait que votre matériel de support soit des disques, des partitions ou même des fichiers.
user121391
1
@ user121391 ZFS raidz ne souffre pas du trou d'écriture RAID5. Voir blogs.oracle.com/bonwick/entry/raid_z et pthree.org/2012/12/05/zfs-administration-part-ii-raidz
nickcrabtree

Réponses:

3

L'idée est que si un disque ne tombe pas totalement en panne et que seule une partie de celui-ci échoue, je peux toujours accéder aux données?

En théorie, cette pensée est correcte. Tant que vous rencontrez une erreur sur un seul périphérique de votre RAIDZ1 vdev, ZFS peut et vous informera et corrigera l'erreur, en supposant que les autres périphériques sont exempts d'erreur.

Ce qui peut différer en réalité de plusieurs choses:

  • Les erreurs peuvent s'étendre sur les partitions et par conséquent, deux périphériques ou plus seront affectés, ce qui peut entraîner des erreurs irrécupérables ou même la perte de l'ensemble du pool (selon l'emplacement et la quantité d'erreurs). Vous pouvez utiliser RAIDZ2 ou Z3 pour atténuer quelque peu cela, mais le problème est toujours là.
  • Lors de la réargenture d'une partition, le disque doit lire (2 fois) et écrire (1 fois) sur le même disque simultanément et de manière aléatoire. À moins que vous n'utilisiez Solaris 11.3 avec une réargenture séquentielle, ce sera très très lent. Jusqu'à ce que vous ayez terminé le processus de resilver, vous êtes vulnérable aux erreurs sur les autres partitions. Si votre temps de réargenture est plus long, vos chances de rencontrer un URE supplémentaire augmentent. Il place également une charge supplémentaire sur le disque, augmentant les risques de panne complète du disque.
  • Imaginez que votre 3e partition (la dernière sur le disque de 1,5 To) affiche suffisamment d'erreurs pour dégrader le pool et appeler un remplacement. Si vous ne pouvez pas ajouter un autre disque, vous ne pouvez pas faire de remplacement sans arrêt / exportation, et même alors, c'est plus compliqué que d'habitude.

Sur la base de ces points, je vous conseille de ne pas le faire si la fiabilité est votre objectif principal. En supposant une situation matérielle fixe, je ferais l'une des choses suivantes:

  1. Utilisez des miroirs et perdez 500 Go, mais obtenez une configuration simple avec une évolutivité facile à l'avenir
  2. Utilisez deux pools distincts et copies = 2si vous voulez une certaine résilience contre les petites erreurs (une panne de disque entière ne tuerait que 2/5 ou 3/5 de vos données par rapport à votre configuration)
  3. Utilisez d'autres systèmes de fichiers que ZFS si vous voulez avoir votre gâteau et le manger aussi
user121391
la source
5

Ce que vous décrivez est un peu collant.

ZFS veut des disques complets de taille et de capacité égales. Ceci est essentiel pour diverses raisons, mais aussi tout simplement logique.

Tout ce que vous feriez dans la situation que vous avez décrite, c'est ajouter de la complexité à l'environnement et augmenter vos risques.

ewwhite
la source
1
Sans parler de la réduction des performances.
Michael Hampton
@MichaelHampton Comment ça?
chat
2
@cat Parce que ZFS pense que vous avez cinq broches, alors que vous en avez réellement deux.
Michael Hampton
4

Disons-le de cette façon:

  • Si vous avez 1 To de données sur le disque un, vous pouvez les répliquer sur le disque deux et vous pouvez vous permettre de perdre l'un ou l'autre disque.

  • Si vous disposez de 1,5 To de données sur le disque deux, vous ne pouvez répliquer que les 1 premiers To de données sur le disque un. Dans ce scénario, si le disque deux échoue, vous perdrez des données.

ZFS est très capable, mais en règle générale, selon les deux points ci-dessus, les configurations de disques mixtes sont stupides et pas super utiles. Si vous vous souciez de la fiabilité et de la redondance, faites comme si le deuxième disque ne faisait que 1 To.

Benny Mackney
la source
4
Je mets ce bit dans un commentaire parce que je n'ai pas l'impression qu'il rentre vraiment dans une "réponse" en tant que telle, mais si vous vouliez vraiment utiliser tout l'espace sur vos disques, je mettrais en place un miroir de 1 To, et puis utilisez les 500 derniers Go comme un volume régulier et non répliqué pour l'espace de travail et les fichiers temporaires qui ne m'intéressent pas vraiment (comme mon dossier de téléchargements de navigateur - agréable d'avoir de vieux trucs mis en cache là-bas, mais il n'y a rien que j'aurais vraiment manquer si je l'ai perdu).
Benny Mackney