Stockage : quel système RAID pour les SSD ?
Le RAID fait office de standard pour garantir la fiabilité des données. Pour autant, quel niveau de parité est le plus adapté aux SSD ? Et quelles sont les meilleures alternatives ? Cet article fait le point.
Avec la baisse du coût du stockage flash et l’augmentation de sa capacité, le RAID est-il encore pertinent ? Pendant trois décennies, les équipements RAID ont constitué la majeure partie du stockage pour les serveurs, la sauvegarde, l’archivage et même le cloud computing. Le dispositif RAID dans un système de stockage assure la fiabilité des données malgré la panne d’un disque dur, c’est-à-dire qu’il permet de placer des données critiques sur des disques peu chers et, en combinant ces disques dans une baie de stockage, il sert aussi à surmonter leur vitesse limitée afin d’atteindre des performances proches de celles des disques les plus rapides.
Au fil du temps, les fournisseurs ont développé des niveaux RAID plus complexes pour s’adapter aux disques SSD, tandis que des protocoles alternatifs de protection des données, citons l’Erasure Coding, ont proliféré chez les hébergeurs de cloud et dans les offres d’équipements de stockage hybride, voire de stockage objet.
Les systèmes RAID protègent principalement les données de deux manières : soit en mettant en miroir un disque physique dans son intégralité, soit en stockant des données de parité sur un ou plusieurs disques, lesquelles sont utilisées pour reconstruire un disque défaillant.
Différents niveaux de parités
Les fabricants de baies de stockage RAID ont dû trouver un équilibre entre les performances, la résilience et la surconsommation de capacité concernant les données en miroir ou de parité. Dans sa forme la plus simple, le RAID 1, ou mise en miroir, copie simultanément toutes les données sur deux ou trois disques. La quantité de stockage supplémentaire nécessaire pour les miroirs est donc de 100 ou 200 % du stockage utilisable.
D’autres niveaux de RAID visent à réduire la surconsommation de stockage et donc le coût, sans pénaliser les performances. En effet, le RAID 1 offre les temps d’écriture (en double) et de reconstruction les plus rapides, alors que tous les autres niveaux de RAID doivent calculer la génération de données à l’aide de bits de parité.
Le RAID 4 répartit les données au niveau des blocs (striping) et stocke toutes les données de parité sur un seul disque. Le RAID 5 répartit les données sans avoir besoin d’un disque de parité dédié. Le RAID 6 utilise une double parité distribuée pour une protection supplémentaire des données. Le RAID 10 combine la mise en miroir et la répartition des données.
Les niveaux RAID 2 et 3 sont rarement utilisés. Par ailleurs, un certain nombre de fournisseurs proposent désormais des systèmes RAID propriétaires, dans le but de réduire encore plus la surcharge de capacité que le RAID 5 ou le RAID 6.
Quel niveau de parité pour les SSD ?
En termes de performances uniquement, le RAID n’est pas un choix évident pour le stockage flash. Les performances d’un seul support l’emportent facilement sur le RAID dans presque tous les scénarios. « Et pour cause : les disques SSD qui utilisent des composants NAND offrent une latence inférieure et un débit supérieur aux dispositifs RAID prévus pour les disques avec connectique SAS », explique Eric Burgener, analyste chez IDC.
Mais en termes de coût, les baies 100 % flash restent nettement plus chères que celles avec des disques durs mécaniques. À capacité équivalente, les SSD sont généralement sept à huit fois plus chers que les disques durs. Et comme ils n’atteignent généralement pas les mêmes capacités, ils nécessitent de déployer des baies de stockage plus grandes.
Eric BurgenerAnalyste chez IDC
« En clair, vous aurez tendance à vouloir déployer du RAID 1 ou du RAID 10 pour limiter les chutes de latence sur vos SSD, sauf que cette option sera la plus chère », lance Eric Burgener. « À l’inverse, RAID 4, 5 ou 6 limitent le surcoût de capacité, mais ils ont tendance à avoir plus d’impact en mode de récupération, car les données doivent être lues à partir de plusieurs périphériques et le calcul doit être effectué sur ces données en utilisant un ou plusieurs blocs de parité. »
Eric Burgener estime que la baisse de performances induite par les calculs de parité est compensée dans une certaine mesure par la rapidité des SSD. « L’inconvénient est surtout qu’un pourcentage important de stockage flash – coûteux – est réservé aux données de parité. Dans un système RAID 6, avec une répartition standard en 4+2 (quatre bits de données et deux bits de parité), le coût du RAID représente un tiers de celui du stockage. »
Pour les systèmes courants, et lorsque les besoins en stockage de données sont relativement modestes – jusqu’à environ 20 To –, le RAID 6 est probablement suffisant. La plupart des designers informatiques estiment que la plus grande résilience du RAID 6 vaut l’augmentation de coût ou la pénalité de capacité par rapport au RAID 5. Le RAID 10 est également une option, généralement pour les applications les plus sensibles à la latence et pour la haute disponibilité.
Les systèmes flash présentent toutefois quelques différences techniques essentielles qui influent sur la conception des schémas RAID. Le stockage flash se détériore au fur et à mesure qu’il est utilisé, et c’est davantage le cas pour les écritures que pour les lectures. Les supports flash plus récents, mais moins chers, comme les SSD QLC, ont une durée de vie en écriture plus courte que les générations précédentes. Or, les applications peuvent être gourmandes en écriture et les fournisseurs de matériel ont donc dû inventer des techniques pour minimiser les écritures et prolonger la durée de vie du système.
Des alternatives au RAID plus adaptées au SSD, mais contraignantes
En vérité, il existe de nouvelles formes de protection des données qui sont mieux adaptées au stockage flash, car elles réduisent la consommation de capacité. Ces systèmes prennent en considération la taille moyenne des SSD, plus petite que celle des disques durs, pour répartir les données de parité sur un plus grand nombre de volumes.
Jusqu’à présent, la majorité des fournisseurs de baies 100 % Flash proposent le système RAID 6. Mais un certain nombre de nouveaux entrants optent pour des technologies alternatives. C’est par exemple le cas de Kaminario qui utilise une répartition 22+2 sur ses baies 100 % flash. Ce format réduit les coûts, mais ne fonctionne qu’avec des baies comportant au moins 24 disques. Vast Data combine quant à lui des SSD Intel Optane et des SSD QLC et utilise une répartition très économique de 150+4, ce qui représente un surcoût de seulement 2 %. Mais la capacité minimale du système est forcément de 1 Po.
Autre alternative, l’Erasure Coding a été popularisé chez les acteurs du cloud, mais son utilisation dans les datacenters a été ralentie par ses faibles performances. Toutefois, cette contrainte est censée être de mieux en mieux compensée par la rapidité des SSD. D’autant que l’Erasure Coding permet aux entreprises de mieux contrôler le niveau de protection qu’elles souhaitent, ainsi que la redondance physique. En clair, les entreprises peuvent jouer sur les curseurs pour limiter leurs coûts.
En Erasure Coding, les données sont divisées en fragments numérotés, de sorte qu’ils puissent être stockés sur des équipements de stockage différents. L’Erasure Coding est de fait bien adapté à la protection du stockage en cloud. L’Erasure Coding utilise également moins de capacité de stockage que le RAID et permet la récupération des données en cas de défaillance d’au moins deux éléments dans un cluster de stockage.
L’Erasure Coding utilise la correction d’erreur directe, une technique similaire à celle utilisée dans les transmissions radio qui revient à une forme de compression avec perte, à l’instar de la technologie utilisée pour créer un fichier MP3 ou un CD de musique. Dans ce système, si un bloc de données est divisé en 16 fragments, l’original peut être restauré en utilisant seulement 10 fragments.