WavebreakmediaMicro - Fotolia

Avec Matrix, WekaIO dévoile un système de fichiers distribué séduisant

Née en Israel à Tel Aviv, la startup WekaIO a dévoilé son système de fichiers distribué Matrix la semaine dernière à San Jose, son nouveau siège. Matrix promet de concilier hautes performances, résilience et faible coût de stockage.

Après avoir commencé à dévoiler sa technologie en octobre dernier, WekaIO a officialisé cette semaine le lancement de son système de fichiers distribué Matrix, qui promet de concilier hautes performances, résilience et faible coût de stockage.

Né à Tel-Aviv, mais avec un siège basé à San Jose, dans la Silicon Valley, WekaIO a été fondé par d’anciens responsables de XIV comme Omri Palmon, le Chief Product Officer, Liran Zvibel, le CTO, ou Aaron Ben Dayan, le chief architect. La firme a Dja levé environ 32,5 M$ auprès des fonds Gemini Israel Ventures, Norwest venture partners, Qualcomm Ventures et Walden Riverwood Ventures.

Matrix est un système de fichiers distribué conçu pour tirer parti de la performance offerte per le stockage flash local embarqué sur les serveurs, tout en exploitant le faible coût des systèmes de stockage objet. Doté de capacités natives de tiering, le filesystem de Weka peut ainsi s’appuyer pour son stockage le moins coûteux sur des services cloud comme  Amazon S3, Google Cloud Storage ou les clouds OpenStack, ou sur des systèmes de stockage objet on premises de type Cloudian, HGST, Scality.

Un système de fichiers moderne conçu pour tirer parti de la Flash

Pour tenir ses promesses en termes de performances, Matrix s’appuie sur une pile réseau optimisée pour réduire la latence et pour transmettre plus efficacement les commandes de stockage aux périphériques Flash à travers le réseau. « En produisant ainsi notre propre système temps réel et en opérant notre propre pile réseau et notre propre pile de gestion d’entrées/sorties, nous avons permis au software defined storage de délivrer de vraies performances » explique Liran Zvibel. « Le noyau Linux n’a jamais été conçu pour être utilisé comme support à des services de stockage ».

D’une certaine façon, la pile réseau développée par WekaIO est similaire dans ses concepts à ceux de NVMe over Fabrics, mais avec deux différences clés : Elle s’appuie tout d’abord sur des réseaux Ethernet standards (et non pas sur RoCE – RDMA over Converged Ethernet) et ne nécessite donc pas de cartes ou de commutateurs spécifiques. Ensuite, WekaIO permet l’utilisation de SSD en attachement SATA et SAS et pas seulement des disques NVMe à interface PCIe.

Comme beaucoup de logiciels similaires, WekaIO permet d’agréger la capacité des SSD installés dans des serveurs pour la présenter comme un pool partagé à très hautes performances aux applications installées sur des serveurs. Point intéressant, Matrix ne se limite pas aux SSD. Il peut aussi agréger au sein d’un même namespace, la capacité fournie par les SSD et celle délivrée par des systèmes de stockage objet, on ou off-premises.

La gestion du tiering se fait à base de règles ou sur une base automatique (le système appliquant alors ses règles par défaut). L’objectif est alors bien sûr d’utiliser la couche Flash comme un étage rapide pour stocker les données chaudes tout en déplaçant les données froides sur la couche objet, plus lente et moins coûteuse.

Concilier résilience et performances

Côté résilience, WekaIO a travaillé sur son propre algorithme d’erasure coding pour minimiser les temps de reconstruction de données en cas de défaillance, mais aussi afin d’optimiser la performance. MatrixFS propose ainsi deux modes de protection de données, un mode N+2 tolérant la défaillance de deux périphériques pour chaque donnée stockée et un mode N+4.

 Ces algorithmes ont plusieurs atouts : tout d’abord la probabilité de perte de données liée à une défaillance diminue avec le nombre de nœuds (le système reconstruisant les données plus vite avec plus de nœuds). Ensuite, ils sont plus efficaces que des algorithmes RAID standards en matière d’utilisation de la capacité. Avec la solution N+2 (16+2), 89 % de la capacité brute est disponible pour le file system, selon WekaIO, tandis qu’avec la solution N+4 (16+4), 80 % de la capacité brute est consommable par les utilisateurs.

Plus important encore, notamment pour la couche de SSD, l’effet d’amplification des écritures (write amplification) lié au mécanisme de protection de données n’est que d’un facteur de 1,5 pour le N+2 et de deux fois pour le N+4 contre 3 fois pour le Raid6 ou un mécanisme d’erasure coding traditionnel. Cela permet de préserver plus longtemps la bonne santé des disques Flash.

Plusieurs options de déploiement possible incluant le mode hyperconvergé

MatrixFS nécessite au minimum six serveurs pour démarrer et peut être utilisé sur des clusters allant jusqu’à environ 1000 machines (limite certifiée à ce jour). Mais selon la firme, il serait possible de déployer le logiciel sur un maximum de 20 000 machines contribuant au stockage. Un cluster WekaIO peut également supporter jusqu’à 100 000 nœuds, si les autres machines ne font que consommer du stockage sans contribuer de capacité. Selon la firme, les clients peuvent mettre en œuvre la technologie sur des serveurs physiques, dans des VM ou sous forme de conteneurs Docker. La partie cliente de Weka expose la capacité du cluster aux formats NFS, SMB ou HDFS.

Un point très intéressant avec Weka est qu’il est possible d’affiner de façon très pointue la performance du système sur chaque nœud. Par défaut, MatrixFS se voit ainsi allouer un cœur CPU par machine contribuant au cluster pour les opérations de stockage. Il est possible si l’on veut doper la performance de donner plus de cœurs aux processus de stockage. Les processus étant parallélisés, cela permettra de doper les IOPS.

Un accent mis sur les utilisateurs ayant besoin de beaucoup de capacité et de performances

Weka vise, dans un premier temps, le marché des utilisateurs ayant besoin de beaucoup de performance à un coût raisonnable. Selon la firme matrix FS est non seulement beaucoup plus performant qu’un file system comme Spectrum Scale (ex GPFS) d’IBM. Il est aussi bien plus simple à mettre en œuvre, plus résilient et moins coûteux. Weka peut également être une alternative à de grandes installations NAS à base de nœuds Isilon NetApp ou Panasas. Enfin, parmi les autres concurrents potentiels figurent le français Rozo Systems (qui a lui aussi développé un système de fichiers NAS avec sa propre couche performante d’erasure coding) ou l’Israélien Elastifile.

Selon des chiffres initiaux fournis l’an passé par WekaIO, Matrix délivrerait 4 fois les performances IOPS de GPFS sur un cluster de 300 nœuds et 10 fois la bande passante (tests menés sur un cluster de 300 nœuds). La latence est de façon générale très inférieure à la milliseconde. WekaIO estime qu’un cœur CPU moderne délivre environ 30 000 IOPS et 400 Mo/s de débit à une latence de l’ordre d’une demi-milliseconde. .

Ces résultats ont été validés par ESG qui a mesuré 3,76 millions d’IOPS en lecture 4K sur un cluster de 120 instances AWS (avec un unique cœur dédié à Matrix par nœud) et environ 400 000 IOPS en écriture (blocs de 4K) avec une latence inférieure à la milliseconde. Les débits soutenus avec des blocs de 1 Mo ont été mesurés à respectivement 59,1 Go/s en lecture et 34,7 Go/s en écriture.

WekaIO Matrix est vendu aux environ de 1000 $ par To lorsqu’il est déployé sur des serveurs dédiés. En mode hyperconvergé, le logiciel est facturé 10 000 $ par nœud avec jusqu’à deux cœurs dédiés aux processus Matrix et une capacité illimitée de SSD. Ce prix passe à 12 500 $ par nœud fournissant du stockage avec un plafond de huit cœurs dédiés aux processus de stockage (ce tarif est lié au fait que la performance de Weka augmente quasi linéairement avec le nombre de cœurs alloués au logiciel).

 

Pour approfondir sur Software Defined Storage