Avec FlashBlade, Pure Storage veut élargir le marché de la Flash
A l'occasion de sa conférence Pure Accelerate, le constructeur a dévoilé FlashBlade un système de stockage Flash scale-out conçu pour le stockage massif de données non structurées et supportant des protocoles NAS et objet.
Pure Storage veut étendre l’usage du stockage flash à de nouveaux domaines. La firme a pour cela présenté un nouveau système de stockage Flash en mode scale-out lors de sa conférence Pure Accelerate, qui s’est achevée hier à San Francisco.
Le FlashBlade est une baie de stockage qui sera accessible via des protocoles NAS comme SMB et CIFS et via des protocoles de stockage objet comme S3. « Sera » car la baie n’en est pour l’instant qu’au stade de préversion. Si les éléments matériels sont largement définis, l’OS de la baie ne sera finalisé que vers la fin de l’année.
Le marché visé par la firme avec FlashBlade est celui du stockage de fichiers massifs, du stockage de logs, du stockage d'images et de vidéos et de l’analytique, des marchés où la performance est de plus en plus nécessaire, mais où le coût au gigaoctet doit rester raisonnable. Pure Storage estime qu’avec FlashBlade, il pourra proposer des prix au gigaoctet inférieurs à 1 $ par Go stocké. De quoi satisfaire les besoins d’une part significative du marché du stockage « secondaire » utilisé pour les données non structurées.
FlashBlade : 15 lames de stockage dans un châssis compact
La baie se présente sous la forme d’un châssis dense de 4U de haut, capable d’accueillir jusqu’à 15 lames. Chacune d’entre elles est un serveur x86 doté d’un processeur octo-cœur Intel Xeon de génération Broadwell — un SOC Xeon-D — et de 64 ou 128 Go de mémoire (le maximum supporté par le SOC d’Intel à l’heure actuelle). Chaque lame embarque aussi un module de NVRAM pour le cache et accueille un module de Flash PCIe propriétaire d’une capacité de 8 To ou de 52,8 To. Ces modules sont pour l’instant constitués de puces Flash MLC (Pure Storage ne ferme pas la porte à l’usage de Flash 3D pour l’avenir) et sont pilotés par un CPU ARM et un ou plusieurs FPGA (selon la capacité). Pour faire court, le CPU Intel se charge de la gestion des I/O, des services de données et de la gestion des métadonnées, tandis que les modules propriétaire se chargent de la gestion de la Flash et du chiffrement des données. Modules Flash et carte mère communiquent via un protocole propriétaire au-dessus du bus PCIe pour des performances optimales et une latence minimale.
Chaque lame est connectée via un plan intermédiaire (midplane) à un back-end qui embarque un switch Ethernet massif ainsi qu’un contrôleur qui pilote le châssis, supervise le fonctionnement des lames et embarque les outils d’administration et de configuration du système. Chaque lame dispose de deux interfaces 10Gigabit Ethernet (fournies par le SOC Intel), tandis que le châssis expose 8 ports à 40 Gigabit Ethernet en face arrière. Techniquement, le FlashBlade a toutes les caractéristiques d’un cluster-in-a-box ce qui permet un déploiement simple mais aussi des économies substantielles en matière de câblage.
Les communications entre les lames sont optimisées via la mise en œuvre de certains éléments de la stack SDN d’Intel et notamment la librairie DPDK qui permet de doper de façon significative la performance réseau tout en optimisant l’usage du CPU en faisant tourner une partie de la pile réseau non plus dans le noyau Linux mais en mode « user space ». Selon Pure Storage, cela permet de ramener la latence de communication entre les lames à moins de 100 microsecondes.
Notons qu’il est possible de relier plusieurs châssis entre eux via un réseau à 40 Gigabit Ethernet. Pure Storage supporte pour l’instant un cluster de 2 châssis et entend à terme supporter un maximum de 10 châssis. La firme reste toutefois prudente, car vu les capacités concernées, la constitution d’un cluster de grande taille constitue un risque en termes de domaine de panne. Elle considère donc pour l’instant que l’interconnexion de 2 châssis devrait suffire à la plupart des besoins, d’autant qu’à terme, l’accroissement de la capacité des modules Flash interne devrait encore doper la capacité du système.
Elasticity : Un nouvel OS conçu spécifiquement pour le FlashBlade
Côté logiciel, chaque lame fait tourner le nouvel OS flash maison, baptisé Elasticity. Cet OS implémente une large partie des services de données déjà proposées sur les baies Flash Array comme la compression, la déduplication, les snapshots ou la réplication (ces deux derniers sont encore en développement) mais il a surtout pour mission de gérer la base de données transactionnelle massivement distribuée qui permet de gérer les données stockées sur la baie.
Concrètement, les opérations d’entrées/sorties sont distribuées selon un mécanisme de type round-robin, entre les différentes lames et prises en charge par des processus logiciels que Pure Storage baptise « Authorities ». Lorsqu’une opération d’écriture se présente, elle est prise en charge par l’un des processus « Authority » et les données sont immédiatement inscrites sur les modules NVRAM de trois lames avant que la transaction ne soit acquittée vers le serveur qui a initié l’opération d’I/O. Régulièrement les données en NVRAM sont « vidangées » sur les modules Flash. Dans la pratique, les données sont écrites en utilisant un mécanisme de code à effacement avec une redondance N + 2 afin de garantir la protection des données en cas de défaillance d’un composant. En cas de panne d’une lame, les données sont redistribuées entre les autres nœuds disponibles afin de retrouver une redondance satisfaisante. L’ajout d’une lame permet non seulement d’accroître la capacité du système mais aussi de doper les performances.
Notons que pour allier, efficacité, performance et coût, il faut au minimum 7 lames pour démarrer un système FlashBlade. Il est possible de mixer des lames 8To et 52 To, mais ces dernières ne seront pleinement utilisées que si elles sont en nombre suffisant dans le système.
Dans la version actuelle du système (accessible en mode dit Directed Availability auprès du constructeur), seuls le mode objet (propriétaire) et le mode NFS sont accessibles. L’objectif de Pure est au final de supporter également CIFS, S3 et HDFS (Hadoop File System) ce qui devrait permettre de répondre aussi bien aux besoins d’applications historiques qu’à ceux des nouvelles applications web.
Une baie scale-out de 1,5 Po dans un châssis de 4U
Un châssis avec 15 lames offre une capacité brute maximale de 792 To et une capacité utile après compression et déduplication de 1,5 Po, ce qui fait du FlashBlade le plus dense de tous les systèmes Flash du marché. Surtout, à moins de 1 $ par Go et avec un débit annoncé de l’ordre de 15 Go/s, la baie pourrait être un concurrent redoutable pour les NAS scale-out du marché qu’il s’agisse de ceux de NetApp ou d’Isilon, ou de systèmes de stockage objet disposant d’un accès en mode NFS. Pure Storage estime ainsi pouvoir dépasser le millions d’IOPS NFS par seconde avec un système pleinement.
Si la firme réussit son coup, elle pourrait, avec ce nouveau système, convertir de nouveaux pans du marché à la Flash et au passage tailler un peu plus des croupières à ses concurrents historiques. Reste désormais à tenir les promesses et à délivrer la baie FlashBlade dans les temps et avec les fonctions annoncées. Les différents développeurs du système avec lesquels nous avons pu discuter sont conscients du challenge et ne cachent pas que la baie est encore loin d’être finalisée. Mais ils n’avaient aucun doute quant à leur capacité à livrer un système opérationnel avant la fin de l’année et les premiers clients présents à l’événement ne cachaient pas non plus leur satisfaction vis-à-vis de la baie. À suivre donc…