Si je comprends bien,
- un SSD * peut être attribué pour mettre en cache plusieurs disques durs de sauvegarde, puis les périphériques mis en cache résultants peuvent être RAIDés avec mdadm
ou - plusieurs disques durs peuvent être RAIDés dans un seul périphérique md de support et le SSD affecté au cache qui
Je me demande quelle est l'approche la plus saine. Il me semble que la croissance d'un RAID5 / 6 peut être plus simple avec l'une ou l'autre technique, mais je ne sais pas laquelle!
Existe-t-il de bonnes raisons (par exemple, augmenter le stockage de sauvegarde ou autre) pour choisir une approche plutôt que l'autre (pour un grand système de fichiers non root contenant des fichiers de sauvegarde de VM)?
* par "un SSD", je veux dire une sorte de périphérique SSD redondant, par exemple un RAID1 de deux SSD physiques
bcache
doivent être formatés devront être formatésbcache
- vous devrez donc soit créer unmd
tableau, formater le disque résultant entièrement en tant quebcache
partition sauvegardée, le lier à son lecteur de cache et y aller, ou formater plusieurs disquesbcache
, liez-les à leur lecteur de cache, puis formatez les nombreux disques en une seule baie. Dans les deux cas, il y a plusieurs points de défaillance possibles qui dépendent tous de l'interopérabilité entre deux systèmes de fichiers - sans parler des fs finaux. voir ici : faites défiler vers le bas .Réponses:
Je pense que la mise en cache de l'ensemble du périphérique md est plus logique.
Mettre bcache pour mettre en cache l'ensemble du périphérique md sacrifie l'idée d'avoir un raid, car cela introduit un autre point de défaillance unique.
Les pannes OTH des disques SSD sont relativement rares et bcache peut être placé en mode
writethrough
/writearound
(contrairement auwriteback
mode), où aucune donnée n'est stockée uniquement sur le périphérique de cache, et l'échec du cache ne tue pas les informations contenues dans le raid en fait une option relativement sûre.Un autre fait est qu'il existe une surcharge de calcul importante pour le RAID-5 logiciel; lors de la mise en cache de chaque membre du raid en rotation séparément, l'ordinateur doit toujours recalculer toutes les parités, même en cas de succès de cache
Évidemment, vous sacrifieriez un espace ssd coûteux, si vous mettez en cache chaque disque en rotation séparément.- Sauf si vous prévoyez d'utiliser le cache ssd raidé.Les deux options n'affectent pas relativement le temps de croissance du processus - bien que l'option avec les disques tournants mis en cache séparément a le potentiel d'être plus lente en raison d'un trafic de bus plus important.
Il est rapide et relativement simple de configurer bcache pour supprimer le lecteur ssd, lorsque vous devez le remplacer. Grâce aux blocs, il devrait être possible de migrer la configuration du raid dans les deux sens sur place.
Rappelez - vous aussi, que pour le moment la plupart (tous?) Les distributions live-CD ne prennent pas en charge
bcache
, de sorte que vous ne pouvez pas simplement accéder à vos données avec ces outils quelle que soit labcache
-mdraid
option mise en page que vous avez choisi.la source
Je pense que l'approche sensée consiste à mettre en cache le périphérique MD résultant.
bcache est conçu pour passer par des lectures et des écritures séquentielles.
Si vous bcachez chaque périphérique séparément, logiquement, plusieurs périphériques entrelacés dans un MD raidé ou dépouillé, du point de vue bcache, écriront constamment des blocs aléatoires.
Alors qu'un volume MD bcached aura l'air normal, écrire des fichiers sur le volume, plutôt que des blocs aléatoires sur plusieurs appareils.
L'intérêt du raid matériel et logiciel est de procéder à l'entrelacement des données dans le backend afin que le système de fichiers résultant ressemble à un volume normal.
Cela peut ne pas être correct (car les développeurs bcache peuvent être intelligents et tenir compte de ce genre de situation), mais la chose logique optimale à faire est de mettre en cache les volumes, plutôt que de bloquer les périphériques.
la source