En bref

TS Session Broker et l’ équilibrage de charge

TS Session Broker, dans Windows Server 2008, est le successeur de Session Directory dans Windows 2003. C’ est un mécanisme qui référence les sessions TS existantes et qui permet ainsi de reconnecter un utilisateur à une session déja existante de laquelle il se serait déconnecté. Contrairement à Session Directory dans Windows 2003, Session Broker est disponible dans toutes les versions de  Windows 2008.

Autre avantage, Session broker intégre un mécanisme de d’ équilibrage de charge, certes primaire, mais qui a l’ avantage d’ exister… Ce Load Balancing (Session Broker Load Balancing ou SBLB) se base sur le nombre de session, c’ est à dire qu’ une connexion entrante est dirigée vers le serveur disposant du nombre de session le plus faible parmi les serveurs TS participant à cet équilibrage de charge (ces serveurs sont regroupés sous la forme d’ une “batterie” Session Broker).

Il est à noter que coté client, il est nécessaire d’ utiliser un client RDP 5.2 ou supérieur.

Comment ça fonctionne?

L’ équilibrage de charge se base, par défaut, sur le mécanisme Round Robin DNS et sur Session Broker par la suite. Le processus de connexion s’ effectue donc en deux étapes.

  • Le client se connecte à un alias DNS (ex: ts.mon.domaine). Le Round Robin DNS retourne l’adresse IP d’un des serveurs Terminal Server participant à la batterie Session Broker. Le client RDP initie une connexion vers cette adresse…
  • Le serveur recevant ce début de connexion interroge l’ annuaire de Session de Session Broker pour déterminer si une session existe déjà pour cet utilisateur. Si c’ est le cas, le client est redirigé de manière transparente vers ce serveur. Si ce n’est pas le cas, la connexion est dirigé vers le serveur disposant du moins de sessions.

Nota: Il est possible de remplacer le Round Robin DNS par NLB ou un Load Balancer tiers, mais Round Robin a l’ avantage d’ être simple à implémenter. L’ inconvénient est qu’en cas de maintenance d’un serveur, Round Robin peut retourner une adresse non valide, ce qui provoque un délai de 30 secondes, qui représente le temps nécessaire au client pour déterminer que le serveur TS est offline.

L’ équilibrage de session se basant sur le nombre de session, il ne tient pas compte des différences de matériels entre les différents serveurs de la batterie. Pour lisser ces différences, on peut attribuer un certains poids à chaque serveur. Ce poids est une valeur relative: ainsi un serveur avec un poids de 200 acceptera deux fois plus de session qu’un serveur avec un poids de 100.

De plus, afin de limiter l’ effet “Black hole” ou “Trou noir” qu’ on rencontre au démarrage d’ un serveur au sein d’ une batterie (donc qui accepterait toutes les connexions entrantes au détriment des performances), le nombre de connexion “en cours de création” est limité à 16 et la charge du serveur est artificiellement modifié pendant le temps de la création d’ une session.

Enfin, une fonctionnalité attendue: Le mode vidage: C’ est la possibilité d’ interdire les nouvelles connexions à un serveur (pour pouvoir l’ arrêter pour maintenance, typiquement), mais en permettant aux utilisateurs déjà en session  sur ce serveur de se déconnecter/reconnecter. Par ailleurs, la commande mstsc /admin n’ est pas impactée, ce qui permet aux administrer de se connecter tout de même aux serveurs en “mode vidage”, ce qui n’ est pas le cas si on désactive les ouvertures de session comme on le fait actuellement.

Conclusion

Bien que l’ implémentation de cette fonctionnalité soit sommaire par rapport à d’autres solutions du marché (Tel que l’équilibrage  de charge fourni par Citrix dans Presentation Server / XenApp), il est fonctionnel et applicable à partir de la versions Standard de Windows 2008. On peut compléter ce mécanisme avec Windows Server Resource Manager (WSRM) qui permet de limiter la consommation de ressources et de fournir  des performances homogènes aux différents utilisateurs d’ un serveur.

Articles relatifs

Commentaires

2 commentaires pour l'article “TS Session Broker et l’ équilibrage de charge”

  1. Par Maxime B | 24 avril 2008 9:15
  2. la mise en cluster du session broker sous win 2008 R2 et l’usage de redirecteurs dédiés avec NLB peut ameliorer grandement les performances de la plateforme TS.
    encore on peut opter pour l’usage de produits tiers pour le load balancing comme 2X load balancer qui se base sur des beaucoup de critéres pour la repartition de charge.

    Par elfaroukhi moulay rachid | 19 avril 2009 2:06

Ajouter un commentaire

Important: Un modérateur est susceptible de supprimer, préalablement à sa diffusion, toute contribution qui ne serait pas en relation avec le thème de discussion abordé, la ligne éditoriale du site, ou qui serait contraire à la loi. Vous disposez d'un droit d'accès, de modification, de rectification et de suppression des données qui vous concernent. Vous pouvez, à tout moment, demander que vos contributions à cet espace de discussion soient supprimées.