Méthodes de déploiement de XenApp

Si l’installation des serveurs d’infrastructure (serveur de licences, datastore…) peut être réalisée « manuellement », la configuration des serveurs de publication XenApp doit la plupart du temps être réalisée de manière automatisée, du fait du grand nombre de machines à déployer, et de la nécessité de pouvoir ajouter de nouveaux serveurs au fur et à mesure de l’augmentation de l’activité.

L’unicité de la configuration déployée est également primordiale, afin de permettre une expérience utilisateur identique quel que soit le serveur sur lesquels ceux-ci se connectent.

Cet article  va passer en revue les méthodes de déploiement possibles.

Plusieurs solutions sont possibles afin de permettre un déploiement massif et automatisé :

1. L’utilisation de serveurs modèles :

Très utilisée dans les milieux virtualisés, cette méthode consiste à configurer un serveur modèle (ou template), qui sera ensuite cloné pour obtenir le nombre de serveurs voulus.

Avantage :

  • Possibilités de configuration quasi-illimitées, puisqu’il est possible de modifier manuellement la plupart des composants.

Inconvénients (en l’absence de service de provisioning) :

  • Risque de déviation des configurations au fil du temps,
  • Modification des serveurs déjà déployés difficile.

 

2. L’utilisation de stratégies :

Cette méthode devient courante depuis l’apparition de Windows Server 2008, où la configuration des environnements utilisateurs ne peut plus être effectuée par la modification du profil Default User, obligeant l’utilisation des GPOs.

Avantages :

  • Permet d’assurer une uniformité des configurations entre les serveurs si toutes les configurations sont réalisées par GPO,
  • Supporté par Microsoft et Citrix,
  • Permet d’apporter facilement des modifications sur l’ensemble de la ferme.

Inconvénients :

  • Possibilités de configuration limitées (sans créer des fichiers adm personnalisés, on ne peut modifier que des paramètres définis par les éditeurs).

 

3. L’utilisation de scripts de déploiement :

Cette dernière méthode peut permettre d’achever la configuration complète d’un serveur à partir d’un système d’exploitation vierge. Certaines configurations complexes ne peuvent être achevées que par script si l’on souhaite réduire les interventions manuelles et industrialiser le déploiement et la configuration de serveurs XenApp.

Avantage :

  • Permet des déploiements complexes ou non virtualisés.

Inconvénient :

  • Complexité de mise en œuvre

 

Afin de permettre un déploiement industrialisé et une stabilité dans la configuration des serveurs, il est possible de combiner les méthodes.

Par exemple :

  • Création d’un serveur modèle XenApp 6.5 disposant des applications de base (en machine virtuelle),
  • Clonage de ce serveur en utilisant des fonctionnalités de template,
  • Configuration de l’environnement utilisateur par GPO,
  • Scriptage de la configuration des applications métier au logon de l’utilisateur et/ou au démarrage du serveur.

 

Préparation et clonage de serveur

Le clonage d’un serveur n’est pas un processus aussi simple qu’un copier-coller. En effet, un certain nombre d’actions doivent être effectuées avant et après le clonage du serveur.

Ces opérations vont permettre d’intervenir sur les couches Windows, Citrix, et applicatives afin de supprimer toutes les références pouvant être liées au serveur original, ce qui entrainerait un conflit une fois les serveurs déployés.

 

  • Applications :

Certaines applications utilisent le nom du serveur ou un identifiant unique afin de s’identifier sur le réseau. Une fois le serveur cloné, il est nécessaire de passer en revue toutes les applications afin de vérifier que celles-ci ne conservent pas de traces de l’ancien nom du serveur et régénère un nouvel identifiant.

Pour cela, il faut préférer un nom de serveur modèle relativement complexe (éviter « modele » ou « citrix »…) et rechercher si ce nom de serveur apparait toujours une fois le clonage effectué (dans la base de registre et le contenu des fichiers).

Si des applications ne supportent pas le clonage, il peut être nécessaire de scripter le changement de nom (ou d’ID…), effectué au premier redémarrage du serveur après le clonage.

 

  • Citrix :

Depuis l’apparition des solutions de virtualisation, Citrix XenApp supporte le clonage grâce à un processus nommé XenAppPrep, permettant de nettoyer l’ensemble des références liées à une installation spécifique (nom du serveur, ID IMA…).

Sous XenApp 6 et 6.5, ce processus est simplifié, grâce à l’assistant Configuration de serveur.

 

  • Windows :

La reconfiguration de la partie Windows peut être effectuée grâce à l’outil « SysPrep ». Cet outil permet de réinitialiser certains paramètres d’une installation Windows (SID, nom de serveur, état de l’activation, périphériques…).

Un sysprep peut être configuré avant le clonage, et lancé au premier démarrage des serveurs clonés.

Remarque : Le changement de SID avec des outils comme NewSID n’est plus supporté par Microsoft depuis Windows 2008.

par .

5 Commentaires

  1. guigui69 dit :

    Bonjour David,

    Je suis tombé sur ton article et j’aurai voulu avoir tes conseils.

    Je suis en xen apps 6.5 hrp2 avec 4 VM (Vmware) serveurs citrix. ( installé depuis 2013)
    Je voudrais cloner une des VM citrix pour en faire un 5 et 6 serveur citrix.

    Je voudrais savoir si tu as une méthode. (je recherche pas mal d’information sur le sujet sur internet)

    -Arrete la VM qui va me servir de modele.

    – Cloner cette VM.

    – Deconnecté la VM cloner du réseau dans vmware.

    -Lancer la VM cloner.

    – La sortir de AD (toujours deconnecté du réseau)

    – Lancer un sysprep.

    -Remettre le réseau a la VM.

    -Reintegré la VM à l’AD.

    ————–
    1/Que penses-tu me mes etapes?
    2/ Est ce qu’il d’avoir aussi une etape a faire au niveau citrix, une sorte de sysprep, non?
    3/ Je crois avoir lu qu’il ne faut pas cloner le premier serveur citrix (celui qui est entré dans la ferme) , si oui comment le reconnaitre?

    Merci d’avance pour ton retour

    guigui69

  2. David dit :

    Hello !

    Il y a en effet plusieurs étapes nécessaires au clonage d’un serveur Citrix XenApp en version 6.x.

    Les anciennes versions de XenApp disposaient d’un outil nommé XenAppPrep afin de préparer un serveur Citrix au clonage. Le but de cet outil était d’enlever l’ensemble des références liées au nom et à l’ID du serveur dans la configuration de Citrix, afin que celui-ci puisse être ajouté à la ferme sans créer de conflit.

    Depuis XenApp 6, cette opération de nettoyage peut être effectuée grâce au Gestionnaire de rôles de serveur XenApp, installé sur chaque serveur Citrix. C’est cet outil, qui permet également d’ajouter un serveur à la ferme, qui va permettre de préparer un serveur.

    Remarque : La préparation au clonage et l’ajout d’un serveur à la ferme peut également être réalisé en ligne de commande, ou via PowerShell.

    Tu peux trouver des infos sur le sujet ici : http://support.citrix.com/proddocs/topic/xenapp65-install/ps-image-prep.html

    Pour préparer un serveur XenApp au clonage, il faut tout d’abord lancer l’outil Gestionnaire de rôles de serveur XenApp.
    Clique ensuite sur Modifier la configuration.

    Deux options sont alors disponibles :
    – Préparer ce serveur pour le provisioning,
    – Supprimer ce serveur de la batterie.

    La première option permet de sortir le serveur de la batterie, et de réenregistrer celui-ci après le redémarrage. Les informations concernant le datastore (DSN) peuvent être conservées.

    Remarque : Il est conseillé de passer les services Citrix en manuel (IMA principalement), et de les repasser en Automatique une fois le Sysprep achevé. Cela permet de s’assurer que la configuration réseau du serveur cloné est terminée avant que le Citrix s’enregistre.

    La deuxième option permet de sortir le serveur de la ferme.

    Il faudra alors réenregistrer le serveur par ligne de commande, idéalement par un script lancé à la fin du Sysprep.

    Une fois le serveur préparé côté Citrix, il est nécessaire de préparer la couche Windows au clonage. Pour cela, Microsoft fourni l’outil Sysprep.

    Sysprep permet d’exécuter un processus nommé Généralisation, qui va remettre à zéro un certain nombre de paramètres, afin que le système puisse être cloné sans conflit. Ces paramètres concernent entre autre le SID du système (identifiant unique), la licence, ou encore la configuration réseau.

    Selon l’outil de clonage utilisé, un sysprep peut être effectué automatiquement (c’est le cas pour une VM VMware, déployée depuis un template par exemple).

    Si un sysprep n’est pas effectué par l’outil de clonage, celui-ci peut être lancé manuellement, AVANT le clonage du serveur.

    Le mode OOBE est spécialement conçu pour cet usage : à savoir arrêter le système avant que celui-ci ne soit cloné. Au redémarrage du serveur la généralisation sera alors effectuée.

    L’outil sysprep peut être trouvé dans le dossier suivant :
    C:\Windows\System32\sysprep
    Attention à bien cocher la case Généraliser.

    En gros, tu arrête prends un de tes serveurs XenApp (je créé normalement un serveur spécialement pour servir de modèle), tu le prépare côté XenApp, et tu lance ton Sysprep en mode restart.
    Tu clone x fois ton serveur, et au premier démarrage de chaque nouvelle VM, les nouveaux serveurs seront préparés par Sysprep.

    Il n’y aura ensuite plus qu’a rattacher tes serveurs dans la ferme, en utilisant l’utilitaire de configuration de serveur XenApp (tu peux aussi rattacher le serveur automatiquement ou par PowerShell avec une GPO, si tu as beaucoup de serveurs à traiter.

    Bon courage,
    David.

  3. julien F. dit :

    Bonjour,

    J’ai une ferme citrix 4.5 avec 4 serveurs sous vmware (citrix1, citrix2, citrix3 et citrix 4).

    Un de mes serveurs (citrix4) est HS. Je voudrais donc cloner un des 3 autre serveurs.

    J’ai donc donc fait :

    1 – Arrêt du serveur citrix3 que je souhaite cloné : OK
    2 – Clone citrix3.vmdk vers citrix4.vmdk ssh sur l’ESX
    3 – Redémarrage du citrix 3: OK
    4 – Démarrage de citrix4 sans le réseau : OK
    5 – sysprep windows fait
    6 – Après le reboot j’ai le message d’erreur : echec de chargement de la DLL c:\WINDOWS\system32\ctxgina.dll …

    Impossible de demarrer mon serveur sauf en mode sans echec.

    Y a t’il un manip a faire que je n’ai pas fait.

    • David dit :

      Hello,

      Le problème vient sans doute d’une duplication d’IDs Citrix.
      Je t’invite à prendre connaissance du commentaire juste au dessus du tiens :
      Les anciennes versions de XenApp disposaient d’un outil nommé XenAppPrep afin de préparer un serveur Citrix au clonage. Le but de cet outil était d’enlever l’ensemble des références liées au nom et à l’ID du serveur dans la configuration de Citrix, afin que celui-ci puisse être ajouté à la ferme sans créer de conflit.

  4. julien F. dit :

    BOnjour David,

    Merci pour ton retour.

    J’ai donc cloné un serveur avec citrix 4.5 d’installé.
    Par contre, malgré mes recherche sur google, peux tu me dire les commande à effectuer avec XenAppPrep avec de supprimé toutes traces d’IDs dans citrix.

    Merci d’avance de ton retour,

    julien

Laisser un commentaire

*