Citrix XenDesktop – Mise à jour Master sur Machine Catalog MCS Static

Ayant l’habitude de gérer des infrastructures avec PVS ou MCS configuré en Random, je me suis retrouvé avec un nouveau client ayant le Machine Catalog MCS en Static à essayer de mettre à jour le BaseDisk. La petite différence est qu’en Static il est impossible via le Studio de faire un Update Machines, plutôt gênant quand on veut mettre à jour son Master et ne pas utiliser SCCM.

Lorsque vous déployez votre Master, vous remarquerez que MCS fera une copie de son VMDK dans un dossier de chaque datastores définis dans votre environnement XenDesktop. Ce baseDisk rend la création de nouvelles VDI extrêmement rapide mais prend par contre pas mal d’espace disque. Le dossier sera le nom du Machine Catalog + baseDisk + datastore + un ID aléatoire.

Ce n’est pas parce que ca n’existe pas en GUI que ce n’est pas possible et encore une fois c’est PowerShell qui va nous aider …

Il y a deux choses à prendre en compte, le Provisioning Scheme et la nouvelle valeur du Master Image. Le Provisioning Scheme correspond presque toujours au nom du Machine Catalog de la VM. Le Master Image est l’arborescence pointant vers le Snapshot utilisé par le BaseDisk.

  • Ouvrir une console PowerShell (as Administrator) sur votre Controller (DDC).
asnp Citrix*
Get-ProvScheme
  • Notez les informations importantes, la valeur Provisioning Scheme (ProvisioningSchemeName) et la valeur Base Image (BaseImageVM).

  • Donc, le MasterImageVM devrait ressembler à ça.
XDHyp:\HostingUnits\<Cluster Name>\XDMaster.vm\v0.snapshot
  • Maintenant que nous avons le chemin du snapshot actuel, nous allons créer un snapshot enfant contenant nos mises à jour nommé « v1 » après avoir éteint la VM Master. Vérifions que XenDesktop voit maintenant ce snapshot enfant.
get-childitem -path "XDHyp:\HostingUnits\<Cluster Name>\XDMaster.vm\v0.snapshot"
  • Vous verrez que v1.snapshot est maintenant l’enfant de v0.snapshot dans l’arborescence, c’est cette nouvelle valeur qu’il faut mettre dans la variable.
$MachineImage = "XDHyp:\HostingUnits\<Cluster Name>\XDMaster.vm\v0.snapshot\v1.snapshot"
  • Reprendre la valeur ProvisioningSchemeName dans cette variable.
$ProvScheme = "XD_MS_WIN7"
  • Il ne reste plus qu’a créer le nouveau BaseDisk avec la commande Publish-ProvMasterVMImage.
Publish-ProvMasterVMImage -ProvisioningSchemeName $ProvScheme -MasterImageVM $MachineImage

  • Au niveau du vCenter vous verrez qu’une machine virtuelle temporaire est créer et que les VMDK sont copiés sur les différents datastores.

Mathieu

Je suis actuellement ingénieur spécialisé dans le design d'environnements cloud virtualisés. Adepte des technologies de VMware, Nutanix, Citrix et Microsoft je propose à travers ce blog diverses astuces de troubleshooting.

S’abonner
Notification pour
guest

0 Commentaires
Commentaires en ligne
Afficher tous les commentaires