Système de stockage en mode bloc conçu pour le Cloud, Egan est intégré à OpenStack.
Parmi ses fonctionnalités principales, on note une haute disponibilité avec la réplication des données au fil de l’eau, l’historisation avec les images d’un volume (snapshots), et la création d’un nouveau volume à partir d’une image, l’optimisation du volume de stockage et la copie sur écriture (copy-on-write ou COW), les contrôles d’intégrité et les transactions distribuées, la localisation précise des données, l’administration via une API REST ou une interface web.
Création de volume, association d’un volume à une machine virtuelle, création d’une image (snapshot), modification de la taille d’un volume… toutes les opérations peuvent être réalisées à partir des outils d’administration d’OpenStack.
Eguan est un logiciel libre, conçu par Oodrive dans le cadre du projet nu@ge. On constate d’ailleurs qu’Eguan est une anagramme du mot nuage. Le code source du projet est disponible sur GitHub sous licence Apache.
Le format de stockage est intéressant, puisque d’un élément à l’autre de l’historique, seules les modifications sont conservées. Le contenu d’un volume ou d’une image est écrit dans un fichier dont le format optimise ce mode de fonctionnement. Pour chaque volume et chaque image, le fichier ne contient pas directement les blocs de données : une empreinte du bloc est écrite à sa place. Le bloc lui-même est placé dans un espace séparé commun, l’empreinte servant à retrouver le bloc de données correspondant. Les blocs identiques ayant la même empreinte, le volume de stockage nécessaire est réduit. Lors d’une demande de lecture, les différents fichiers d’historique sont consultés pour savoir si le bloc de données correspondant a été écrit. Lorsque c’est le cas, l’empreinte trouvée dans un des fichiers permet de retrouver le bloc de données dans l’espace commun de stockage des blocs. Le bloc est renvoyé à l’appelant. Lors d’une demande d’écriture, l’empreinte du bloc de données est calculée et écrite au bon emplacement dans le fichier du volume D. Si nécessaire, la nouvelle paire empreinte/bloc de données est écrite dans l’espace commun de stockage des blocs.
D’autres détails sont précisés sur le site du projet, dont l’opération « trim », les informations sur les serveurs de stockage, l’interface d’administration web, etc.
Rendez-vous sur : http://www.eguan.io