Installation d’un Terminal Server à haute disponibilité



Yüklə 42.37 Kb.
tarix08.01.2018
ölçüsü42.37 Kb.

Installation d’un Terminal Server à haute disponibilité




Jean-Benoit PAUX

SupporTech INSA .NET

INSA de Lyon

Rédaction : mars 2007

Historique des révisions


Date

Version

Auteur

Changements

15 mars 2007

1.0

Paux Jean-Benoit

Version initiale du document

15 mars 2007

1.1

Paux Jean-Benoit

Ajout dépanage


Résumé


Ce livre blanc présente l’installation et la configuration d’une solution haute disponibilité pour l’application Terminal Services. Cette installation utilise les Terminal Services, NLB pour le partage de charge et Session Directory Service pour la persistance des sessions.

La mise en cluster du Session Directory Service ne sera pas abordée dans ce livre blanc.


Sommaire


1

Installation d’un Terminal Server à haute disponibilité 1

Historique des révisions 1

Résumé 1

Sommaire 2

Architecture de la solution 3

Session Directory Service 4

Active Directory 4

Serveur de licences TSE 4



Installation et configuration des Terminal Services 4

Installation et configuration du serveur de licences TSE 4

Installation du service Terminal Services 4

Configuration des serveurs TSE 6



Installation du partage de charge (NLB) 9

Configuration du Session Directory Service 14

Dépanage d’un NLB TSE 16

J’ai tout bien fait, mais mes clients n’arrivent pas à joindre le cluster 16

J’arrive à me connecter mais le cluster n’arrive pas à m’authentifier 16

Liste d’outil 16



Conclusion 17

Bibliographie 17

Architecture de la solution


L’architecture présentée utilise sur les serveurs TSE la même carte réseau pour l’accès aux ressources (Active Directory, Session Directory ici) et pour l’accès des clients. Une architecture back-end/front-end est possible mais de nombreux articles présentant cette configuration sont disponibles en ligne.

Une configuration avec un seul adaptateur réseau présente quelques spécificités et contraintes qu’on ne trouve pas dans une configuration multi-adaptateurs.

Voici un schéma de l’architecture utilisée :

Les serveurs TSE sont équipés de Windows Server 2003 Entreprise Edition SP1 car cette version (et la version DataCenter) supporte le service de gestion des sessions (Session Directory Service). Cependant il existe une solution équivalente pour Windows Server 2003 Standard mais qui n’utilise pas ce service.

Une IP virtuelle (ici 192.168.0.10) permet l’accès à l’ensemble des nœuds du cluster (les 3 serveurs TSE).

Session Directory Service


Le Session Directory Service permet aux utilisateurs ayant une session ouverte sur un des serveurs à la retrouver en cas de déconnexion (volontaire ou non). Ainsi les applications ouvertes sont encore chargées sur cette machine et l’utilisateur n’a pas à tout relancer sur une autre session.

Le service est disponible sur toutes les machines sous Windows Server 2003, est très léger en terme de ressources mais il est déconseillé de le mettre sur un DC (ce service crée un groupe local et sur un DC il s’agit par définition d’un groupe de domaine local, partagé ainsi entre les différents DC).

Ce service peut être mis en cluster grâce au service MSCS pour assurer une tolérance de panne mais cette configuration ne sera pas abordée dans cet article.

Active Directory


L’ensemble des nœuds TSE sera mis dans une OU pour la configuration de ceux-ci via GPO.

Ainsi la configuration du cluster se fera globalement et aucune incohérence entre les nœuds ne sera possible. (en tout cas au bout d’un temps de convergence)


Serveur de licences TSE


Le serveur de licence TSE permet la mise à disposition des CAL TSE aux clients. Ce rôle doit être installé sur une machine disposant d’un bon mécanisme de backup. Il ne consomme pas beaucoup de ressources.

Dans cet exemple il est configuré sur le DC.


Installation et configuration des Terminal Services

Installation et configuration du serveur de licences TSE


L’installation du rôle serveur de licences TSE se fait par l’intermédiaire du composant Ajout Suppression de composant Windows.

Il est nécessaire ensuite de l’activer pour pouvoir installer des CAL TSE. L’activation se fait par la MMC Licence TSE. 3 choix sont disponibles pour l’activer : activation via Internet, activation via lien WEB (dans le cas où le gestionnaire n’est pas directement connectable à Internet), ou par téléphone.

Enfin il faut installer des CAL. Il faut simplement rentrer le code qui a été fournis lors de l’achat.

Le détail des opérations n’est pas l’objet de ce livre blanc mais une FAQ est disponible.


Installation du service Terminal Services


Après avoir installé Windows Server 2003 sur l’ensemble des nœuds et les avoir joint à votre domaine il est nécessaire d’installer le rôle de Terminal Services.

N’installez pas d’applications entre temps, celles-ci risquent de ne pas fonctionner correctement après.

L’installation peut se faire par l’interface de management du serveur ou par l’ajout suppression de composant Windows :



L’installation vous demande le serveur de licence. Ce paramètre sera configuré par GPO plus tard, indiquez donc que sera configuré ultérieurement.



Vous devez ensuite configurer le type de licences à utiliser : per User ou per Device. Le choix doit pour une histoire de cohérence être identique sur tous les nœuds du cluster. Il dépend de votre organisation et des licences que vous avez achetées.




Configuration des serveurs TSE


Beaucoup de paramètres sont disponibles par les GPO pour configurer les serveurs TSE. Nous nous appliquerons à en configurer qu’une petite partie, mais il ne faut pas hésiter à les regarder et à les configurer si vous pensez qu’ils vous seront utils.

Les GPO correspondant à TSE se trouvent dans les Computer Configuration\Administrative Templates\Terminal Services

Nous allons configurer tout d’abord le paramètre forçant l’utilisation d’un serveur de licence.

Pour cela il faut configurer la GPO « Use the specified Terminal Service License servers » et lui indiquer votre serveur de licence TSE.



Pour éviter une surcharge de vos serveurs TSE vous pouvez configurer un délai de déconnexion et de fermeture de sessions de vos utilisateurs.

Pour cela, configurez les GPO


Il faut ensuite configurer les utilisateurs autorisés à se connecter. Cela se passe par la configuration de groupes restreints. Le paramètre GPO à modifier est :

Computer Configuration\Windows Settings\Restricted Groups\

Il faut ici ajouter le groupe Remote Desktop Users via le bouton droit « Add group » et d’ajouter aux membres de ce groupe les utilisateurs ou groupes qui auront le droit d’accès au serveur.



Essayez de vous connecter sur chacun des serveurs TSE pour vérifier qu’ils fonctionnent et que vous avez le droit d’y accéder (un rafraichissement des.GPO sera nécessaire sur vos nœuds).



Un petit bug est présent lorsqu’on configure un cluster TSE : l’attachement de la socket sur le port 3389 quand on lui dit de s’attacher sur une carte réseau ne se fait que sur la première IP de la carte. Dans le cadre d’un cluster, il y en a plusieurs (une dédiée et une ip pour le cluster) ce qui oblige à faire écouter notre TSE sur toutes les cartes réseaux disponibles (ici il s’agira donc de la seule carte réseau présente mais de toutes les IP sur la carte).

Pour se faire il faut ouvrir dans les outils d’administration la console MMC Terminal Services Configuration et de double cliquer sur les propriétés de Rdp-TCP puis d’aller sur l’onglet Network Adapter.




Installation du partage de charge (NLB)


La configuration d’un NLB peut se faire soit en configurant tous les nœuds à la main, soit en faisant une configuration généralisée via un utilitaire : Network Load Balancing Manager.

Nous allons utiliser cet outil dans la suite de notre livre blanc. Celui-ci se trouve dans les outils d’administration de Windows Server 2003. Vous pouvez l’ouvrir à partir de n’importe quelle machine (TSE ou non).

On va créer un nouveau cluster

Il faut configurer l’adresse IP virtuelle du cluster, son nom DNS.

Le mode d’opération du cluster peut se faire selon 2 modes :Unicast ou Multicast. Voilà une briefe explication de leur fonctionnement.


  • Unicast : L’adresse MAC de chacune des cartes du cluster sont remplacée par une même adresse MAC. Ceci a l’avantage d’être simple mais présente quelques problèmes : certains switchs pourraient y voir un problème de sécurité et dans le cadre d’un NLB avec qu’une seule carte réseau par nœud, cela rend la communication inter-nœud inopérante.

  • Multicast : Une adresse MAC multicast est ajoutée et sera utilisée pour l’IP virtuelle. Le problème vient d’une potentielle non-compatibilité avec vos équipements réseaux.

Dans le cas d’une configuration avec un seul adaptateur réseau, la solution Multicast est plus adaptée.

Dans l’écran suivant vous pouvez configurer d’autres adresses IP faisant partie du cluster. Dans le cadre du service TSE, ceci n’est pas utile.

Il faut ensuite configurer les ports autorisés à être balancés. Il faut désactiver les ports 0 à 3388 et de 3390 à 65535.

On va par contre configurer une règle pour le port 3389 TCP correspondant au port par défaut du RDP.

Le mode de filtrage doit être sur None si on utilise le Session Directory Service ou à Single si on ne l’utilise pas. En effet en mode Single, le client se connectera directement sur la machine où il était précédemment alors qu’en mode None le partage de charge est juste fonction de la charge des serveurs.

Vous devriez obtenir cette configuration :



Il nous suffit maintenant d’ajouter un premier nœud à notre cluster. Entrer l’IP puis cliquer sur connecter et sélectionnez l’interface (la seule ici) devant recevoir le NLB.

On configure ensuite le numéro du nœud ainsi que son état dans le cluster.

Il faut maintenant ajouter les autres nœuds.

Il suffit de lui dire « Add Hosts to the cluster » en faisant un clic droit sur le cluster et de rentrer les paramètres comme pour l’ajout du premier nœud.

Après avoir fait plusieurs fois F5, on a un réseau qui a convergé :



Pour ne pas avoir à rechercher les nœuds lors de la réouverture du NLB Manager, on peut enregistrer un fichier texte contenant les informations. L’option est disponible dans le menu Fichier, tout comme le chargement de la liste.

Une dernière étape avant la fin de la configuration consiste à configurer votre serveur DNS et lui ajouter une entrée A faisant pointer sur l’IP virtuelle le nom de votre cluster : tse-cluster.virtualdomain.local ici.

Vous pouvez tester dès maintenant le partage de charge TSE (connectez vous plusieurs fois sur l’IP virtuelle, elle devrait changer si vous êtes en mode de filtrage None. Essayer depuis divers clients si vous êtes en mode Single.


Configuration du Session Directory Service


Le service de gestion des sessions utilisateurs est une base de données faisant la relation entre un utilisateur et le serveur TSE sur lequel sa session est ouverte. Ce service est disponible sur toutes les machines sous Windows Server 2003 et permet de gérer les sessions des serveurs TSE sous Windows Server 2003 Enterprise et Datacenter.

Pour l’activer il suffit d’aller dans la MMC Services de l’ordinateur sur lequel vous voulez installer ce service et de mettre Terminal Service Session Directory à Automatic et de le démarrer.

L’activation de ce service crée un nouveau groupe local appelé « Session Directory Computers » dans lequel doivent être listé les ordinateurs autorisé à utiliser ce service. Dans notre cas il s’agit tout simplement des nœuds du cluster TSE.

Il nous reste plus qu’à configurer la GPO des serveurs TSE pour leur indiquer le serveur de sessions et divers paramètres. Les entrées se trouvent dans :



Computer Configuration\Administrative Templates\Terminal Services\Session Directory\

  • Join Session Directory : Permet d’activer l’enregistrement des session sur le serveur. Mettez le donc sur Enabled

  • Session Directory Cluster Name : entrer le nom du cluster (un service de session TSE peut gérer plusieurs cluster indépendant, ce paramètre sert donc à les différencier).

  • Session Directory Server : indique le serveur de session à utiliser pour enregistrer la session. Mettez le nom ou l’IP du serveur gérant ce service ou dans le cadre d’un cluster MSCS de Session Directory Service, le nom ou l’ip virtuelle du cluster.


Dépanage d’un NLB TSE

J’ai tout bien fait, mais mes clients n’arrivent pas à joindre le cluster


L’utilisation d’une seule carte réseau pose des soucis avec un switch et selon les switchs il sera parfois nécessaire de le configurer ou de mettre les serveurs sur un hub. Le switch doit pouvoir gérer les adresses MAC multicast ou configurer une entrée statique pour envoyer les paquets de l’adresse MAC multicast vers les ports dictés ou configurer les ports des nœuds comme des ports de mirroring pour qu’ils agissent comme un hub.

J’arrive à me connecter mais le cluster n’arrive pas à m’authentifier


Chaque nœuds ayant 2 adresses IP, si l’adresse du cluster est l’adresse IP primaire, celle-ci sera utilisée par défaut. Une mauvaise communication avec l’AD ou entre les nœuds interviendrait alors. Il est nécessaire que cette IP soit en secondaire dans les propriétés avancées TCP/IP de la carte réseau utilisée.

Liste d’outil


Plusieurs outils peuvent vous aider à diagnostiquer un problème avec NLB :

  • NLBManager pour voir comment est configuré votre cluster

  • NLB.exe qui vous permet en ligne de commande de voir l’état des nœuds, l’état de convergence

  • Netmon/WireShark qui vous permettent de faire des traces réseaux pour analyser les problèmes

Conclusion


Ce livre blanc vous a ainsi permis d’installer un service de bureau à distance à haute disponibilité et scalable. Il ne faut cependant pas oublier que la haute disponibilité n’est pas possible en n’installant que des modules logiciels, elle doit être faite à la base :

  • Alimentation redondante, ondulée

  • Réseau robuste, redondant (utilisation de Spaning Tree, LAPD etc)

  • Disques dur en RAID

Bibliographie


  • Load Balancing Terminal Servers :

http://technet2.microsoft.com/WindowsServer/en/library/310bbd92-9d68-400c-b0d2-fff51fc886121033.mspx?mfr=true

  • Checklist: Enabling and configuring Network Load Balancing :

http://technet2.microsoft.com/WindowsServer/en/library/65319bac-2efe-4764-8752-d091447dddbe1033.mspx?mfr=true

  • Terminal Services Client Cannot Connect to NLB Cluster TCP/IP Address :

http://support.microsoft.com/?scid=kb%3Ben-us%3B280805

  • Set preferred Terminal Server license servers :

http://technet2.microsoft.com/WindowsServer/en/library/46844a6e-386f-4ce3-98e5-d5377b5d6ba91033.mspx?mfr=true

  • Session Directory and Load Balancing Using Terminal Server:

http://www.microsoft.com/windowsserver2003/techinfo/overview/sessiondirectory.mspx

  • Single network adapter NLB configuration:

http://technet2.microsoft.com/WindowsServer/en/library/65319bac-2efe-4764-8752-d091447dddbe1033.mspx?mfr=true

  • Choosing a Network Load Balancing Model :

http://technet2.microsoft.com/WindowsServer/en/library/65319bac-2efe-4764-8752-d091447dddbe1033.mspx?mfr=true

http://www.brianmadden.com/content/content.asp?ID=278

  • NLB : Multicast or Unicast, switch problems

http://msmvps.com/blogs/clusterhelp/archive/2005/08/07/61965.aspx

  • Liste de liens sur la résolution de problèmes sur NLB

http://download.microsoft.com/download/3/2/3/32386822-8fc5-4cf1-b81d-4ee136cca2c5/NLB_Troubleshooting_Guide.htm

Dostları ilə paylaş:


Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©muhaz.org 2017
rəhbərliyinə müraciət

    Ana səhifə