Avec SLS, OpenIO délivre du stockage objet sans serveurs Intel
S'inspirant du concept Kinetic de Seagate, OpenIO a développé l'appliance de stockage SLS. Equipée de 96 disques dans 4U, elle délivre des services objet denses, rapides et économiques en remplaçant les contrôleurs Intel par des nano-serveurs ARM attachés à chaque disque.
Le spécialiste français du stockage objet OpenIO vient d’annoncer une petite révolution dans le monde du stockage en dévoilant sa première appliance matérielle basée non pas sur un contrôleur x86 mais sur une multitude de cœurs ARM directement connectés aux disques durs.
Une architecture serveur originale
Baptisée SLS4U96 (SLS pour ServerLess Storage), l’appliance d’Open IO ressemble furieusement à n’importe quel autre serveur de stockage en rack de 4 U de hauteur. Mais les apparences sont trompeuses. Le châssis utilisé par OpenIO n’embarque en effet aucun serveur x86 pour contrôler ses 96 disques durs. Chacun d’entre eux est en fait adossé à un nanoserveur ARM disposant de sa propre mémoire, d’un cache Flash et de deux interfaces Ethernet.
Concrètement, le SLS4U96 dispose de 96 emplacements verticaux pour disques durs 3,5 pouces. Chaque disque est couplé à un nanoserveur, en fait un « interposeur » qui s’insère entre le disque et le fond de panier du châssis. Cette microcarte électronique s’appuie sur une puce ARM 64bit Marvell Armada 3200 épaulée par 32 Go de cache Flash EMMC (utilisée pour le stockage des métadonnées locales) et par 2 Go de mémoire vive. Sur l’une de ses faces.
Elle se connecte directement sur le connecteur SAS ou SATA du disque dur, tandis que l’autre face délivre deux ports Ethernet à 2,5 Gbit/s (via un connecteur SATA traditionnel recâblé en conséquence). Chacun de ces ports Ethernet est routé par le biais le fond de panier sur l’un des deux commutateurs Ethernet qui fournissent la connectique interne du châssis et assurent une connexion redondante vers chaque disque.
Vers l’extérieur, ces commutateurs exposent chacun 6 ports Ethernet à 40 Gbit, ce qui, dans la pratique, veut dire que chaque disque dispose pleinement de 2x2,5 Gbit/s de bande passante (soit un peu plus que la bande passante maximale du bus SATA).
OpenIO s’est inspiré du concept Kinetic de Seagate
OpenIO s’est largement inspiré du concept de disques objet Kinetic de Seagate, mais a poussé le raisonnement plus loin en utilisant l’intelligence du microserveur ARM adossé à chaque disque pour y embarquer son logiciel de stockage objet. Le résultat est une appliance de stockage objet ultradense, dont le domaine de panne unique est réduit au microserveur (donc à un disque) et qui consomme moins d’énergie qu’un serveur bisocket x86 tout en délivrant des performances supérieures.
« Nous avons fait partie de l’écosystème Kinetic, mais nous avons trouvé que Seagate n’allait pas assez loin dans sa réflexion », a déclaré Laurent Denel, le CEO d’OpenIO, au MagIT. « L’interposeur que nous avons développé avec Marvell dispose d’un microprocesseur ARM suffisamment rapide pour délivrer des performances par disque au moins égales à celles d’une puce Xeon.Cela nous permet d’installer l’intégralité de notre logiciel ». Chaque disque se comporte ainsi comme un mini serveur OpenIO.
En éliminant l’encombrant contrôleur x86, OpenIO a aussi pu accroître la densité de sa machine, qui est environ 25 à 35 % plus dense que les serveurs de stockage traditionnels à base de processeurs Intel. Il a également optimisé la consommation électrique puisque chaque interposeur consomme moins de 3 W.
Surtout, OpenIO estime que la roadmap ARM joue en sa faveur. L’an prochain, les nouveaux interposeurs développés par Marvell devrait offrir près de trois fois la puissance des modèles actuels, ce qui devrait par exemple permettre à OpenIO de leur faire traiter des applications distribuées de filtrage, d’analytique ou d’encodage de données dans le cadre de son approche Grid for Apps. « Ce qui est bien avec Marvell est qu’ils sont fabricants de contrôleurs ARM et de commutateurs réseau. Ils sont donc idéalement positionnés pour accompagner cette mutation technologique ».
Combiner densité et résilience à un prix très bas
Un autre bénéfice mis en avant par Laurent Denel est la limitation des domaines de panne : « Dans les architectures de stockage Intel traditionnelles, on peut facilement avoir des serveurs avec 700 To à 1 Po de capacité brute. La panne d’un tel serveur, même dans des architectures distribuées, induit des complications. Avec le SLS, nous éliminons ce problème et le domaine de panne est ramené à un disque unique ». Mieux, en adoptant un schéma de code à effacement de type 13/10 sur une appliance SLS, OpenIO indique que jusqu’à 22 disques durs peuvent défaillir avant tout risque de perte de données dans l’appliance.
Un autre point intéressant du développement de la plate-forme SLS est le fait qu’OpenIO a dû recompiler son logiciel pour la plate-forme ARM 64 bit. Dans la pratique, les interposeurs ARM accolés à chaque disque font tourner une distribution base Ubuntu 16.04 “Xenial” réduite sur laquelle est installée le code OpenIO. Mais selon Laurent Denel, cela signifie que le logiciel est désormais prêt à fonctionner sur un large choix de plates-formes ARM supportées par Ubuntu.
Il est possible de créer des clusters de stockage complets à base de nœuds SLS sans avoir à recourir à des serveurs de stockage x86. Mais OpenIO indique qu’il faut a minima un nœud x86 pour gérer les fonctions d’administration du cluster ainsi que la remontée des log et les outils de déploiement de cluster. Selon la firme, un serveur SLS4U96 délivre des services de stockage objet à un coût de 0,008 $ par Go et par mois (pour une configuration à base de disques de 8 To, soit 590 To utiles avec le schéma d’erasure coding par défaut). Le tout avec un contrat de support de 3 ans pour la solution. À titre de comparaison, le coût d’un gigaoctet de stockage standard dans Amazon AWS S3 est de 0,021 $ par Go/mois, hors coût de transfert et coûts de requêtes.