Btrfs: RAID 1 sur 3+ appareils

10

J'ai actuellement une partition Btrfs avec quatre appareils: trois disques de 3 To et un disque de 4 To. Les données et les métadonnées sont RAID 10, donc j'ai 6 To d'espace utilisable, ce qui est presque complet. J'avais prévu que la prise en charge de RAID 5 dans Btrfs serait mature au moment où mon stockage se serait rempli, mais apparemment ce n'est pas une priorité.

Ma question est: y a-t-il une raison de préférer RAID 10 à RAID 1 ? Je sais que le vrai RAID 1 sur mon matériel actuel devrait me donner 3 To d'espace utilisable avec 4 copies de chaque bloc, mais Btrfs ne se comporte apparemment pas de cette façon. De la FAQ Btrfs :

btrfs combine d'abord tous les périphériques dans un pool de stockage, puis duplique les morceaux au fur et à mesure de la création des données de fichier. RAID-1 est actuellement défini comme "2 copies de toutes les données sur différents périphériques". Cela diffère de MD-RAID et de dmraid, car ceux-ci font exactement n copies pour n périphériques. Dans un RAID-1 btrfs sur trois périphériques de 1 To, nous obtenons 1,5 To de données utilisables. Étant donné que chaque bloc n'est copié que sur 2 périphériques, l'écriture d'un bloc donné nécessite uniquement l'écriture de 2 périphériques; la lecture peut être faite à partir d'un seul.

Et de Jens Erat sur Stack Overflow :

Btrfs distribue les données (et ses copies RAID 1) par blocs, traite donc très bien les disques durs de tailles différentes. Vous recevrez la somme de tous les disques durs, divisée par deux - et vous n'avez pas besoin de réfléchir à la façon de les regrouper en paires de taille similaire.

Si plusieurs disques tombent en panne, vous risquez toujours de perdre des données: RAID 1 ne peut pas gérer la perte de deux disques en même temps. Dans votre exemple ci-dessus, si les deux mauvais disques meurent, vous perdez toujours des données.

Cela signifie-t-il que le rééquilibrage de RAID 10 vers RAID 1 me donnera 500 Go de données supplémentaires (6,5 To au lieu de 6 To) en raison du lecteur de 4 To? Et y a-t-il une raison pour que je reste avec RAID 10?

Mikkel
la source
1
BTRFS RAID-5 est (bien que toujours expérimental) en fait assez stable et même de nombreux scénarios de récupération de données typiques fonctionnent dans la version actuelle (sans planter). Vous devriez probablement frotter de temps en temps pour vous assurer que vos données sont toujours correctes, mais cela pourrait valoir le coup. Il est possible de convertir de RAID-1 (0) en RAID-5.
basic6
@ basic6 Bon à savoir, merci. Je faisais des recherches qu'il ya quelques temps et a vu que scrubet le replacesoutien a été ajouté au 3,19, mais les gens se plaignaient encore de l'absence de dispositifs alertes de défaillance. J'ai des crons configurés pour les gommages hebdomadaires et les autotests SMART hebdomadaires / mensuels, donc je devrais être en mesure de détecter ces problèmes. Je vais essayer.
Mikkel
Les scrubs périodiques (hebdomadaires ou mensuels) sont importants, si un scrub trouve et une erreur parce qu'il ne peut pas lire à partir d'un lecteur, cela augmentera le nombre d'erreurs. Vérifiez le nombre d'erreurs à l'aide de dev stats, ce qui pourrait être un autre cronjob .
basic6

Réponses:

5

Oui, vous obtenez 500 Go supplémentaires. Notez que la détermination de l'espace disponible dans btrfs reste difficile à atteindre. Consultez également le calculateur d'utilisation du disque btrfs .

Sur votre deuxième question: vous risquez de perdre certaines performances sur votre baie. Naturellement, vos données sont tout aussi sûres sur les deux configurations RAID. En considérant les performances, vous pouvez peut-être jeter un œil à ces benchmarks: kernel.org , phoronix.com .

Avez-vous déjà essayé de convertir en RAID 1? Si oui: quelles sont vos conclusions?

Laura
la source
1
Cela ne fournit pas de réponse à la question. Pour critiquer ou demander des éclaircissements à un auteur, laissez un commentaire sous son article - vous pouvez toujours commenter vos propres articles, et une fois que vous aurez une réputation suffisante, vous pourrez commenter n'importe quel article .
DavidPostill
Cependant, pour répondre à votre question, je me suis converti et le résultat semble être conforme à mes attentes. Btrfs fait un mauvais travail d'indiquer l' espace disque disponible réel, mais vous pouvez voir dans la sortie de btrfs fi shce que l'espace supplémentaire sur le disque 4 TB est mis à profit, et (2,83 + 1,93 + 1,93 + 1,95) /2~=4.30 comme prévu. J'ai récemment subi une panne de disque et réussi à reconstruire sans perte de données, donc je peux confirmer de première main que la redondance est intacte.
Mikkel
Je suis désolé, ma réponse n'était pas claire @david. J'ai essayé de répondre aux deux questions dans les deux dernières lignes du message d'origine. De plus, j'ai indiqué une plage d'incertitude (qui semble intrinsèque à btrfs) et fourni mes sources pour référence. En effet, j'ai également posé une question à l'auteur, afin que d'autres puissent peut-être apprendre de ses conclusions. Je l'ai fait dans la réponse pour les raisons que vous avez déjà expliquées. J'examinerai vos commentaires la prochaine fois que je répondrai à une question sur l'échange de pile.
Laura
Ce n'est peut-être pas la réponse la plus sûre, mais mes résultats indiquent que vos hypothèses sont correctes, donc je l'accepte. Je ne suis cependant pas certain de votre commentaire sur les différences de performances. C'est certainement vrai pour le matériel RAID 1 vs 10, mais je ne suis pas sûr que Btrfs voit une amélioration des performances de RAID 10. En outre, ce qu'il appelle RAID 1 est toujours réparti sur plusieurs appareils ici, donc c'est encore plus proche de RAID 10 que vrai RAID 1. Si j'avais lu votre réponse avant la conversion, je l'aurais fait avant et après les tests de performances, mais je ne passe pas une semaine de plus à convertir la matrice en RAID 10 et inversement.
Mikkel
Eh bien, il y a cette page , qui montre des avantages marginaux pour RAID 10 par rapport à RAID 1, portant la mise en garde en haut que les repères ont 7 ans.
Mikkel
0

N'utilisez pas btrfs raid 5 ou 6, l'implémentation est pleine de bugs, exécutez zfs si vous le souhaitez.

Avec raid10, vous gagnerez de la vitesse.

La chose optimale à faire est de créer une partition de 3 To sur le lecteur de 4 To (assurez-vous que les 3 sont exactement de la même taille), combinez-les dans un RAID10 qui aura 6 To d'espace libre. Utilisez le 1 To supplémentaire sur le lecteur de 4 To pour / boot (cela doit être vfat de toute façon si vous voulez utiliser efistub et éviter grub ou tout autre chargeur de démarrage qui rendra votre démarrage un peu plus rapide), échangez (vous pouvez utiliser un assez grand, l'optimal serait un petit échange de zram (4 Go fonctionnent bien avec 32 Go de RAM, 2 Go devraient être bien avec 16 Go, si vous avez moins de 16 idk si cela vaut le coup et vous devriez probablement mettre à niveau de toute façon) c'est utilisé en premier (définissez la priorité sur la plus élevée) en utilisant zstd et autant de flux de compression que vous avez de cœurs / threads ...

orange_juice6000
la source