StorPool propose une alternative à Ceph et ScaleIO
La start-up bulgare StorPool a développé un système de stockage distribué pour les environnements Linux qui se présente comme une alternative à ScaleIO ou Ceph.
Depuis que VMware a lancé le concept du software defined datacenter et qu’OpenStack a gagné en popularité, l’intérêt pour les technologies de stockage distribué va croissant. L’idée en soit n’est pourtant pas nouvelle. Le français Seanodes - placé en liquidation le 11 mai dernier - avait en son temps développé un système de stockage distribué pour Linux – exanodes - puis l’avait adapté pour fournir des services de stockage pour VMware vSphere. IBM propose depuis longtemps son système de fichier GPFS pour le monde du HPC. Et plusieurs sociétés ont aussi développé des solutions adaptées aux environnements virtuels et au cloud comme LeftHand (racheté par HP), InkTank avec Ceph ou ScaleIO (depuis racheté par EMC).
Le petit dernier sur ce marché est StorPool, une société européenne, fondée à Sofia. Lors du dernier IT Press Tour, qui se déroulait la semaine dernière au cœur de la Silicon Valley, le MagIT a pu discuter avec deux des cofondateurs de la société, Boyan Ivanov, le CEO, et Boyan Krosnov, le responsable produit.
Un stockage distribué en mode bloc
Comme l’explique Boyan Krosnov, le logiciel se présente actuellement sous la forme d’un Block Device Driver pour les principales distributions Linux. Installé sur des serveurs, il permet de créer un pool de stockage distribué à partir des ressources de stockage (SSD, disques durs) présentes sur les différentes machines. Ce pool de stockage peut ensuite être partitionné en volumes consommables par les différents serveurs.
La technologie StorPool, découpe les données entrantes en blocs de taille fixe et les distribue entre les différents nœuds. Chaque donnée est répliquée entre deux et cinq fois selon les préférences de l’administrateur de façon à protéger le cluster contre la défaillance d’un ou plusieurs disques ou d’un nœud complet. Cette réplication ayant un coût en termes de performances, la plupart des déploiements se font en général avec deux ou trois copies par donnée.
Lors de la création d’un volume l’administrateur peut spécifier la classe de service qui lui sera associé. Il est ainsi possible de créer un volume dont les données ne seront stockées que sur des SSD, des volumes uniquement sur disques durs ou des volumes hybrides.
Actuellement en phase finale de développement (le produit est en test chez une dizaine d’hébergeurs et fournisseurs de services), StorPool embarque une API Rest pour faciliter son intégration avec les frameworks cloud, ainsi qu’une interface en mode ligne de commande. Pour l’instant, la firme, qui vise en priorité le marché des hébergeurs et des fournisseurs de cloud, n’a pas développé de console d’administration graphique, mais ce travail devrait être réalisé lors d’une prochaine version.
Des performances séduisantes
Si StorPool ne brille pas par son interface, la technologie affiche en revanche des performances étonnantes. Lors d’un test réalisé en février dernier, un cluster de trois serveurs reliés par Infiniband et équipés chacun de 3 SSD Intel de 800 Go à base de mémoire Flash MLC et de 5 disques durs SATA Western Digital de 1To à 7200 tr/mn, a délivré 145 927 IOPS en lecture (blocs aléatoires de 4Ko) et 28 391 IOPS en écriture en mode SSD. En mode hybrique ces chiffres ont été respectivement de 143 008 IOPS en lecture et de 21719 IOPS en écriture. Selon StorPool, la latence était de 0,32 ms en écriture et de 0,22 ms en lecture en mode SSD et de 9,7 ms et 0,16ms en mode hybride. Pour ce test, toutes les données étaient répliquées 3 fois sur le cluster, ce qui veut dire qu'au niveau du back-end de stockage, la performance est bien supérieure celle affichée en front-end.
Ces performances sont d’autant plus impressionnantes, que le prix de la configuration matérielle était d’un peu plus de 31 000 dollars pour les serveurs et le stockage (sachant que StorPool consomme environ 15 % de la ressource CPU disponible et laisse 85 % libres pour l’hébergement de machines virtuelles).
Dans sa version actuelle, StorPool est conçu pour fonctionner avec l’hyperviseur KVM sur les distributions RHEL/CentOS 5.x et 6.x, Ubuntu et Debian. Mais l’éditeur travaille aussi au support de Xen, VMware et Hyper-V. Selon Boyan Krosnov, plus de 95 % du code du logiciel est indépendant de la plate-forme OS ce qui rend son portage aisé. Un pilote Cinder pour OpenStack est aussi en cours de développement. Plusieurs modes de commercialisation sont proposés dont un sous forme de licence perpétuelle et un second sous forme de souscription mensuelle.