virtu-desk VIRTU-DESK - Technologies de virtualisation et sécurisation de l'environnement utilisateurs.

Nutanix & le V.D.I – L'évidence et la pertinence...

Par Le mardi, 29 juillet 2014 0

Dans Infrastructures (hyper) convergentes

Nutanix intégre des fonctionnalités avancées qui permettent d’améliorer de manière pertinente l'expérience utilisateur et les performances en environnement VDI. On y retrouve entre autres, la fonction « Shadow Clone », la fonction « Elastic Deduplication Engine » (déduplication du cache) et la fonction « MapReduce Deduplication ».

Le Shadow Clone

Ce qu’il faut savoir, avant de comprendre l’apport en performances du Shadow Clone, c’est comment fonctionnent les clones liés de VMware Horizon View (le principe est le même pour le provisioning de Systancia AppliDis et  Citrix XenDesktop en mode MCS).

Pour déployer des clones liés, il faut en premier lieu créer une machine virtuelle parente (ou image Master). Il s’agit d’un poste virtuel Windows (XP, W7/8), configuré, personnalisé et optimisé selon les best practices en environnement virtuel.

Une fois la machine virtuelle parente affectée à un pool, un clone de cette VM est créé. Ce clone est appelé « Replica ». Dans l’ancienne version de VMware View, le « Replica » de la VM été créé dans chaque magasin de données (Datastore) hébergeant les bureaux virtuels pour le pool (figure 1).

Depuis VMware View 4.5, les administrateurs ont la possibilité de spécifier une seule banque de données (Datastore) pour héberger le « Replica ». Cette fonctionnalité a été créée à l'origine pour fournir un accès hautement performant à des « Réplica » (figure 2) en leur permettant d’accéder à un petit sous-ensemble de disques SSD.

 

Figure 1

Nx vdi 4

         

Figure 2

Nx vdi 6

 

Une fois le « Replica » créé, VMware View commence à créer des clones liés. Le clone lié est un disque vide qui va croître en fonction des changements de blocs de données demandées par les GuestOS. Ce disque est aussi appelé « Delta disk » car il accumule tous les delta côté données. Il peut atteindre la taille maximale de la machine virtuelle parente (c'est là que la déduplication est essentielle…). Le « Replica » est en lecture seule et il est utilisé comme disque principal pour tous les postes de travail déployés. Les écritures I/O et les modifications de blocs de données sont écrites et lues à partir des « Delta disk ». Les Best practices recommandent d’utiliser  un stockage dédié et rapide pour stocker le « Replica » car tous les postes de travail virtuels du cluster l’utilisent comme image de base. Avec des centaines, voire des milliers de postes de travail qui génèrent des requêtes en lecture à partir du « Replica », le stockage peut rapidement devenir un goulot d'étranglement si on n’utilise pas un cache performant.

En agrégeant des disques locaux mécaniques et SSD, les infrastructures convergentes fournissent un stockage hautement distribué et mettent à disposition de l’environnement une architecture Scale-out de haute performance.

Nx vdi 3 

Bien qu’une grande majorité de solutions de stockage convergent offrent la possibilité de créer plusieurs banques de données (Datastore), on conçoit  aisément qu'une seule Datastore peut être présentée à tous les hôtes avec une agrégation des disques locaux mécaniques et SSD dans chacun des hôtes du cluster.

Le schéma ci-dessous montre à quoi  ressemble cette architecture d'un point de vue logique.

Nx vdi 7Même si tout ceci est vrai, la gestion des couches physiques des disques est un peu plus complexe que ça ne le parait au premier abord. C’est pour cette raison que chaque solution de stockage convergé prendra en charge la distribution des données d'une manière différente.

Toutefois, pour garantir la haute disponibilité et le bon facteur de réplication, chaque disque des VMs aura ses blocs de données réparties sur trois, quatre ou plusieurs hôtes de la grappe du cluster.

L'image ci-dessous montre l'architecture physique, les données étant réparties entre les nœuds et disques du cluster.

Nx vdi 8Il y a deux problèmes majeurs  avec ce type d’architecture distribuée et granulaire. Le premier, c’est que chacun des hôtes doit passer par le réseau Ethernet pour recueillir les blocs de données du « Replica ». Le deuxième, c’est qu’aucun des hôtes du cluster n’aura la totalité du contenu du « Replica ». Ce type de fonctionnement va donc provoquer des goulots d’étranglement sur le réseau et va augmenter la latence avec un risque voir figer les requêtes des trois ou quatre serveurs qui maintiennent les données distribuées du « Replica ».

Nutanix va déjouer ces deux problématiques en faisant intervenir sa fonctionnalité « Shadow Clone »

 

Qu’est-ce que les « Shadow Clones »?

NDFS, le système de fichiers distribué de Nutanix intégre une fonction appelée « Shadow Clones » qui permet une mise en cache distribuée des vDisks ou des données de VM dans un scénario « multi-lecture ».

Cette fonction est très pertinente dans un contexte VDI où les postes virtuels sont des « clones liés ». Dans un pool constitué de « clones liés », toutes les VMs sollicitent des requêtes en lecture à la machine parente (Image Master). Comme nous l'avons vu plus haut, dans le cas de VMware Horizon View, c’est le disque de réplica qui est lu par tous les clones liés et avec Citrix XenDesktop c'est la VM Master MCS.

La localisation des données ou des I/O devient critique lorsque l’on veut obtenir des performances optimales pour une VM et c’est l’un des points clé de NDFS. Avec les Shadow Clones, NDFS suivra l’évolution des accès aux vDisks pour localiser les données.

S’il s’avère que plus de deux CVM distants (plus le CVM local) émettent des requêtes I/O en lecture sur un vDisk, ce dernier sera flagué comme « immuable » (sa localisation ne variera plus). C’est seulement dans cet état que le vDisk sera stocké dans le cache local du CVM où se trouve la VM et les requêtes en lecture se feront ainsi sur le même nœud du cluster Nutanix. Cela permettra aux machines virtuelles de chaque nœud d’effectuer les requêtes en lecture sur le vDisk de la VM au niveau local.

Dans le cas de VDI avec des « clones liés », cela signifie que le disque de réplica pourra être mis en cache par chaque nœud et toutes les requêtes I/O en lecture se feront localement.

REMARQUE : Comme les traitements I/O en lecture se font localement, les données ne seront donc pas migrées en dehors du nœud où elles se trouvent. Elles ne transiteront pas sur le réseau (pas de risque de goulot d’étranglement) et le cache sera très performant.

Si la machine parente (image de base) est modifiée, le Shadow Clone sera abandonné et le processus recommencera. Les Shadow Clones sont désactivés par défaut en version 3.5. Ils peuvent être activés/désactivés en utilisant la commande NCLI suivante :

  • ncli cluster edit-params enable-shadow-clones=true

Le schéma ci-dessous montre le fonctionnement avec la fonction « Shadow Clones » qui permet la mise en cache distribuée:

Nx vdi 6 

Le tableau ci-dessous indique les résultats de tests effectués sur une plate-forme constituée de 7 nœuds (hôtes) lors du démarrage de postes virtuels Windows 7. Les temps de démarrage ont été calculés dès la mise sous tension de la première machine virtuelle jusqu’au au moment où les VMware Tools ont été enregistrés sur tous les clients. Chaque point de données indique une expérience unique :

Nx vdi boot time

D’une manière générale, plus le nombre d’hôtes est important dans un cluster, meilleurs sont les performances en gain de temps apportées par les Shadow Clones au démarrage des machines virtuelles, car l’accélération des requêtes en lecture est relative au nombre d’hôte du cluster.

Les tests démontrent qu'avec les Shadow Clones, on obtient une réduction des temps au démarrage de :

  • 30% sur une plateforme de postes virtuels composée de 4 nœuds.
  • 50% sur une plateforme de postes virtuels composée de 7 nœuds.

 

Quelques avantages des Shadow Clones

  1. Toutes les données du disque « Replica » sont présentes sur chacun des hôtes du cluster Nutanix
  2. Ne nécessite pas l'utilisation de CRBC (Content Based cache en lecture) et n'est donc pas limité à 2 Go de RAM
  3. Réduction des coûts côté réseau. Les requêtes I/O en lecture se font localement, ce qui assure une latence minimum sur le réseau, à la fois pour écrire des E/S et à la fois pour le trafic des VMs.
  4. Pendant la phase de boot storm (ou tempêtes de démarrage, lorsque que tous les postes VDI démarrent en même temps) ou les analyses antivirales, toutes les données du « Replica » se trouvent localement sur l’hôte et les requêtes I/O en lecture sont gérées par le contrôleur de stockage local à l’hôte. On améliore ainsi non seulement les performances en lecture, mais aussi les opérations d’entrées/sortie en écriture qui représentent en général au minimum 65% des requêtes dans les environnements VDI.
  5. La solution peut évoluer en garantissant des performances linéaires.
  6. Lorsque l'image parente (image Master) est mise à jour, Nutanix NDFS détecte les modifications appliquées et crée automatiquement un nouvel instantané du « Replica » qui est répliqué sur tous les nœuds du cluster.
  7. La fonction « Shadow Clone » n’est activée qu’une seule fois et ne nécessite pas de configuration ou de maintenance.

La déduplication du cache

Nutanix propose également une fonction avancée pour la gestion de la déduplication du cache qui se révèle être particulièrement pertinente dans les environnements VDI.

Le Moteur de Déduplication Extensible (N.E.D.E pour Nutanix Elastic Dedupe Engine), c'est :

  • Une fonctionnalité logicielle
  • Une dristribution évolutive de réduction des données en ligne pour la mémoire flash et les différents niveaux de cache
  • Des signatures numériques sur les écritures séquentielles
  • Une déduplication en lecture en RAM/Flash

Nx vdi nede

Le moteur de déduplication extensible (Elastic Dedupe Engine) est une fonction logicielle de NDFS qui permet la déduplication des données, extensible de la zone de capacité (disques durs mécaniques) à la zone de performance (SSD et mémoire).

Les flux séquentiels de données (en mode rafale) sont signés numériquement (empreinte digitale ou fingerprint) pendant leurs transferts en utilisant le hachage cryptographique SHA-1 avec une granularité de 16K. Le calcul de signature se fait uniquement sur les données transférées dans le « OpLog » (qui se trouve dans la SSD)  et les Metadonnées sont écrites par blocs dans stockage persistent « Extent Store ».

NOTE: Dans un premier temps, c’est une granularité de 4K qui a été utilisée pour les signatures numériques. Suite à de multiples tests, il s’est avéré que la meilleure combinaison pour la déduplication était obtenue avec une granularité de 16K.

Contrairement aux approches traditionnelles qui utilisent des scans en arrière-plan obligeant une relecture des données, Nutanix effectue le calcul de  signature en ligne sur les données interférées. Les données en double qui peuvent être dé-dupliquées n’ont elles pas besoin d'être numérisées ou relues, et les doubles exemplaires peuvent être enlevés.

 

Le schéma ci-dessous montre le fonctionnement du moteur de déduplication extensible pour le traitement des demandes E/S des VMs locales :

Nx vdi mde 

Les signatures numériques (fingerprints) ne se font que sur les données interférées en E/S dont la taille est supérieure ou égale à 64 Ko. La fonction « Intel Acceleration » est mise à profit pour le calcul SHA-1, mais ne consomme que très peu de ressources CPU. Pour les données interférées en E/S de plus petite taille (inférieure à 64 Ko), les signatures numériques se feront par un processus en arrière-plan.

Comme je le précisais plus haut, le moteur de déduplication est extensible de la zone de capacité (disques durs mécaniques) à la zone de performance (SSD et mémoire). Comme les données en double sont inventoriées (les copies multiples ont la même signature numérique), un processus de fond va les supprimer en utilisant le Framework NDFS « MapReduce » (curator).

Pour les données qui sont en cours de lecture, elles seront spoulées dans le « Content Cache » du NDFS. Toutes les requêtes ltérieures des données ayant la même signature seront « tirées » directement dans le cache.

Le schéma ci-dessous montre comment le moteur de déduplication extensible interagit avec le chemin I/O de NDFS :

Nx vdi cheminio

MapReduce Deduplication

Optimiser d’un facteur 10x la volumétrie de stockage avec MapReduce Deduplication

Nutanix MapReduce Deduplication est une fonctionnalité de déduplication puissante, qui va permettre d’optimiser les plateformes VDI en réduisant de façon significative la volumétrie de stockage dans le Cluster Nutanix.

Contrairement aux mécanismes de déduplication que l’on retrouve dans les baies de stockage traditionnelles, MapReduce Deduplication, au travers de la technologie Nutanix S.D.S (Software-defined Storage), est hautement distribuée et fonctionne de manière automatique sur tous les nœuds du cluster. Le principe Scale-out de Nutanix garantie une évolution linéaire de la fonctionnalité de déduplication lors de l’ajout de nœuds supplémentaires dans le Cluster. La signature numérique de la donnée se fait rapidement lors de l’écriture avec un cryptage fort SHA-1. Le processus de hachage cryptographique s'appuie sur les performances d’accélération offertes par les processeurs Intel pour SHA-1. Tous les nœuds du cluster exécutent une tâche de fond de numérisation pour stocker les signatures numériques dans le Cluster Metadata local (voir figure 1 ci-dessous). MapReduce supprime les doublons de données au sein du stockage. D’un point de vu pertinence, si l’on associe à la fois la déduplication des données en temps réel avec les performances du système en lui-même, la plateforme virtuelle Nutanix est idéale pour le déploiement des infrastructures persistantes de virtualisation du poste de travail (V.D.I) et l’usage du Cloud privé.

 

Résultat de la déduplication

Les ratios de déduplication varient en fonction du type et de la nature des données. Le graphique montre les résultats typiquement attendus avec une plateforme Nutanix (Virtual Computing Plateform).

Tous ces résultats imposent une transparence totale sur la charge de travail médium utilisée pour chaque cas d’utilisation. On suppose aussi qu’aucun produit tiers ou API n’est utilisé pour optimiser l’espace, comme les clones liés ou VAAI au travers d’un même système d’exploitation.

  Nx vdi ratios
Nx vdi density  

* Voir le dimensionnement du Cloud privé sur : http://www.vmware.com/files/pdf/VMware-Service-Definition-Private-Cloud.pdf

 

Les avantages de la déduplication Scale-out

Contrairement aux solutions de stockage traditionnelles ou le contrôleur de la baie peut être un goulot d’étranglement, le modèle N-Controller de Nutanix n’est pas impacté quand la taille du cluster augmente, ce qui présente de nombreux avantages :

  • Pas besoin de changer ou de remplacer les contrôleurs quand les demandes IOPs augmentent.
  • Faible overhead car on scanne uniquement les métadonnées et non de l’ensemble des données.
  • Bénéfice des clones pour des environnements où le clonage n’est pas en option et suppression de la complexité du support et de la maintenance avec un tiers.
  • Focus sur l’intelligence au niveau de l’OS et des données d’application pour des résultats performants.
  • Réduction des temps et des impacts lors des migrations de postes physiques vers virtuels (P2V) et virtuels vers virtuels (V2V).
  • Hyperviseurs agnostiques

 

Une utilisation efficace des ressources

Comme je l’ai déjà précisé pour la déduplication du cache (Elastic Dedupe Engine), contrairement aux approches traditionnelles qui utilisent des scans en arrière-plan obligeant la relecture des données, Nutanix effectue la signature numérique en ligne sur les données interférées. Les données en double qui peuvent être dé-dupliquées n’ont pas besoin d'être numérisées ou relues, et les doubles exemplaires peuvent être enlevés.

Figure 1 - Création et enregistrement des signatures numériques pour MapReduce Dedupe dans un nœud Nutanix.

Nx vdi eurUne donnée fréquemment modifiée, même avec un calcul de signature numérique en cours, ne sera pas dupliquée tant qu’elle n’est pas écrite dans l’heure. Ceci évite d’être contraint d’annuler à répétition un travail sans valeur.

Merci à Andre Leibovici (voir son article) et Steven Poitras pour sa Bible....
Un document plus complet est téléchargeable sur le site de Nutanix : Performance Analysis of Nutanix Shadow Clones

  • 46 votes. Moyenne 5 sur 5.
Vous devez être connecté pour poster un commentaire