Service IMA bloqué en Starting et cache de licences

Je viens de rencontrer un problème assez tordu sur une ferme Citrix XenApp 6.5 :
Il s’agit d’une plateforme située sur plusieurs sites reliés en WAN, disposant chacun d’une ferme distincte. Un seul serveur de licence gère l’ensemble des fermes.

 

Le comportement était le suivant : Après une coupure réseau sur l’un des sites, qui a isolé la ferme du serveur de licence, le service IMA de l’ensemble des serveurs de la ferme reste en starting.

La clé de registre indiquant le plugin en cours de chargement (HKLM\SOFTWARE\Wow6432Node\Citrix\IMA\RUNTIME\ CurrentlyLoadingPlugin) est bloquée à « RADEAppSs.dll ».

 

Après quelques recherches, nous avons pu identifier la source du problème :

Le port du License Vendor Daemon (7279 par défaut) n’était pas ouvert entre le serveur de licences et la ferme distante.
Il semblerai que cela ai corrompu le cache de licence des serveurs Citrix, utilisé pendant la période de grâce, empêchant le service IMA de démarrer.

 

Malheureusement, même après avoir retrouvé le réseau, et donc la communication vers le serveur de licences, le service restait en erreur.
Il a donc fallu vider les caches locaux, de la manière suivante :

  • Définir un serveur de licence factice dans le datastore,
  • Arrêter les processus du service IMA (imasrv.exe) si celui est en cours de lancement, sur tous les serveurs de la ferme,
  • Supprimer le fichier de cache de licence mps-wsxica_mps-wsxica.ini dans C:\Program Files (x86)\Citrix\system32\cache,
  • Supprimer les clés de registre SysCachedResult et SysCachedValue dans HKLM\SOFTWARE\Wow6432Node\Citrix\Licensing\MPS,
  • Faire un dsmaint recreatelhc,
  • Faire un dsmaint recreaterade,
  • Redémarrer le serveur.

 

Refaire la procédure sur chaque serveur de la ferme. Les serveurs redémarrés doivent apparaitre à 20000 dans une commande QFARM /load (puisque le serveur de licence n’existe pas).

 

Nous avons ensuite pu re-basculer sur le serveur de licence original. Les clés SysCachedResult et SysCachedValue avaient bien disparues, et le service IMA était de nouveau fonctionnel.

 

Remarques :
Les clés SysCachedResult et SysCachedValue  ne sont pas créées par le service IMA, mais par le service Remote Desktop Services. Elles sont donc recréées à intervalle régulier, même si le service IMA est arrêté.
Je n’ai pas trouvé d’information sur leur rôle exact, mais leur suppression était indispensable pour que le problème disparaisse.

 

Brian Madden à fait un article sur le fichier mps-wsxica_mps-wsxica.ini, utilisé pour la mise en cache des informations de licence.

 

Une autre méthode de nettoyage consiste à sortir chaque serveur de la ferme, avec le Gestionnaire de rôles Citrix…

par .

Laisser un commentaire

*