Synopsis
Suite à une migration de VMs XenApp sur un nouveau cluster dans le même vCenter, je me suis retrouvé avec le Power State en Unknown au niveau du Citrix Studio.
Déjà esthétiquement ça me plaisait pas mais il devient surtout impossible de dialoguer depuis le Studio avec les machines XenApp, non seulement les équipes opérationnelles ne peuvent plus manager facilement la farm mais en plus les scripts de reboot deviennent inutiles et ça c’est pas cool…
Problème/Solution
Le problème vient du fait que la VM a un ID qui ne correspond plus à celui renseigné dans la DB utilisée par la ferme Citrix.
La solution consiste donc à trouver le nouvel ID, l’intégrer à la DB puis redémarrer les services Citrix pour qu’ils prennent en compte la modification.
- Ouvrir un Powershell (as Administrator) sur un DDC
asnp Citrix* $ErrorActionPreference=Continue $DskPath=[Environment]::GetFolderPath("Desktop") Get-ChildItem -Path XdHyp:\ -force -recurse | ?{ $_.IsMachine } | Out-File –Filepath $DskPath\xdhyp.txt
- Ouvrir le fichier TXT crée précédemment, faire un recherche (Ctrl + F) du nom du XA (Name) et copier son Id
PSPath : Citrix.Host.Admin.V1\Citrix.Hypervisor::XDHyp:\Connections\XenServer\PVS0003.vm PSParentPath : Citrix.Host.Admin.V1\Citrix.Hypervisor::XDHyp:\Connections\XenServer PSChildName : PVS0003.vm PSDrive : XDHyp PSProvider : Citrix.Host.Admin.V1\Citrix.Hypervisor PSIsContainer : True Name : PVS0003 FullName : PVS0003.vm ObjectType : Vm Id : 7d1d6004-5319-7a7e-59cb-2662e212a3e5 IsContainer : True IsMachine : True IsSnapshotable : True ObjectPath : /PVS0003.vm FullPath : XDHyp:\Connections\XenServer\PVS0003.vm IsSymLink : False AdditionalData : {}
- (Facultatif) Il est possible de connaître l’Id actuellement enregistré
Get-BrokerMachine -PowerState Unknown
- Entrer la commande avec le MachineName (ex. Domain\PVS0003) et l’Id du fichier TXT
Set-BrokerMachine -MachineName 'MyDomain\MyMachine' -HostedMachineId xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
- Mettre en Maintenance Mode (Monitoring)
- Redémarrer le service « Citrix Broker » sur tous les DDC
Bonjour Mathieu,
Merci pour cette explication !
J’ai une ferme avec 2 DDC en HA, ainsi qu’une bonne dizaine de machines virtuelles XenApp, toute mes machines sont en Power State « On » sauf une en « Unknow » :'( .
J’ai fait la manipulation que tu demandes de faire mais j’ai une erreur au moment de la génération du ficher xdhyp.txt.
La voici :
Get-ChildItem : The Hypervisor connection is in Maintenance Mode
At line:1 char:1
+ Get-ChildItem -Path XdHyp:\ -force -recurse | ?{ $_.IsMachine } | Out-File –File …
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation: (:) [Get-ChildItem], InvalidOperationException
+ FullyQualifiedErrorId : Citrix.XDPowerShell.HostStatus.HypervisorInMaintenanceMode,Microsoft.PowerShell.Commands
.GetChildItemCommand
Bonjour,
Il semble que la connexion à l’hyperviseur est en Maintenance Mode.
Dans le Studio => Configuration => Hosting, si tu fais clic droit sur ta connexion, tu devrais avoir « Turn off maintenance mode »
Cordialement,