Professional Documents
Culture Documents
SOURCES
Présentation du NLB :
http://technet.microsoft.com/en-us/library/bb742455.aspx
Installation :
http://technet.microsoft.com/en-us/library/cc770689%28v=ws.10%29.aspx
1
INDEX
SOURCES.............................................................................................................................................................. 1
INDEX................................................................................................................................................................... 2
Préambule ........................................................................................................................................................... 3
1. Présentation ................................................................................................................................................ 4
1.1 Mode Unicast ...................................................................................................................................... 4
1.2 Mode Multicast ................................................................................................................................... 5
2. Prérequis ..................................................................................................................................................... 5
2.1 Mode Unicast ...................................................................................................................................... 5
2.2 Mode Multicast ................................................................................................................................... 6
3. Installation .................................................................................................................................................. 7
3.1 Ajout de la fonctionnalité NLB............................................................................................................. 7
3.2 Pare-feu ............................................................................................................................................... 7
4. Configuration .............................................................................................................................................. 8
4.1 Configuration via PowerShell .............................................................................................................. 8
4.2 Configuration via GUI .......................................................................................................................... 9
4.3 Mode Multicast ................................................................................................................................. 11
5. Notes ......................................................................................................................................................... 12
5.1 Mode « Core » ................................................................................................................................... 12
5.2 Console distante ................................................................................................................................ 12
Conclusion ......................................................................................................................................................... 13
2
Préambule
A la suite vous allez découvrir comment mettre en place une ferme de serveurs NLB. Notez
toutefois que seules les parties mises en place et configuration seront présentées. Pour ce tuto,
j’utiliserai 3 serveurs membres du même domaine :
SRV-AD: serveur Active Directory et DNS (installation non détaillée)
SRV-WEB01 (configuration détaillée)
SRV-WEB02 (configuration détaillée)
A titre d’information, le tableau ci-dessous compare les différentes solutions existantes permettant
de fournir une solution de répartition de charge :
3
1. Présentation
Le NLB (Network Load Balancing) est une fonctionnalité propre à Windows Server. Elle permet de
disposer d’une ferme de serveurs hautement disponibles au travers d’un système de répartition de
charge avancé.
Plus concrètement, lorsque ce service est configuré, une IP virtuelle est émulée par l’ensemble des
nœuds (ou serveurs) du cluster. De cette façon, même si un serveur venait à s’arrêter, le cluster
continuerait d’exister et le service resterait ininterrompu. Cette solution présente toutefois
quelques inconvénients mineurs. Tout d’abord les performances globales ne dépendent pas (ou
très peu) du matériel utilisé sinon de la capacité de votre réseau à acheminer le trafic. Enfin, vous
ne pouvez disposer « que » de 32 nœuds au sein du cluster et l’ensemble de ces nœuds doivent
être situés dans le même sous-réseau.
Il également important de noter qu’il existe deux modes de fonctionnement du NLB. Aussi, lors des
étapes de conception de votre maquette, assurez-vous de bien avoir assimilé les particularités de
ces deux modes présentés à la suite.
En mode unicast, l’adresse MAC de chaque serveur est remplacée par une adresse MAC commune,
définie en tant qu’adresse du cluster. Dès lors, l’ensemble des paquets seront envoyés à chacun des
nœuds étant donné qu’ils disposent de la même adresse MAC. Toutefois cette configuration
présente un inconvénient majeur. En effet, il n’est pas possible d’avoir plusieurs ports sur le switch
déclarant la même adresse MAC.
Pour pallier ce problème, une fausse adresse MAC (« bogus address ») est créée pour chacun des
nœuds du cluster. Cette « bogus adresse » est générée selon l’ID du nœud. Par exemple l’adresse
00-01-ac-10-00-01 correspondra à l’hôte n°1 et l’adresse 00-02-ac-10-00-01 à l’hôte n°2. Toutefois,
si une seule adresse MAC est enregistrée sur chacun des switchs, les paquets ne pourront être
transmis à l’ensemble des nœuds du cluster. Pour cela, le switch va alors émettre des « broadcast
ARP ». Ainsi, quand le routeur effectuera une requête ARP pour connaitre l’adresse de l’IP virtuelle,
un « ARP header » avec l’adresse MAC du cluster sera émis au lieu d’une « bogus address ».
Pour rappel, un client utilise l’adresse MAC située au niveau ARP (niveau 3 du modèle OSI) et non
Ethernet (niveau 2). Inversement pour le switch qui utilise l’adresse MAC du niveau 2 et non celle
du niveau 3. Lorsqu’un client envoie une requête vers le cluster, le switch va rechercher dans sa
table CAM l’adresse du cluster qui n’est bien évidemment pas enregistrée. Dès lors, le switch va
« flooder » l’ensemble de ses ports pour savoir à qui est assignée cette adresse. Cette technique
peut s’avérer fonctionnelle, mais va générer une quantité de trafic importante. La solution pour
éviter cela est de placer en frontal du switch (où sont connectés les nœuds du cluster) un hub. De
cette façon, le hub enregistrera les adresses MAC des nœuds tout en acheminant l’ensemble des
requêtes vers tous ses ports.
Conclusion : comme vous avez pu le constater, ce mode présente une certaine complexité et
requiert des équipements supplémentaires au détriment de possibles baisses des performances en
raison du « flooding » et du « hub » (détails point 2.1). Notez par ailleurs que ce mode n’est pas
supporté sur le Nexus 1000v Switch (sauf v4.2(1) SV1 (5.1) et ultérieur).
4
1.2 Mode Multicast
Le mode multicast est une alternative au mode unicast. Ce choix implique d’une part que les
membres du cluster répondent aux requêtes ARP via une adresse MAC « multicast » et d’autres
parts qu’ils envoient des messages « IGMP membership ». Si l’« IGMP snooping » est activé sur le
switch, toutes les trames de ce type seront analysées. De ce fait, quand un client enverra un paquet
à destination de l’adresse MAC du cluster, il sera transmis vers l’ensemble des ports membre du
cluster. Il n’y donc en ici aucun problème de « flooding ».
Toutefois, un problème survient avec ce mode. En effet, l’adresse virtuelle sera inaccessible depuis
un sous-réseau différent étant donné que les périphériques Cisco ne supportent pas les réponses
ARP pour une adresse IP unicast contenant une adresse MAC multicast. De ce fait, un message
« ICMP unreachable » sera envoyé au client.
Solution : pour résoudre ce problème, il convient de créer manuellement une entrée ARP associée
à l’adresse MAC multicast (détails point 2.2)
2. Prérequis
En corrélation avec votre architecture et les points 1.1 et 1.2, effectuez les étapes de « pré-
configuration » décrites à la suite.
Vous aurez besoin deux cartes réseaux pour chacun des nœuds du cluster :
Une carte réseau pour l’administration de votre serveur
Une carte réseau dédiée pour le NLB
Pour commencer, notez que ce mode n’est pas recommandé en environnement virtuel. Par ailleurs
vous aurez besoin deux cartes réseaux pour chacun des nœuds du cluster :
Une carte réseau virtuelle pour l’administration de votre serveur
Une carte réseau virtuelle dédiée pour le NLB
5
2.1.3 Configuration système (env. physique et virtuel)
Pour terminer, effectuez les configurations suivantes cette même carte réseau :
Attribuez-lui une IP fixe
Supprimez les DNS / WINS saisis
Désactivez l’enregistrement DNS automatique et vérifiez qu’il n’existe pas d’autres
enregistrements DNS liés à cette IP
Vous aurez besoin deux cartes réseaux pour chacun des nœuds du cluster :
Une carte réseau pour l’administration de votre serveur
Une carte réseau dédiée pour le NLB
Si vous êtes en environnement virtuel, VMware recommande d’utiliser le mode Multicast, en plus
de deux cartes réseaux pour chacun des nœuds du cluster. Autrement dit, il vous faudra :
Une carte réseau virtuelle pour l’administration de votre serveur
Une carte réseau virtuelle dédiée pour le NLB
Vous devrez également effectuer les configurations suivantes sur la carte dédiée au NLB :
Attribuez-lui une IP fixe
Supprimez les DNS / WINS saisis
Désactivez l’enregistrement DNS automatique et vérifiez qu’il n’existe pas d’autres
enregistrements DNS liés à cette IP
6
3. Installation
Pour déployer ce rôle en PowerShell sur tous vos serveurs exécutez la commande suivante depuis
votre console « pilote »:
$Session=New-PsSession –ComputerName <name1>, <name2>, <name3>
Invoke-Command –Session $Session –ScriptBlock {Import-Module ServerManager}
Invoke-Command –Session $Session –ScriptBlock {Add-WindowsFeature NLB, RSAT-NLB}
Exécutez ensuite cette commande pour installer la console de gestion sur votre serveur pilote :
Add-WindowsFeature RSAT-NLB
Pour installer cette fonctionnalité, lancez simplement la console Server Manager et sélectionnez le
rôle Network Load Balancing. Répétez cette action sur chacun de vos serveurs :
3.2 Pare-feu
Suite à l’activation de ce rôle, les règles ci-dessous seront créées. Aucune autre modification à ce
niveau ne sera nécessaire par la suite :
7
4. Configuration
Pour configurer votre cluster, vous avez le choix entre le mode GUI et le mode PowerShell.
Rappelez-vous que le PowerShell peut être exécuté à distance sur vos serveurs.
Pour configurer votre cluster en PowerShell, exécutez dans l’ordre les commandes ci-dessous :
Ajout des ports en écoute (action à répéter pour chaque port de site IIS hébergé)
Add-NlbClusterPortRule -StartPort 80 -EndPort 80 -Protocol TCP -Affinity Single -InterfaceName
“<interface>”
8
4.2 Configuration via GUI
9
Ajoutez une IP virtuelle pour le cluster …
… ainsi que son nom et son mode (explications aux points 1.1 et 1.2)
Note importante : récupérer bien l’adresse MAC du cluster si vous êtes en multicast. Vous en aurez
besoin pour le point 4.3
10
Les informations ci-dessous sont à préciser lorsque vous ajoutez un port :
Si vous avez opté pour ce mode, vous devez créer une entrée ARP sur vos cœurs de réseaux Cisco.
Pour cela exécutez la commande suivante (format adresse MAC : XXXX.XXXX.XXXX) :
conf t
arp <IP> <cluster MAC>
mac-address-table static <cluster MAC> vlan <ID> interface faX/X faX/X
Pour les Cisco Catalyst 6000/6500, il faut impérativement ajouter le paramètre « disable-snooping » :
mac-address-table static <cluster MAC> vlan <ID> interface faX/X faX/X disable-snooping
Note : l’adresse MAC devra elle celle générée par le cluster au point 4.2
11
5. Notes
Lorsque vous basculez en mode Core après avoir configuré votre NLB, les commandes PowerShell
propres au NLB ne seront plus disponibles (Get-ClusterNLB…).
Les 5 règles de pare-feu « Network Load Balancing (…) » du point 3.2 apparaitront de la façon
suivante depuis une console MMC distante :
12
Conclusion
Ce tuto vous a permis de mettre en place une ferme de serveurs NLB. Grâce à cela, vous êtes
maintenant en mesure de fournir un service hautement disponible, aussi bien sur des plateformes
physiques que virtuelles. Par ailleurs, sachez que cette configuration est particulièrement adaptée
pour l’hébergement de sites web. C’est pourquoi je vous invite à lire mon tuto concernant la mise
en place d’une ferme de serveurs IIS en mode Core.
13