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
|
|
Figure 2
|
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.
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.
Mê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.
Il 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:
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 :
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
- Toutes les données du disque « Replica » sont présentes sur chacun des hôtes du cluster Nutanix
- Ne nécessite pas l'utilisation de CRBC (Content Based cache en lecture) et n'est donc pas limité à 2 Go de RAM
- 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.
- 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.
- La solution peut évoluer en garantissant des performances linéaires.
- 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.
- La fonction « Shadow Clone » n’est activée qu’une seule fois et ne nécessite pas de configuration ou de maintenance.