Redémarrage de ferme Citrix en PRA
Sujet : redémarrage ferme Citrix
Il s'agit d'un ensemble de serveurs qui permet de publier des applications, des bureaux à distances, aux collaborateurs d'une entreprise.
Problématique
Pour redémarrer une infrastructure Citrix dans le cloud, il faudrait connecter l'hyperviseur du cloud avec le connecteur Citrix dédié afin de gérer les machines de ferme via le contrôleur Citrix.
Il n'existe pas de connecteur cloud pour Flexible engine ni de moyen d'utiliser les mécanismes MCS ou PVS pour gérer le provisionnement des instances de ferme.
Processus
La remontée de PRA Cloud de Nuabee d'une Ferme Citrix, il est nécessaire de créer les éléments suivants :
- Un compte utilisateur capable d'enregistrer des serveurs dans le domaine
- Les identifiants seront à communiquer à Nuabee pour permettre au scripts Cloud-Init d'insérer les instances de ferme dans le domaine.
- Un catalogue de machine "statiques" dans Citrix Studio (sans provisionnement MCS ou PVS)
- Dans lequel sera inséré vos instances
- Cela nécessite en retour la création d'une OU dans l'AD
- Une GPO sur le Contrôleur Citrix pour la liaison automatique des instances au service Citrix.
- Un serveur qui sera "l'Image" des instances, dont le disque dur syspreppé est à communiquer à Nuabee.
- Pour les mises à jour de l'image penser à faire un snapshot avant sysprep.
Client : Configuration de l'Active Directory
Création d'une Unité Organisationnelle (OU)
Il faut ajouter une Unité Organisationnelle (OU) pour la ferme Citrix PRA.
Délégation de la création des objets Ordinateur sur l'OU de PRA
Par mesure de sécurité, il faudra créer un utilisateur et lui déléguer le contrôle sur l'OU de PRA.
L'utilisateur doit avoir le privilège de joindre un ordinateur au domaine. Pour cela, il lui faut les permissions suivantes :
- Créer un objet ordinateur
- Supprimer un objet ordinateur
Cliquez avec le bouton droit sur l'OU de PRA et sélectionnez Déléguer le contrôle
Recherchez l'utilisateur ou le groupe souhaité
Sur la page Tâches à déléguer, cliquez sur Créer une tâche personnalisée à déléguer, puis cliquez sur Suivant.
Cliquez sur Seulement les objets suivants dans le dossier,
- Dans la liste, sélectionnez Objets ordinateur.
- Sélectionnez les options suivantes sous la liste d'objets :
- Créer les objets sélectionnés dans ce dossier
- Supprimer les objets sélectionnés dans ce dossier
Dans la liste Autorisations, cochez les cases Général et Spécifique à la propriété.
Sélectionnez Créer tous les objets enfants
Cliquez sur Suivant et Terminer
Client : Création du catalogue statique pour la ferme PRA
Accéder au Citrix Studio sur le contrôleur Citrix pour créer le catalogue statique de la ferme PRA.
Client : Création d'un GPO sur le contrôleur Citrix
Ajouter un GPO sur le contrôleur Citrix afin de permettre aux machines de ferme de se connecter automatiquement au contrôleur après redémarrage dans le Cloud.
Policy-based (LGPO\GPO)
Citrix recommends using GPO for initial VDA registration. It has the highest priority. (Although auto-update was listed previously as the highest priority, auto-update is used only after the initial registration.) Policy-based registration offers the centralizing advantages of using Group Policy for configuration.
To specify this method, complete both of the following steps:
- On the Delivery Controller page in the VDA installation wizard, select Do it later (advanced). The wizard reminds you several times to specify Controller addresses, even though you’re not specifying them during VDA installation. (Because VDA registration is that important!)
- Enable or disable policy-based VDA registration through Citrix policy with the Virtual Delivery Agent Settings > Controllers setting. (If security is your top priority, use the Virtual Delivery Agent Settings > Controller SIDs setting.)
This setting is stored under HKLM\Software\Policies\Citrix\VirtualDesktopAgent (ListOfDDCs).
Client : Préparation de l'Image Source
Il faut préparer une machine de ferme pour pouvoir l'imager et le redémarrer sur le Cloud de Flexible Engine.
- Ce serveur ne doit comporter qu'un seul "Disque Dur Virtuel". Suivez en plus les recommandations d'orange indiquées dans ce document : https://docs.prod-cloud-ocb.orange-business.com/usermanual/ims/en-us_topic_0199394934.html
- Avant de Sysprep le serveur, veillez à installer les drivers XEN et KVM comme indiqué ici : https://docs.prod-cloud-ocb.orange-business.com/usermanual/ims/en-us_topic_0130878748.html
Une fois le Sysprep effectué, le serveur va s'éteindre.
En cas de problème avec l'étape de Sysprep, suivre ce guide pour éditer les clés de registre : https://www.wintips.org/fix-sysprep-fatal-error-dwret-31-machine-invalid-state-couldnt-update-recorded-state/
Client : Export de l'image source
Récupérer l'image depuis un hyperviseur
Une fois connecté à l'hyperviseur, il faut extraire l'image en mode VMDK. (clic droit > export)
Envoi de l'image à Nuabee
L'envoi s'effectue soit via les ressources du client, soit via l'utilitaire de Nuabee https://share.nuabee.fr
Nuabee : Création de l'image dans Image Management Service (IMS)
Upload du VMDK vers le stockage objet
Utiliser un client S3 afin de déposer le fichier VMDK dans un bucket du tenant du client
Création de l'IMS à partir du vmdk
Dans le menu "Create Image" du service d'IMS de Flexible Engine
Nuabee : Enregistrement des machines de Ferme dans Atlas
Nuabee : Redémarrage des machines de Ferme dans le Cloud
Script PowerShell pour ajouter une machine au domaine
Vous pouvez trouver le fichier PowerShell (dans les pièces jointes à l'article du Wiki) qui sera exécuté par le mécanisme cloud-init pour référence ci-dessous.
$OU = "OU=FermePRA,OU=Workers,OU=Infras-Citrix,DC=citrix,DC=LAN"
$pass = "MonMotDePasse" | ConvertTo-SecureString -AsPlainText -Force
$user = "$DC\u_delegate"
$creds = New-Object System.Management.Automation.PSCredential($user,$pass)
Add-Computer -DomainName $DC -OUPath $OU -Credential $creds -Restart -Force -Verbose