Elastic Layering

Une des fonctionnalités les plus attrayantes lorsqu’on parle d’App Layering est le principe de livraison dynamique d’applications appelé Elastic Layering. Cette technologie utilise un ensemble de composantes qui permettent, à la connexion d’un utilisateur en XenApp ou XenDesktop, d’attacher un disque natif Windows de format VHD à la machine virtuelle et ce, accessible via un simple partage sur le réseau.

Préface

Avant d’entrer dans le détail de l’Elastic Layering, il est important de bien comprendre comment ces disques (aussi appelé layer) peuvent être utilisés. Avec App Layering, il est possible de fusionner des layers (un OS Layer, un Platform Layer et plusieurs App Layers) pour en générer une image. C’est cette image qui est utilisée dans les déploiements, peu importe le service de provisionnement utilisé. Le résultat de cette fusion est toujours un disque natif Windows de format VHD.

On appelle ce type d’assignation Image Template Assignment. C’est habituellement la méthode d’assignation principale d’une application en App Layering.

1

La deuxième méthode, appelée Elastic Assignment, nous amène alors à vous parler du sujet de cet article : l’Elastic Layering. Il se veut un survol de la technologie en expliquant son fonctionnement de base et comment les différentes composantes interagissent entres elles.

 

Comment l’active-t-on ?

L’Elastic Layering n’est pas activé par défaut et c’est lorsqu’on génère un modèle d’image, appelé Image Template, qu’il est possible de le faire.

2

 

 

Quel effet à l’activation de l’Elastic Layering sur notre VHD ?

Une fois l’image publiée, en plus de s’occuper de la gestion du Citrix Layering Guest Service, le système ajoute une partition de 20 Go au disque. Cette partition est utilisée par l’App Layering Filter pour gérer les demandes d’écriture des fichiers situés dans les différents layers. Étant donné qu’on utilise habituellement des technologies non persistantes de provisionnement, tel que PVS, lorsqu’un fichier reçoit une demande d’écriture, App Layering nécessite que ce fichier soit présent en entier dans cette partition avant de pouvoir y procéder. Un simple changement d’attributs ou de droits est considéré comme une écriture et le fichier sera copié en entier dans la partition.

Dans cet exemple, deux applications sont présentement attachées en mode élastique à notre serveur XenApp. Il est important de savoir que tous les disques attachés en mode élastique seront présents dans la console Disk Management de cette façon.

  •  Le disque UDiskP1V0R1 est la partition pour l’écriture créée par App Layering
  •  Les disques UDiskPB8004V0R1 et UDiskPB8002V0R1 sont les deux applications

3

Une fois l’image déployée via le service de provisionnement de notre choix, le service interceptera toutes les requêtes de connexions au serveur (login) pour valider si un ou plusieurs disques doivent y être attachés.

 

 

Le « Citrix Layering Service »

4

C’est le service qui gère l’énumération complète des disques à attribuer selon les utilisateurs qui se connectent. Tout est fait durant la phase du userinit.

 

 

De quel endroit proviennent ces disques ?

App Layering nécessite la configuration d’un partage SMB appelé Layer Repository. Ce partage est configuré à l’intérieur de l’appliance virtuelle ELM et est utilisé pour emmagasiner une partie de sa configuration, principalement les requis pour l’Elastic et le User Layering, et les disques VHD possédants au minimum une assignation en mode élastique.

5

Le Layer Repository est composé des dossiers de base suivants :

Root
– Contient l’ensemble des fichiers de configuration analysée par le service Citrix Layering Service

6

Unidesk\Layers\App
– Contient tous les layers ayant une assignation élastique dans l’appliance ELM

7

 

 

Que contiennent ces fichiers de configurations ?

Layers.json

  • Défini les différents layers dans le partage et le metadata utilisé par le Elastic Filter Driver

8

ElasticLayerAssigments.json

  • Contient l’information des mappings groupe/utilisateur de chacun des layers et c’est avec le LayerID que le Citrix Layering Service est en mesure de trouver le bon disque dans le fichier Layers.json

9

 

MachineAssociations.json

  • Définis les associations de machines en utilisant un modèle. Tous les utilisateurs qui se connectent à des machines portant ces modèles auront les layers associés

 

 

Du processus d’assignation à la connexion de l’usager

Assignation
L’assignation élastique peut être effectuée de deux façons (une jonction à l’Active Directory doit être configurée dans l’appliance ELM) :

  • Session Based
    o Via le nom d’un usager
    o Via un groupe Active Directory

10

  • Machine Base
    o Via un modèle de nom de machine

 

 

Synchronisation

Lorsqu’on sauvegarde les paramètres d’une assignation élastique, l’appliance ELM lance alors un processus de synchronisation des fichiers de configurations et de la copie du VHD du layer sur le Layer Repository.

11

 

 

Connexion de l’usager au serveur

 

12

Lorsque l’Elastic Layering est activé sur l’image, un processus d’énumération se déclenche à chaque connexion utilisateur. Ce procédé ajoute de délai de connexion d’environ de 5 à 10 secondes, mais seulement pour le premier usager attachant le disque d’une application au serveur. C’est durant cette énumération que le service parcoure l’ensemble des fichiers de configurations pour déterminer si un ou plusieurs disques doivent être attachés en mode élastique.

Voici un exemple détaillant le fonctionnement de l’attachement de disques :

  • L’usager 1 possède les attributions élastiques suivantes : App 1 et App 2
  •  L’usager 2 possède les attributions élastiques suivantes : App 1 et App 3
  • L’usager 3 possède l’attribution élastique suivante : App 1

 

1. 1re connexion : Usager 2 -> les disques de l’application 1 et 3 seront attachés au       serveur
2. 2e connexion : Usager 3 -> il n’y a aucun nouvel attachement à effectuer, donc aucun temps supplémentaire à la connexion, car le disque de l’application y est déjà attaché
3. 3e connexion : Usager 1 -> le disque 2 sera attaché au serveur

 

Le fichier %PROGRAMDATA%\Unidesk\applayersvc.log nous permet d’obtenir toute l’information concernant l’attachement des disques sur un serveur, incluant l’usager déclenchant le processus en passant par le temps requis pour accomplir les différentes tâches.

13

La section Layering Result affiche un résumé des disques attachés pour un utilisateur précis.

14

Il est important de savoir que les disques ne sont pas détachés à la déconnexion d’une session pour éviter de retirer un disque en utilisation par un autre utilisateur.

16

 

 

Le résultat final

Une fois l’utilisateur connecté, l’application sera visible et se comportera comme si elle faisait partie de l’image : les raccourcis apparaîtront normalement sur le bureau/le menu Démarrer et l’application sera visible dans le système de fichiers natif de Windows.

15

Tous les I/O sont faits directement sur le partage de fichier et aucune modification n’est apportée aux disques VHD attachés de façon élastique.
Au niveau de la base de registre, chaque application est fusionnée, mais il est possible de parcourir tous les changements enregistrés par App Layering lors de la création du layer.

 

17

 

 

Conclusion

L’Elastic Layering nous apporte une flexibilité dans la gestion et l’attribution d’applications autant en SBC qu’en VDI. Son utilisation est relativement simple et permet de gérer certains cas de figure qui peuvent parfois être problématiques lorsqu’on utilise des technologies de gestion d’images comme PVS, spécialement au niveau de la mise à jour des applications en mode élastique. Il n’est pas nécessaire de mettre l’image à jour et d’exécuter tout le processus de versionnage PVS, car un simple logoff/login de l’usager permettra de réattacher la version à jour du disque de l’application.

Il est important de noter que cela n’est pas une façon d’isoler une application comme une technologie de virtualisation à la App-V ou ThinApp, mais offre la possibilité de faire cohabiter certaines applications qui normalement ne pourraient être installées dans la même image.

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion /  Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion /  Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion /  Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion /  Changer )

w

Connexion à %s