Windows Server 2012 R2 – Cluster NLB et MSCS

I. Présentation

Cet article a pour objectif de présenter les deux types de clusters proposés au sein d'une infrastructure Microsoft et configurables sous Windows Server 2012 R2, à savoir :

- Cluster à répartition de charge au niveau réseau, Network Load Balancing (NLB)

- Cluster à basculement, Microsoft Cluster Service (MSCS)

Ces architectures en cluster permettent d'assurer la haute disponibilité de services installés sur des serveurs Windows. Cependant, je préfère prévenir tout de suite : Il n'est pas possible de cumuler ces deux modes de clusters sur un même serveur Windows.

Pour rappel, un cluster est un groupe de serveur appelé en informatique "une ferme de serveurs" ou encore "une grappe de serveurs" où chaque serveur représente un nœud, appelé également node en anglais.

Les nœuds d'un cluster sont configurés de façon à travailler ensemble dans l'objectif de rendre hautement disponibles un ou plusieurs services afin de répondre à un véritable besoin au niveau de l'entreprise.

II. Cluster à basculement MSCS

Dans le terme "cluster à basculement" il y a le mot de basculement, ce qui signifie qu'en cas d'indisponibilité ou d'anomalie on bascule vers un autre nœud du cluster qui prendra le relais afin d'assurer la haute disponibilité du service. On parlera de haute disponibilité de type "actif/passif".

clusterwin2

Microsoft propose la solution "Microsoft Cluster Service" pour répondre à ce besoin. Un cluster de ce type peut disposer jusqu'à 64 nœuds différents, c'est-à-dire être composé de 64 serveurs différents.

Dans ce mode, un seul serveur héberger une ressource à un instant t, il ne synchronise pas ses données avec les autres serveurs. En cas d'indisponibilité de ce serveur, un autre serveur du cluster prendra le relais en démarrant l'application afin d'assurer sa disponibilité.

Le danger de ce mode de fonctionnement c'est que les données applicatives doivent être mutualisées afin que tous les nœuds puissent avoir accès aux données. Si ce n'est pas un serveur qui tombe en panne, mais l'espace de stockage des données, cela devient problématique... il faudra assurer la redondance des données, mais il faut avouer que de doubler chaque équipement à un coût élevé.

Il est à noter qu'un seul serveur est actif à la fois, il doit donc être suffisamment dimensionné pour supporter la charge requise.

III. Cluster à équilibrage de charge réseau NLB

Le terme "équilibrage de charge réseau" est clair... tout comme l'appellation donnée par Microsoft avec le terme "Network Load Balancing". Dans ce mode de fonctionnement, on passe sur "actif/actif" et oui dans ce mode tous les nœuds sont sollicités continuellement de façon répartie. Attention, répartie ne veut pas dire équitable, car cela dépend de la configuration que vous effectuez sur le cluster. Ce qui est sur c'est que tous vos nœuds doivent être opérationnels, car ils sont susceptibles d'être mit à contribution à tout moment !

clusterwin3

Le mode NLB proposé par Microsoft permet l'intégration de 32 nœuds au sein d'un même cluster, l'ensemble de ces nœuds pourront répondent aux requêtes simultanément. Prenons un exemple simple et très utilisé : vous avez un cluster NLB composé de plusieurs nœuds, ces derniers sont des serveurs web (Windows Server avec IIS) ayant pour but de former une infrastructure web. Ils contiennent tous en local une copie - identique de préférence - du site web que vous hébergez et se connectent à un serveur de base de données externe au cluster pour le stockage des données. Les connexions clientes seront alors réparties entre les différents serveurs web afin de répondre aux différents pics de charge.

Cependant, cette mise en place peut s'avérer plus complexe dans certains cas notamment avec l'utilisation des sessions ou encore la gestion du Pannier sur les sites e-commerce où ces informations précieuses ne doivent pas être perdues en cas de panne du serveur web qui traitait la demande. Il est judicieux de stocker ces informations également en externe des serveurs web, mais nous n'entrerons pas dans les détails de ces pratiques au sein de cet article, ce n'est pas le but.

Concernant IIS, il est intéressant de l'utiliser en cluster NLB, car il peut être configuré pour fonctionner en cluster.

En ce qui concerne la répartition de charge réseau entre les serveurs, différentes méthodes sont disponibles lors de la configuration d'un cluster NLB sur un serveur Windows. Ce point sera abordé au sein d'un prochain tutoriel traitant plus l'aspect technique et pratique.

IV. NLB et MSCS : Avantages et inconvénients

Enfin et en guise de récapitulatif, voici un tableau des avantages et des inconvénients des clusters NLB et MSCS :

clusterwin1

Quoi qu'il en soit, vous devez vous poser les bonnes questions avant de décider de mettre en place un cluster sachant que cela engendre quand même de la configuration, mais aussi des coûts en terme de matériel (deux serveurs au lieu d'un...).

Utilisez-vous les clusters ? Pour quels services ?

Partagez cet article Partager sur Twitter Partager sur Facebook Partager sur Linkedin Partager sur Google+ Envoyer par mail

Florian BURNEL

Ingénieur système et réseau, cofondateur d'IT-Connect et Microsoft MVP "Cloud and Datacenter Management". Je souhaite partager mon expérience et mes découvertes au travers de mes articles. Généraliste avec une attirance particulière pour les solutions Microsoft et le scripting. Bonne lecture.

Nombre de posts de cet auteur : 5503.Voir tous les posts

3 thoughts on “Windows Server 2012 R2 – Cluster NLB et MSCS

  • Bonjour,
    tout d’abord je tenais à vous remercier par la qualité de ce site :).
    J’avais une petite question à vous soummetre au sujet du clustering IIS.
    Peut-on effectuer un cluster IIS en ayant en frontal un composant F5 qui repartit la charge sur plusieurs noeuds IIS simplement en deportant le stockage des sessions sur SQL Server (config IIS > Session State Mode: SQL Server)???

    Merci beaucoup pour votre avis.

    Cordialement,
    Jamel – Société SOGET – Service production Informatique Pôle projet

    Répondre
    • Bonjour Jamel,

      L’équipement F5, vous l’avez déjà ou vous désirez l’acquérir ? Il existe le module IIS ARR (Application Request Routing) qui peut faire office de reverse-proxy et de load-balancer.

      Le principe de ce que vous voulez faire me semble faisable, par contre je n’ai jamais travaillé sur le stockage des sessions centralisés. Sur le site officiel d’IIS il y a des bonnes docs 🙂

      N’hésitez pas à repasser sur notre site (vous pouvez nous tenir au courant quant à votre problématique) et à nous suivre sur les réseaux sociaux.
      Florian

      Répondre
  • Bonjour
    J’ai une petite question peut on créer un cluster de basculement entre deux RDS ou il est préférable de creer une ferme rds sachant que yen a juste une 20 de personnes ont besoin de se connecté sur le rds pour faire de l’administration système quand ils Sont en teletravail.

    Répondre

Répondre à Anel Annuler la réponse

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.