Proposition JRES2016

Expérience de 5 années sur GlusterFS : "de la paillasse au génie des procédés"

L'enquête sur les besoins de stockage menée début 2010 par le Centre Blaise Pascal pour les laboratoires de l'ENS-Lyon a été l'occasion de se pencher finement sur les processus métier de la recherche et leur impact sur le stockage et sa nature. De cette étude ont découlé nombre de spécifications servant à la réalisation de l'espace de stockage "recherche" mise à disposition par la DSI de l'ENS-Lyon aux laboratoires fin 2010.

Cependant, l'enquête montrait que la croissance de ces volumes et leur exploitation étaient susceptibles d'entrainer des difficultés, autant matérielles que financières. Le Centre Blaise Pascal prit le parti d'étudier dans le cadre du projet Distonet les solutions permettant de distribuer le stockage avec pour objectifs : réduction des coûts, résilience et performance. Ainsi, l'agrégation de volumes distants comme iSCSI et ATA Over Ethernet a été étudiée, parallèlement aux "vrais" systèmes de fichiers distribués Open Source que formaient à l'époque GlusterFS, XtreemFS et CephFS. Cette étude est allée au delà du simple démonstateur technologique et sa présentation académique aux JRES 2011 : le méso-centre de l'ENS-Lyon, le PSMN, a en effet demandé au CBP, fin 2012, quel choix semblait le plus pertinent pour un système de fichiers distribué Open Source à hautes performances partagés entre les noeuds du futur Equipex Equip@Meso.

L'évaluation de performances menée à l'été 2012 et au premier trimestre de 2013 a permis de dégager GlusterFS comme la solution, hic et nunc, la plus meilleure :o) En effet, au delà de la simplicité d'installation, les essais en charge ont montré une performance dépassant dans la majorité des cas (tests IOZone3) le GB/s de transfert sur InfiniBand pour chaque client. Le seul verrou fut même identifié, non pas sur le serveur, mais lié au client FUSE nécessaire pour monter le volume ! L'étude a également montré que des paramétrages fins des volumes GlusterFS, du système d'exploitation voire du BIOS étaient indispensables pour ne pas se retrouver aux performances d'un NFS vulgaris. La plateforme de scratch distribué du PSMN a été déployée à l'automne 2013 : le socle de stockage exploitait ZFSonLinux, le système (l'OS) de ces noeuds de stockage était déporté en iSCSI pour ne pas gréver inutilement la capacité de 2 des 17 disques embarqués. La capacité de stockage pour 8 noeuds approchait les 50 TB utiles, sécurité et performance étant assurées par un mode hybride de type RAID10.

A l'origine, GlusterFS était vu comme une solution transitoire en attendant que CephFS ou d'autres systèmes distribués Open Source gagnent en maturité. A terme de 3 années d'exploitation pour le PSMN, le seul bémol vient du socle système en iSCSI, dont la stabilité exigeait un tuning très particulier. Au CBP, utilisateur de GlusterFS depuis 5 ans avec une infrastructure en évolution constante, une autre approche offre désormais une bien meilleure résilience : elle exploite un SIDUS (Single Instance Distributing Universal System) non persistant donc seules les données associées au GlusterFS sont stockées sur une partition du volume ZFS : ainsi, les noeuds de calcul disposant encore de disques internes peuvent exploiter ces espaces pour étendre à moindre coup l'espace
existant, retrouvant ainsi l'esprit du projet Distonet.

En conclusion, de ces 5 années d'exploitation au CBP et 3 années au PSMN, il ressort de GlusterFS :
- un coût d'entrée très faible : quelques lignes suffisent pour configurer un volume distribué de plusieurs dizaines de machines. Aucun coup d'infrastructure supplémentaire ou logiciel,
- le coût d'exploitation faible : la gestion décentralisée des métadata ne place de SPOF (Single Point Of Failure) dont il faut soigner particulièrement la disponibilité,
- le coût de sortie (ou plutôt son coût d'évolution) reste quand à lui marginal : la donnée étant, dans de nombreux modes, directement accessible sur les disques, rien n'empêche d'utiliser tous les outils de migrations disponibles.