Atlantis USX – The New Order of Storage Freedom

Atlantis est une solution purement Software, elle fournit une solution de stockage par logiciel (100%), du pur SDS ! Atlantis USX Unified Software-Defined Storage est une solution intelligente de stockage définie par logiciel. Elle peut fournir instantanément des ressources de stockage pour toute application utilisant plus efficacement une infrastructure classique existante et permet de renforcer ou de faire évoluer cette infrastructures vers des solutions hyper-convergées.

En exploitant la puissance de traitement (calcul, mémoire et flash) plus rapide et moins cher, Atlantis USX élimine les inefficacités et les contraintes des solutions de stockage legacy (traditionnel) du SAN et du NAS matériel. Atlantis USX 3.1 optimise le stockage et améliore les performances pour supporter les workloads tels que les applications critiques, stockage de fichiers, VDI, SBC, et sur n’importe quel hyperviseur.

USX supporte VMware, vSphere et Citrix XenServer.

La solution Atlantis est en cela très intéressante car elle propose conjointement une couche de virtualisation, à laquelle il est possible d’ajouter de nouvelles fonctionnalités au stockage existant (VVOL), et de proposer une solution complète SDS Software-Defined Storage.

Atlantis permet de mettre en commun et de proposer une abstraction du stockage (NAS, SAN et DAS) afin de créer des volumes destinés aux applications VM, VDI… La solution offre également de nouvelles fonctionnalités comme le HA, la déduplication, la mise en cache, la compression…

Atlantis solution est aujourd’hui distribuée sous forme d’appliance virtuelle OVF. La phase d’installation et de configuration est relativement simple, elle nécessite uniquement une bonne compréhension de certains concepts de base.

Atlantis USX 3.1 GA est sortie le 16 octobre 2015.

AtlantisUSX_myvmworld

 

Atlantis Computing propose à ses clients deux approches très simples. La première permet de s’intégrer dans un environnement virtualisé et de consolider le stockage existant. La seconde permet de fournir directement sous forme d’appliance hyper convergée (HyperScale), une infrastructure complète et Full Flash. Les deux approches utilisent le même logiciel, le même moteur : Atlantis USX.

hyperscale_Myvmworld

Comment fonctionne Atlantis ?

Atlantis introduit une couche logicielle entre l’hyperviseur et les machines virtuelles afin de fournir une file d’attente optimisée permettant, grâce à une déduplication en ligne (réalisée par les appliances virtuelles) de réduire la latence des I/O, mais également de réduire la capacité de stockage nécessaire aux machines virtuelles consommant le Datastore présenté par Atlantis.

Une fois l’OVF téléchargé et déployé sur l’infrastructure virtuelle, Atlantis USX déploie de manière automatisée deux types de machine virtuelle : les Volumes VM et les Services VM. Ces deux machines virtuelles sont fondamentalement différentes car elles possèdent des rôles bien distincts.

La flexibilité et la souplesse du logiciel permet à Atlantis de pouvoir proposer plusieurs types de volume en fonction du cas d’usage.

  • Hyper-Convergé (Hybrid ou All Flash),
  • Hybrid,
  • In-Memory,
  • All Flash,
  • Simple Hybrid, Simple In-Memory, and Simple All Flash.

USX volume comparison table-Myvmworld

Volume VM

Le volume VM est une machine virtuelle (Ubuntu) entièrement autonome possédant toute l’intelligence d’Atlantis : déduplication en ligne, compression, réplication, cloning, snapshot, etc. Elle représente le cœur de la solution et permet de présenter un Datastore à l’hyperviseur.

Cette machine virtuelle, va exporter au travers du réseau, le Datastore sous deux protocoles NFS ou iSCSI.

Du point de vue des machines virtuelles, le Datastore USX est perçu comme un DataStore partagé et les lectures / écritures se font directement au travers de ce Datastore.

Atlantis_myvmworld
Architecture HCI

Service VM

Les services VM sont utilisés afin de pouvoir distribuer la couche de « back end » des volumes VM au niveau de plusieurs hyperviseurs. La donnée est donc répartie sur les différents hyperviseurs grâce au service VM, l’accès au Datastore se fera toujours au travers du Volume VM.

USX components_myvmworld
Source: https://help.atlantiscomputing.com/usx3

Pour les volumes de type Hyper-Converged (Hybrid ou All Flash), hybride, et en mémoire, Atlantis déploie aussi sur chaque hôte une VM appelée Service VM. Ces Services VM permettent d’exporter des ressources locales sous-jacente à l’hyperviseur (RAM, mémoire flash locale, DAS, JBOD, SSD) de chaque hôte et d’agréger ces ressources en un pool virtuel. Chaque service VM peut servir plusieurs volumes.

Chaque service VM peut exporter jusqu’à deux des ressources suivantes :

  • mem (RAM uniquement).
  • DISK (DAS seulement).
  • FLASH (flash local uniquement).
  • mem + disque (RAM + DAS).
  • mem + flash (Flash RAM + local).

 Deduplication In-line In-Memory

La Volume VM va procéder une déduplication en ligne sur des blocs de données fixes de 4KB (< 200 microsecondes de latence par opération IO). Avant d’écrire sur le système de fichier embarqué en mémoire (DedupFS), les données en écriture sont segmentées en block de 4KB. L’algorithme propriétaire d’Atlantis permet d’identifier si un bloc de données de 4KB est déjà présent ou non dans le système de fichier. A partir de son algorithme, Atlantis utilise un mécanisme de Hash (MD5 HASH) qui couvre un domaine de collision de 91 ExaByte par volume pour 0,0001% de probabilité. 

deduplication_myvmworld

Si celui-ci n’est pas présent, un nouvel inode est créé dans le DedupFS, la table de blocs est mise à jour, une nouvelle entrée est créé et  identifiée de façon unique, ce block (en mémoire) est copié sur le tiers de performance (SSD, PCIe Flash, RAM). Les inodes, ainsi que la table des blocs, sont copiés sur le tiers de performance, puis l’acquittement est envoyé au niveau de l’application. Si en revanche le bloc de 4KB est déjà présent dans le système de fichier, ce bloc de 4KB n’est pas copié sur le tiers de performance, il est acquitté immédiatement, après que les metadata (inode + reference count) soient mises à jour et copiées sur le tiers de performance, le tiers de performance jouera le rôle de Write Caching et de Read Buffer.

La déduplication est construite à partir d’un journal en trois dimensions :

  • 1 pour les métadonnées dedup,
  • 1 pour les blocs Rewired,
  • 1 pour le système de fichiers (DedupFS).

La déduplication est implémentée par volume, elle n’est pas globale.

x-lzma-compressed-tarLes données sont compressées à partir d’un algorithme de compression sans perte LZMA, et ensuite écrites sur le tiers de performance, la compression favorise la croissance du facteur de déduplication.

L’algorithme utilisé est propriétaire et protégé par les brevets US 8996800 B2 / US 8874877 B2 / US 8732401 B2 / US 8874851 B2 /US 8868884 B2.

 

Atlantis USX dispose d’une façon unique d’exploiter la mémoire disponible à l’intérieur des Hyperviseurs pour fournir un stockage performant et optimisé. En tirant parti des ressources de la RAM (un des composants les plus performants du serveur), Atlantis USX peut effectuer en temps réel, la déduplication Inline, la compression et l’écriture. Chacune de ces fonctions réduit la quantité de données consommée, d’accélérer les IOPS et surtout de diminuer la latence.

 

Noham MEDYOUNI

Rédigé par

Noham MEDYOUNI

Noham MEDYOUNI, il exerce dans l’informatique depuis près de 18 ans et nourris ce blog depuis 2012. Diplômé de l’ENI Ecole, et avec plus de 12 années d’expérience pratique en tant que référent technique virtualisation. Par le passé il a travaillé en tant que Systems Engineer ou Solutions Architect pour de grandes ESN et éditeur de logiciel autour du Software Defined-Storage. Noham est certifié VCP3, 4 et 5, vExpert depuis 2014, Nutanix Technical Champion 2016 et NPP4, Veeam VMTSP, et Apple ACTC. Team Leader VMUG France.