On m'a récemment parlé de certains problèmes concernant les RAID Parity sans cache non volatile. Des contrôleurs HW plus coûteux ont des caches alimentés par batterie pour terminer les opérations d'écriture en cas de panne de courant. Maintenant, certaines personnes disent qu'un tel échec, peut-être en combinaison avec un tableau dégradé, peut tuer tout votre système de fichiers. D'autres affirment que ces problèmes sont obsolètes et / ou des idées fausses .
Malheureusement, personne ne donne de références dures et ni une recherche de md RAID et de cache non volatile , ni une mise en cache bitmap ne donne de réponses fiables sur le fait que md-RAID5 soit conseillé ou non.
Des informations à ce sujet?
Réponses:
Je suppose que le RAID logiciel de Linux est aussi fiable qu'une carte RAID matérielle sans BBU et avec la mise en cache en écriture activée. Après tout, les données non validées dans un système RAID logiciel résident dans le cache de tampon du noyau, qui est une forme de mise en cache à réécriture sans sauvegarde sur batterie.
Étant donné que chaque carte matérielle RAID-5 que j'ai jamais utilisée vous permet d'activer la mise en cache en écriture différée sans BBU, je m'attends à ce que le logiciel RAID-5 fonctionne correctement pour les personnes ayant un certain niveau de tolérance au risque.
ObWarStory:
Cela dit, j'ai personnellement subi de graves pertes de données en raison de l'absence de BBU installé sur une carte RAID-5 bien que la mise en cache en écriture différée ait été activée. (Pas d'UPS non plus. Ne me criez pas dessus, pas mon appel.)
Mon patron m'a appelé dans une panique alors que j'étais en vacances parce qu'un de nos systèmes de production ne revenait pas après une panne de courant. Il n'avait plus de choses à essayer. J'ai dû m'arrêter sur le côté de la route, retirer l'ordinateur portable, activer le partage de connexion Wi-Fi sur mon téléphone,
ssh
dans le système en difficulté et le réparer, pendant que ma famille restait assise avec moi sur le côté de la route jusqu'à ce que j'aie fini restauration d'une table de base de données roached à partir d'une sauvegarde. (Nous étions à environ un mile de perdre la réception cellulaire à l'époque.)Alors dites-moi: combien paieriez-vous pour une carte RAID + BBU maintenant ?
la source
Juste un avertissement: les opérations d'écriture RAID-5/6 prennent un temps CPU important pendant que votre baie est dégradée. Si votre serveur est déjà complètement chargé lorsqu'un disque vient à tomber en panne, il peut tomber dans un abîme de non réponse. Un tel problème ne se produira pas avec un contrôleur RAID matériel. Je déconseille donc fortement d'utiliser le logiciel RAID-5/6 sur un serveur de production. Pour un poste de travail ou un serveur légèrement chargé, c'est OK cependant.
la source
SW RAID a un mode de défaillance - si le serveur tombe à mi-chemin d'une écriture, vous pouvez obtenir une bande corrompue. Un contrôleur RAID HW avec un BBU n'est pas si cher, et il conservera les blocs sales jusqu'à ce que vous puissiez redémarrer les disques.
Le BBU sur le cache ne garantit pas les écritures en cas de panne de courant (c'est-à-dire qu'il n'alimente pas les disques). Il alimente le cache pendant quelques jours jusqu'à ce que vous puissiez redémarrer les disques. Le contrôleur videra ensuite tous les tampons sales sur le disque.
Quelques notes sur SW vs HW RAID-5
Les écritures sur un volume SW RAID-5 peuvent être lentes si la mise en cache en écriture directe est utilisée avec le blocage des E / S, car l'appel ne revient pas tant que toutes les E / S ne sont pas terminées. Un contrôleur RAID HW avec un BBWC peut optimiser cela considérablement, de sorte que vous pouvez voir des performances nettement meilleures.
La dernière fois que j'ai regardé, vous ne pouviez pas faire d'E / S directes (c'est-à-dire DMA sans copie) sur un volume SW SW. Cela peut avoir changé et n'est vraiment pertinent que pour des applications telles que les gestionnaires de bases de données utilisant des partitions brutes.
Un contrôleur SAS RAID moderne peut extraire ou pousser 1 Go / s ou plus de données hors d'une matrice de disques, en particulier s'il est formaté avec une grande taille de bande (par exemple 256 Ko). J'ai même comparé un ancien Adaptec ASR-2200 à des vitesses qui indiquaient qu'il saturait à peu près ses deux canaux scsi à 600 Mo / sec + au total (disques 10x 15k) avec très peu de charge CPU sur la machine hôte. Je ne suis pas sûr que vous puissiez obtenir cela du logiciel RAID-5 sans beaucoup de charge CPU, voire pas du tout, même sur une machine moderne. Peut-être pourriez-vous lire cela rapidement.
La configuration pour démarrer à partir d'un volume RAID HW est simple - le volume RAID est transparent pour l'O / S.
Un contrôleur RAID bas de gamme d'un fournisseur de niveau 1 tel qu'adaptec n'est pas si cher au prix public et peut être acheté pour des arachides sur eBay. Mais rappelez-vous, si vous achetez d'occasion, respectez les fournisseurs de niveau 1 et assurez-vous de connaître le modèle et de vérifier la disponibilité des pilotes sur leur site Web.
Edit: D'après le commentaire de @ psusi, assurez-vous de ne pas obtenir de contrôleur fakeraid (RAID SW transparent caché dans le pilote), mais la plupart des offres des plus grands noms (Adaptec, 3Ware ou LSI) ne sont pas des unités fakeraid. Tout ce qui peut prendre un BBU ne sera pas fakeraid.
la source
Si vous avez des données dans le cache mais pas encore sur le disque et que l'alimentation est coupée, les données vont disparaître et votre disque sera très probablement dans un état incohérent. La probabilité de cela n'est pas très élevée à moins d'avoir un système qui écrit constamment, mais je ne voudrais toujours pas parier mes données sur les jeux de probabilités.
Une torsion intéressante serait de créer un système de fichiers principal sur RAID5 / 6 mais de mettre un journal sur un disque normal, de sorte que les données soient d'abord vidées sur le disque normal. Les performances iraient probablement au crapper car vous seriez limité à la vitesse d'écriture d'un seul lecteur, mais la fiabilité augmenterait. Donc, je suppose que dans une situation où vos performances d'écriture ne sont pas importantes, mais votre lecture est, cela pourrait très bien fonctionner.
Ou vous pourriez simplement dépenser 100 $ de plus et obtenir la carte avec BBU, ou un petit onduleur, et éviter toutes ces complications;)
la source
Le raid logiciel Linux mdadm est conçu pour être tout aussi fiable qu'un raid matériel avec cache sauvegardé par batterie. Il n'y a pas de problème de perte soudaine de puissance, au-delà de ceux qui s'appliquent également à une perte de puissance soudaine sur un seul disque.
Lorsque le système revient après une panne de courant, la baie est resynchronisée, ce qui signifie essentiellement que la parité est recalculée pour correspondre aux données écrites avant la panne de courant. Cela prend du temps, mais vraiment, ce n'est pas grave. Le temps de resynchronisation peut être considérablement réduit en activant le bitmap d'intention d'écriture.
la source
Voici un blog expliquant le problème avec RAID5 et comment ZFS RAIDZ le résout .
Ses points clés sont:
et
la source