En bref: si vous utilisez une carte RAID bas de gamme (sans cache), faites-vous une faveur et passez au logiciel RAID. Si vous utilisez une carte de milieu de gamme (avec BBU ou NVRAM), le matériel est souvent (mais pas toujours! Voir ci-dessous) un bon choix.
Réponse longue: lorsque la puissance de calcul était limitée, les cartes RAID matérielles présentaient l'avantage considérable de réduire le calcul de parité / syndrome pour les schémas RAID les impliquant (RAID 3/4/5, RAID6, etc.).
Cependant, avec les performances du processeur de plus en plus, cet avantage essentiellement disparu: même CPU ancienne de mon ordinateur portable (Core i5 M 520, génération Westmere) a des performances XOR de plus de 4 Go / s et les performances du syndrome RAID-6 sur 3 Go / s sur une noyau d'exécution unique .
L’avantage que le RAID matériel maintient aujourd’hui réside dans la présence d’un cache DRAM protégé contre les coupures de courant, sous la forme de BBU ou de NVRAM. Ce cache protégé donne une latence très faible pour les accès en écriture aléatoires (et les lectures correspondantes) et transforme fondamentalement les écritures aléatoires en écritures séquentielles. Un contrôleur RAID sans un tel cache est presque inutile . De plus, certains contrôleurs RAID bas de gamme ne disposent pas uniquement d'un cache, ils désactivent également de force le cache DRAM privé du disque, ce qui entraîne des performances plus lentes que celles sans carte RAID. Les cartes PERC H200 et H300 de DELL en sont un exemple: si le micrologiciel le plus récent n’a pas changé, elles désactivent totalement le cache privé du disque (et il ne peut pas être réactivé tant que les disques sont connectés au contrôleur RAID). Faites-vous une faveur et faitesn'achetez jamais de tels contrôleurs. Même si les contrôleurs les plus avancés désactivent souvent le cache privé du disque, ils ont au moins leur propre cache protégé, ce qui rend le cache privé des disques durs (mais pas des disques SSD!) Quelque peu redondant.
Ce n'est pas la fin, cependant. Même les contrôleurs capables (celui avec cache BBU ou NVRAM) peuvent donner des résultats incohérents lorsqu'ils sont utilisés avec SSD, essentiellement parce que les SSD ont vraiment besoin d' un cache privé rapide pour une programmation / effacement efficace des pages FLASH. Et tandis que certains (la plupart?) Contrôleurs vous permettent de réactiver le cache privé du disque (par exemple: PERC H700 / 710 / 710P laisser l'utilisateur le réactiver), si ce cache privé n'est pas protégé en écriture, vous risquez de perdre des données en cas de perte de puissance. Le comportement exact dépend vraiment du contrôleur et du micrologiciel (par exemple: sur un DELL S6 / i avec 256 Mo de cache WB et le cache de disque activé , je n’ai subi aucune perte lors de multiples tests de perte de puissance planifiés), ce qui crée de l’incertitude et de nombreuses préoccupations.
Les logiciels Open Source, par contre, sont beaucoup plus contrôlables: leur logiciel n’est pas contenu dans un micrologiciel propriétaire et présente des schémas et des comportements de métadonnées bien définis. Les logiciels RAID supposent (à droite) que le cache DRAM privé du disque n’est pas protégé, mais il est également essentiel pour des performances acceptables. Par conséquent, ils ne le désactivent généralement pas. Ils utilisent plutôt les commandes ATA FLUSH / FUA pour être certain que les données atterrissent sur un stockage stable. Comme ils fonctionnent souvent à partir des ports SATA connectés au chipset SB, leur bande passante est très bonne et le support des pilotes est excellent.
Toutefois, s’il est utilisé avec des disques durs mécaniques, un schéma d’accès en écriture synchronisé et aléatoire (par exemple: bases de données, machines virtuelles) en souffrira considérablement par rapport à un contrôleur RAID matériel avec cache WB. D'autre part, lorsqu'il est utilisé avec des disques SSD d'entreprise (c'est-à-dire avec un cache en écriture protégé Powerloss), le logiciel RAID excelle souvent et donne des résultats encore supérieurs à ceux obtenus avec des cartes RAID matérielles. Cela dit, vous devez vous rappeler que les disques SSD grand public (avec le cache d'écriture différé non protégé), tout en étant très performants en lecture et en écriture async, fournissent des IOPS très faibles dans les charges de travail en écriture synchronisée.
Considérez également que les RAID logiciels ne sont pas tous créés égaux. Le logiciel Windows RAID a une mauvaise réputation en termes de performances, et même l'espace de stockage ne semble pas trop différent. Linux MD Raid est exceptionnellement rapide et polyvalent, mais la pile d’E / S Linux est composée de plusieurs éléments indépendants que vous devez bien comprendre pour obtenir des performances maximales. Le RAID de parité ZFS (ZRAID) est extrêmement avancé mais, s’il n’est pas configuré correctement, il peut vous donner de très mauvais IOP; En miroir + entrelacement, de l’autre côté, fonctionne assez bien. Quoi qu'il en soit, il nécessite un périphérique SLOG rapide pour la gestion d'écriture synchrone (ZIL).
Ligne de fond:
- si vos charges de travail ne sont pas sensibles à l'écriture aléatoire synchronisée, vous n'avez pas besoin d'une carte RAID.
- si vous avez besoin d'une carte RAID, n'achetez pas de contrôleur RAID sans cache WB
- Si vous prévoyez d'utiliser un logiciel SSD, le logiciel RAID est préférable, mais gardez à l'esprit que pour les écritures aléatoires hautement synchronisées, vous avez besoin d'un disque SSD protégé Powerloss (par exemple: Intel S4600, Samsung PM / SM863, etc.). Pour des performances pures, le meilleur choix est probablement le Linux MD Raid, mais de nos jours, j'utilise généralement des miroirs ZFS à bandes. Si vous ne pouvez pas permettre de perdre la moitié de l'espace en raison de miroirs et a besoin ZFS fonctionnalités avancées, aller avec ZRAID mais bien réfléchir à votre configuration de VDEVs.
- Si, même avec un disque SSD, vous avez vraiment besoin d’une carte RAID matérielle, utilisez-le avec des caches protégés en écriture (les Micron M500 / 550/600 bénéficient d’une protection partielle - pas vraiment suffisante mais c'est mieux que rien - tandis que les séries Intel DC et S subissent une perte de puissance totale. protection, et on peut en dire autant des SSD d’entreprise Samsung)
- Si vous avez besoin de RAID6 et que vous utiliserez des disques durs mécaniques normaux, envisagez d’acheter une carte RAID rapide dotée d’un cache WB de 512 Mo (ou plus). RAID6 est très pénalisé en termes de performances d’écriture, et un cache WB de taille appropriée peut au moins fournir un stockage intermédiaire rapide pour de petites écritures synchrones (par exemple: journal du système de fichiers).
- Si vous avez besoin de RAID6 avec disques durs mais que vous ne pouvez pas / ne voulez pas acheter une carte RAID matérielle, réfléchissez bien à la configuration de votre logiciel RAID. Par exemple, une solution possible avec Linux MD Raid consiste à utiliser deux baies: une petite baie RAID10 pour les journaux d'écriture de journal / bases de données et une baie RAID6 pour le stockage brut (en tant que serveur de fichiers). Par ailleurs, le logiciel RAID5 / 6 avec SSD est très rapide, vous n’avez donc probablement pas besoin d’une carte RAID pour une configuration entièrement SSD.