Haute disponibilité d’une infrastructure RDS
Introduction
De nos jours, la plupart des entreprises travaillent avec l’outil informatique. La vie de l’entreprise en devient tellement dépendante qu’une simple interruption de service peut bloquer tout un service, voire même la société dans son intégralité. C’est pourquoi le département IT en charge du bon fonctionnement des infrastructures se doit de mettre en place des solutions pérennes devant empêcher, voire limiter toutes interruptions de services au sein de votre infrastructure informatique.
Les services RDS ne sont pas à l’abri d’une interruption de service, bien que des mécanismes natifs existent au sein de l’architecture RDS, pour apporter un brin de haute disponibilité. La haute disponibilité d’une infrastructure informatique consiste à mettre en place une solution matérielle ou logicielle permettant de garantir un service continu pour les utilisateurs. Le taux de disponibilité d’une infrastructure informatique s’exprime en pourcentage, et on peut affirmer qu’une infrastructure est hautement disponible lorsque son pourcentage de disponibilité avoisine des seuils supérieurs à 99 %. La finalité d’une telle mise en place est d’assurer un fonctionnement de l’infrastructure 24h/24, 7j/7. Pour réussir à obtenir le meilleur niveau...
Répartition de charge
Dans le domaine de l’informatique, la répartition de charge (Load Balancing) consiste à mettre en place une technologie permettant aux utilisateurs d’accéder à un service avec des temps d’accès réduits, une sécurité plus importante ainsi qu’une haute disponibilité des serveurs applicatifs.
En comparaison, imaginez une salle de cinéma proposant plusieurs films et un seul guichet ouvert. Si plusieurs clients affluent en même temps, le guichetier sera rapidement débordé et les clients seront mécontents de l’attente pour accéder au contenu désiré. C’est à ce moment-là que le cinéma ouvrira un ou plusieurs guichets afin de répartir la charge de travail sur plusieurs employés et réduire ainsi le temps d’attente en caisse. Pour rester dans le même exemple, la haute disponibilité consisterait ici à assurer la diffusion d’un même film dans deux salles différentes.
Traduisons maintenant cet exemple en le transposant à une infrastructure RDS. La société INFONOVICE (exemple du cinéma) qui possède un unique serveur web d’accès aux services Bureau à distance (exemple du film) n’utilise aucune répartition de charge et peut rapidement être saturé par un pic d’utilisation du service si plusieurs utilisateurs s’y connectent.
Implémenter une solution de répartition de charge dans l’infrastructure RDS de la société INFONOVICE consistera donc à ajouter un ou plusieurs serveurs proposant un contenu identique, afin que les utilisateurs puissent y accéder via un point d’accès unique (exemple du guichet de cinéma). L’équilibrage de charge permet ainsi d’accroître les performances d’un système d’informations en proposant une redondance des serveurs et un accès viable même en cas de défaillance d’un des serveurs.
Un regroupement de serveurs est appelé une ferme, mais au sein d’une solution de répartition de charge on parlera plus précisément de cluster. Chaque serveur intégré à un cluster sera présenté comme étant...
Répartition de charge réseau
La répartition de charge réseau consiste à distribuer la charge à travers le protocole TCP/IP. Cette technologie utilise le driver nlb.sys situé dans l’emplacement suivant : C:\Windows\System32\Drivers.
1. Network Load Balancing
Le Network Load Balancing (répartition de charge réseau) est un composant intégré dans Windows et il permet de mettre en place une technologie de répartition de charge logicielle. Ce procédé est majoritairement utilisé pour les applications Web (sites Internet, Web Services, FTP (File Transfer Protocol), etc.), ou les services Bureau à distance (notamment le portail d’accès Web RDS). Lors de l’implémentation de cette fonctionnalité, un cluster de serveurs doit être créé et les utilisateurs accéderont au service via une adresse IP virtuelle. Selon le mode de répartition de charge définie dans la configuration, l’ensemble des requêtes entrantes sera distribué vers le ou les serveurs hôtes disponibles du cluster. Le NLB fonctionne uniquement au travers du protocole TCP/IP et aucun autre protocole réseau ne doit figurer sur l’interface réseau utilisée. L’adressage IP des serveurs membres du cluster NLB devra être configuré de manière statique car le service DHCP (Dynamic Host Configuration Protocol) n’est pas supporté. Cette technologie peut prendre en charge jusqu’à 32 nœuds sur un même cluster. D’après les bonnes pratiques de Microsoft, il n’est pas conseillé d’aller au maximum de la capacité supportée. Pour garantir de bonnes performances au sein d’un système de répartition de charge réseau, il vaut mieux créer plusieurs clusters de 8 nœuds maximum qui seront à leur tour accessibles via une répartition de charge en DNS Round-Robin.
1. |
Requête HTTP d’un utilisateur sur l’adresse IP virtuelle du cluster NLB. |
2. |
Le cluster redirige la requête vers le serveur le moins chargé. |
3. |
Le serveur sélectionné accède à la base de données du site web. |
4. |
Le serveur du cluster renvoie les données demandées par l’utilisateur.... |
Clusters de basculement
La technologie de cluster de basculement représente une solution de haute disponibilité directement intégrée dans le système d’exploitation Microsoft Windows Server 2019 en tant que fonctionnalité de serveur sous le nom de WSFC (Windows Server Failover Clustering).
1. Présentation des clusters
Dans le monde informatique, un cluster représente un groupe de serveurs exécutant la même instance d’une application. Chaque serveur représente un nœud du cluster. Le clustering de serveur peut être réalisé avec plusieurs types d’applications supportant le fonctionnement en architecture de cluster de serveurs. On trouve plus fréquemment des clusters de serveurs web, serveurs de messagerie Exchange, serveurs SQL ou autres serveurs applicatifs (tels que Jboss, WebSphere, WebLogic, etc.). La fonctionnalité de cluster était déjà existante dans les précédentes versions du système d’exploitation Windows Server.
Le système d’exploitation Microsoft Windows Server 2016 apportait tout de même quelques améliorations et nouveautés intéressantes telles que :
-
Prise en charge de 64 nœuds physiques dans un cluster (contre 16 nœuds dans les éditions de Windows Server 2008 et 8 nœuds pour les éditions de Windows Server 2003).
-
Prise en charge de 8000 machines virtuelles sur chaque cluster (contre 1000 pour les éditions de Windows Server 2003 et 4000 pour l’édition de Windows Server 2012).
-
Meilleure gestion des clusters.
-
Nouveaux applets de commandes Windows PowerShell.
-
Mise à jour contrôlée du système d’exploitation des nœuds du cluster pour passer de Windows Server 2012 R2 à Windows Server 2016 sans interruption de service.
-
Le Cloud Witness est un nouveau type de quorum pour les clusters de basculement sous Windows Server 2016. Ce type de quorum est hébergé dans le cloud Azure et peut participer à un vote de quorum de cluster de basculement Windows Server 2016.
Le système d’exploitation Microsoft Windows Server 2019, apporte des nouveautés comme les éléments suivants :
-
Prise en charge de l’administration du cluster avec Windows Server Admin.
-
Jeux de clusters : permet...
Serveur Broker
Le serveur Broker apporte en soi une solution intégrée de haute disponibilité. Ce dernier permet de rediriger nativement les utilisateurs vers les serveurs les moins chargés d’une infrastructure RDS, mais également de rediriger les utilisateurs déconnectés vers les serveurs RDS ayant initié leur connexion. De ce fait, lorsqu’un utilisateur se connecte pour la première fois, le serveur Broker évalue les éléments suivants :
-
Si ce dernier possède déjà une session en mode déconnectée sur l’un des serveurs RDS de l’infrastructure. Dans ce cas, l’utilisateur est redirigé vers le serveur RDS hébergeant sa session déconnectée.
-
Si ce dernier est un nouvel utilisateur, le serveur RDS le dirige vers le serveur RDS ayant la charge la moins élevée.
Pour configurer un serveur Broker en tant que solution de répartition des charges pour les connexions RDS, il faut a minima posséder deux serveurs hébergeant les rôles RDSH. Lorsque ce prérequis est obtenu, vous pourrez dérouler le mode opératoire suivant :
Créez une collection de sessions et ajoutez-y les serveurs RDSH. Par défaut, le mode de collection de sessions sera de type « Connexion Bureau à distance ».
Ouvrez une session...