Le point sur l'offre 100% Flash d'EMC

Dans le cadre d'un tour d'horizon de l'offre 100% Flash des principaux acteurs du monde du stockage, LeMagIT vous propose un point sur les solutions de stockage Flash de Dell-EMC.

Le numéro un mondial du stockage est entré très tôt sur le marché du stockage 100 % Flash en acquérant l‘Israélien XtremIO et sa technologie éponyme en 2011. Depuis, la firme d’Hopkinton a entamé la conversion d’une large part de son portefeuille de stockage au 100 % avec des fortunes diverses. Elle a aussi investi dans le stockage Flash à très haute performances avec le rachat de DSSD. Dans cet article, nous vous proposons un tour d'horizon rapide de l'offre de stockage du constructeur.

XtremIO : le fer-de-lance de l’offre d’EMC

Dévoilées en 2013, les baies de stockage XtremIO s’appuient sur une architecture scale-out limitée à quelques nœuds (8 au maximum, aujourd’hui), qui permet d’agréger plusieurs systèmes en un pool de stockage unique. Chaque système (ou X-Brick) est en fait un composé de deux nœuds contrôleurs en mode actif/actif, protégés par un onduleur et raccordés à un châssis externe contenant 25 disques SSD eMLC. Il est possible de démarrer avec un X-Brick puis d’en ajouter progressivement d’autres en les reliant via une fabric Infiniband. Côté front-end, la baie dispose de connexions Fibre Channel et Ethernet (iSCSI).

Les flux de données entrants sont répartis entre les contrôleurs d’un « cluster » via MPIO ou Powerpath afin d’assurer une distribution homogène des IO entre les nœuds du cluster. Les données entrantes sont découpées par les contrôleurs en blocs de 4 K. Automatiquement, une empreinte du bloc est effectuée via un algorithme de hash. Cette empreinte est utilisée pour placer la donnée sur le cluster. Elle est immédiatement comparée à la table globale des empreintes existantes dans la baie. Si l’empreinte est déjà présente (ce qui veut dire qu’un bloc de données similaire a déjà été écrit), le bloc de données entrant n’est pas écrit à nouveau. La baie incrémente automatiquement un compteur et crée un pointeur pour référencer le bloc existant. Cela permet de dédupliquer les blocs et au passage de décharger le back-end de la baie d’une partie des écritures.

Selon EMC, la capacité et les performances augmentent de façon linéaire avec le nombre de nœuds. Une des raisons de cette « scalabilité » est que les échanges entre nœuds ne s’effectuent pas sur le même réseau que celui qui sert les IO en provenance des serveurs, mais via une fabric dédiée, la fameuse fabric Infiniband. Cela permet, toujours selon le constructeur, de garantir des niveaux d’IOPS élevés. EMC indique ainsi qu’une baie XtremIO peut délivrer environ 250 000 IOPS en lecture aléatoire de blocs de 4K. En écriture, le constructeur revendique 100 000 IOPS par X-Brick en écriture de données non déduplicables et 150 000 IOPS avec un taux de déduplication de 2 : 1 en lecture par X-Brick). Typiquement, ce niveau de performance est suffisant pour supporter environ 7 000 postes de travail virtualisés sur un seul système ou jusqu’à 3 500 clones liés.

La force (et la faiblesse) d’XtremIO est que chaque nœud de stockage d’un cluster XtremIO tire parti des capacités RDMA (Remote Direct Memory Access) de la fabric Infiniband pour disposer d’un accès transparent aux métadonnées des autres nœuds. Cette capacité permet au système de distribuer de façon équilibrée les données afin qu’elles soient traitées par le contrôleur le plus adapté, par le bon CPU et le bon cœur de ce CPU. Le problème de cette architecture est que toutes les métadonnées doivent être en mémoire dans chaque nœud. Un autre problème est que les X-Brick d’un même cluster doivent être symétriques, avec la même capacité mémoire et la même capacité de disque. Enfin un dernier problème est que la perte d’un nœud aurait des conséquences catastrophiques sur le cluster (c’est la raison pour laquelle EMC a opté pour des systèmes bi-contrôleurs et a intégré des onduleurs en configuration redondante pour protéger les contrôleurs de chaque X-Brick). Une défaillance catastrophique d’alimentation — ce qui suppose la chute de deux onduleurs alimentant un même X-Brick — pourrait en effet faire s’effondrer un cluster XtremIO.

EMC assure pourtant que la baie n’a aucun point de faille unique. En plus de la protection électrique redondante, la protection des données est assurée via un mécanisme de parité qui peut supporter jusqu’à la perte de 6 disques sur les 25 disques SSD d’un X-Brick, mais il n’y a pas de mécanisme de parité distribué entre les nœuds. Chaque X-Brick est de facto responsable de la protection des données qu’il contient. Cette approche est à l’opposé d’un système en cluster de type « shared nothing », comme celui de Solidfire, où le cluster peut supporter la perte de SSD, mais aussi la perte d’un nœud – EMC est d’ailleurs familier de ces concepts puisqu’ils sont implémentés par ses baies NAS en cluster Isilon. La probabilité de défaillance catastrophique est extrêmement faible, mais nul n’est à l’abri de Murphy.

L’architecture XtremIO est bâtie pour la performance, mais ce choix a forcé le constructeur à faire quelques sacrifices d’importance en matière de services de données. Snapshot et clonage sont bien présents, mais la réplication ne fait pas partie du vocabulaire de XtremIO. La seule solution pour protéger les données est de virtualiser la baie avec un contrôleur Vplex (ce qui permet aussi des architectures en miroir actif/actif). Mais l’usage de Vplex a non seulement un coût, mais aussi un impact sur les performances. Autre limitation, l’administration (pour l’instant en Java, en attendant la future interface Web) et la gestion des performances nécessitent l’ajout de serveurs x86 externes, contrairement à un Pure Storage, qui implémente tous ces services dans ses contrôleurs.

En dépit de ces biais, XtremIO est aujourd’hui, l’architecture 100 % Flash la plus vendue au monde, ce qui est aussi un témoignage de la puissance commerciale d’EMC.

Le VMAX se convertit à la Flash

XtremIO n’est toutefois pas la seule solution pour mettre en œuvre du 100 % Flash chez EMC. La plupart des baies du constructeur sont aussi en cours de conversion au 100 % Flash. En mars 2016, la firme a ainsi dévoilé la déclinaison 100 % Flash de ses VMAX 3, le VMAX-AF. Même si le nom se veut nouveau, le VMAX-AF n’est rien d’autre qu’un VMAX 3 équipé de tiroirs de SSD et mis à jour avec la dernière mouture de l’OS HyperMax.

Avec cette machine, EMC entend répondre aux demandes de la base installée VMAX qui ne veut pas changer de plate-forme mais a besoin de performances plus élevées sans sacrifier les services avancés de données dont elle a l’habitude. Le VMAX-AF répare aussi une erreur stratégique spectaculaire, qu’EMC a payée au prix fort, l’absence de support des mainframes dans les VMAX 3, qui a permis à Hitachi et IBM de refaire une partie de leur retard sur le marché du stockage critique. La mission du VMAX AF est d’enrayer cette érosion.

Signalons qu’EMC ne propose pour l’instant aucun service d’optimisation de données sur ses VMAX-AF. La déduplication est définitivement absente, mais le constructeur promet le support de la compression de données via une prochaine mise à jour de l’OS HyperMax. EMC semble miser sur le fait que dans les environnements critiques, l’argument du coût au Gigaoctet sera secondaire par rapport aux fonctions avancées de disponibilité, de réplication et de gestion de la qualité de service des VMAX. Mais il s’agit d’un pari risqué face à des concurrents toujours plus agressifs.

L’architecture du VMAX-AF est en tout point identique à celle des VMAX 3. Les processeurs utilisés sont les mêmes Xeon E5v2 que ceux utilisés par les VMAX 200K et 400K. Le backend disque reste le SAS 6Gbit/s et les tiroirs de disques restent identiques (notamment le tiroir haute capacité « Viking », capable d’accueillir 120 SSD). L’interconnexion des moteurs se fait toujours via la même fabric Infiniband. Petite nouveauté, EMC a modifié le packaging des VMAX-AF. Le composant de base est désormais un Vbrick, qui réunit un « moteur » VMAX (deux contrôleurs) et deux tiroirs de disques « Viking » configurés avec un minimum de 53 To de Flash.

Deux modèles sont disponibles dans la gamme VMAX-AF. Basé sur la même plate-forme que le VMAX 200K, le VMAX-AF 450 est capable d’agréger jusqu’à 4 « moteurs » et 960 SSD. Dérivé du VMAX 400K, le VMAX 850 accueille, quant à lui, jusqu’à 8 « moteurs » et 1 920 SSD. Les disques supportés sont des modèles MLC de 960 Go, 1,9 To et 3,8 To. EMC a aussi simplifié son offre commerciale puisque le constructeur propose désormais deux packages logiciels. Le package de base baptisé « Package F » inclut les licences illimitées pour le Thin Provisioning, la gestion de la QoS, le support des VVOLs, de SnapVX, ainsi que celui d’AppSync. Il comprend aussi la licence pour la console graphique Unisphere.

Le package FX inclut quant à lui les services de données avancés comme la suite de réplication SRDF, la suite VIPR (contrôleur et SRM), la passerelle cloud CloudArray, les services embarqués partage de fichiers eNAS, et la console Unisphere 360 (pour le pilotage de jusqu’à 200 VMAX via une console unifiée).

Unity : une baie 100 % Flash de milieu de gamme sans déduplication

EMC a profité d’EMC World 2016 pour convertir son architecture de baie unifiée de milieu de gamme au 100 % Flash. La famille EMC Unity, qui a pris le relais des VNXe et VNX, tire son nom de son système d’exploitation, qui est une évolution de l’OS Unity, apparu pour la première fois dans les baies VNXe. Unity est le produit de plusieurs années de développement visant à faire converger deux systèmes d’exploitation historiques d’EMC, l’OS « DART » des ex-baies NAS Celerra et l’OS « FLARE » des ex-baies SAN Clariion d’EMC. La déclinaison utilisée par les baies de stockage EMC Unity avait pour nom de code « Unity. Vnext » et elle est l’aboutissement de ce processus.

Selon EMC, les baies Unity en version 100 % Flash affichent des performances en crête de l’ordre 400 000 IOPS en blocs de 4 K. Mais EMC a pris quelques raccourcis pour concevoir ses nouvelles baies. Il a notamment omis pour l’instant d’incorporer des fonctions de déduplication de données dans sa dernière création. L’OS Unity ne supporte, à ce jour, que la compression en ligne des données. À EMC World, la firme s’est bien gardée de promettre officiellement le support de la déduplication et a choisi de faire passer le message d’un éventuel support via des porte-parole locaux. À ce jour, aucun engagement ferme, par écrit, n’a été effectué pour le support de la déduplication en ligne des données, ce qui place Unity en position défavorable par rapport à des baies comme celles de Kaminario, Nimble Storage, NetApp ou Pure Storage. EMC se rattrape avec des prix frontaux agressifs, puisqu’une baie 100 % Flash avec 4 To de Flash TLC est proposée à moins de 18 000 €.

Isilon, en cours de conversion au 100 % Flash

EMC World 2016 a aussi été l’occasion pour EMC d’évoquer le « projet Nitro » qui vise à produire une version 100 % Flash de son système NAS scale-out Isilon d’ici à la fin de l’année (ou au début 2017). Comme Pure Storage (avec ses baies FlashBlade), EMC estime qu’il existe un marché pour une solution NAS à très haute performance servant notamment les besoins de clients dans les médias (montage/compression vidéo), le HPC, le design électronique ou l’analytique.

Le projet Nitro vise à produire un châssis dense à base de lames équipées de disques Flash NVMe. Selon Chad Sakac, le patron de VCE, Chaque châssis incorporera un nombre non précisé de lames de 4 U de haut reliées par une fabric Ethernet et aura une capacité maximale de 900 To avec des SSD NVMe de 15 To, soit 60 disques par châssis. Un scénario possible est que le châssis dispose 4 grosses lames bi-socket Xeon (soit un total de 80 lignes PCIe Gen3), chacune reliée à 15 disques NVMe (4 lignes PCIe chacun) et disposant de 2 ports 40 Gbit/s (8 lignes PCIe).

Les châssis seront eux aussi interconnectés par une fabric Ethernet, mais cette fois-ci à 40 Gbit/s. Selon EMC, chaque châssis disposerait de 8 interfaces 40 Gbit/s pour la connexion aux hôtes et de 8 interfaces 40 Gbit/s pour les interconnexions du cluster. Il sera possible d’agréger plus de 400 lames au sein d’un même cluster pour une capacité totale de 100 Po. Le coût au Teraoctet brut annoncé par EMC est de l’ordre de 300 $ (ce qui est agressif et veut sans doute dire que les disques de 15 To utilisés seront des disques utilisant de la Flash 3D TLC). 

Selon Chad Sakac, les futures baies Isilon 100 % Flash bénéficieront d’une réécriture de la pile I/O de OneFS. Il est vraisemblable qu’à l’instar de Pure Storage, EMC a sans doute travaillé sur la pile TCP/IP et utilisera une approche dérivée des efforts d’Intel autour de DPDK pour le traitement accéléré de paquets réseau en mode user space — DPDK a été porté par Intel pour FreeBSD qui est l’OS utilisé par Isilon comme base pour son système d’exploitation OneFS. Chaque nœud du projet Nitro devrait délivrer environ 250 000 IOPS avec une latence sous la milliseconde — contre environ 25 000 IOPS pour un nœud S210 — et jusqu’à 15 Go de bande passante.

D’après Chad Sakac, les nouvelles baies Isilon 100 % Flash reprendront aussi les fonctions essentielles des actuels nœuds Isilon comme les snapshots, les fonctions de réplication Asynchrone SyncIQ, le tiering vers le cloud (CloudPools). Elles supporteront les multiples protocoles de stockage déjà gérés par OneFS, dont SMB 3.x, NFS v3/v4, mais aussi HDFS et OpenStack Swift, deux protocoles ajoutés en février 2015 à l’arsenal des baies NAS en cluster d’EMC. EMC n’a pas précisé si la déduplication, supportée en mode Post process (smartdedupe) depuis la version 7.1 de l’OS OneFS, serait de la partie.

DSSD : la quête de la performance absolue

Le dernier pion dans l’arsenal Flash d’EMC est sans doute le plus impressionnant. Après avoir racheté DSSD en mai 2014, EMC a officiellement lancé en mars 2016 la baie DSSD D5, un système de stockage 100 % Flash capable de délivrer près de 100 Go/s de bande passante et près de 10 millions d’IOPS avec une latence inférieure à 100 microsecondes dans un format de 5U.

La baie bi-contrôleur DSSD D5 a été conçue pour la performance absolue. Comme l’explique Jeff BonWick, le père de ZFS et CTO de DSSD, « La flash est intrinsèquement capable de délivrer 10 fois plus de performances que ce que l’on peut obtenir en l’insérant dans un SSD. Le plus gros obstacle est le logiciel et même si l’on supprime des logiciels, il faut en passer par les piles SAS ou SATA Le challenge est donc, que si l’on veut extraire la vraie performance de la Flash, la seule façon de le faire est de bâtir une architecture optimisée. Dans notre cas, il s’agit d’une architecture de type fabric où un petit groupe de flash peut être accessible directement en accès direct mémoire (DMA) par le client. Et nous avons retenu le bus PCI pour connecter les clients, car il n’y a rien de plus performant aujourd’hui pour déplacer des données vers un hôte ».

Concrètement, la baie D5 peut accueillir en frontal 18 ou 36 modules flash propriétaires de 2 ou 4 To connectés à la baie via le bus PCIe et supportant le protocole NVMe (pour une capacité totale brute allant de 36 To à 144 To). En face arrière, la baie dispose de 96 ports PCI-express Gen3 à 4 lignes connectés à la « fabric » PCIe interne de la baie (en fait un commutateur PCIe massif). Selon DSSD, cette architecture permet de connecter jusqu’à 48 serveurs à la baie via deux connexions redondantes pour chaque serveur (chaque serveur doit disposer d’une carte PCIe Gen 3 à 8 lignes fournie par DSSD et comportant deux ports séparés).

Il est à noter que si tous les éléments de la baie sont redondants, la baie ne dispose d’aucun service de stockage avancé comme les snapshots, la réplication, la compression ou la déduplication. Tout juste dispose-t-elle d’un mécanisme baptisé « Cubic Raid » pour assurer la protection des données contre une panne éventuelle d’un ou plusieurs modules Flash.

Mais le plus intéressant pour l’avenir est sans doute le fait que la capacité Flash de la baie peut être adressée selon deux modes : un mode bloc traditionnel, via un driver en mode Bloc pour Linux, et un mode mémoire via une API spécifique. DSSD travaille d’ailleurs avec plusieurs éditeurs pour optimiser l’usage de sa baie avec certaines applications. La firme a ainsi collaboré avec Cloudera pour permettre de stocker des données Hadoop sur la baie D5 sans mettre en œuvre les mécanismes de réplication propre à HDFS (ce qui permet d’économiser en stockage en s’appuyant sur les mécanismes de protection internes de la baie). Selon Cloudera, la baie D5 a permis à la firme de bâtir le cluster HBASE le plus rapide jamais construit par la firme. Pour Jeff Bonwick, les cas d’usages de la baie DSSD sont multiples. Outre le cas évident du HPC, ses performances seraient notamment nécessaires pour des applications analytiques en temps réel (analyse de risque, profilage de crédit, détection de fraude, etc.), mais aussi pour des applications comme le design électronique, les sciences de la vie, etc. La Baie DSSD sera aussi proposée par EMC dans le cadre d’architectures convergées optimisées pour les bases de données. 

Pour approfondir sur SAN et NAS

Close