Chapitre 11. Installation d'un cluster LVS Red Hat Enterprise Linux

Un cluster LVS Red Hat Enterprise Linux se compose de deux groupes de base : les routeurs LVS d'une part et les serveurs réels d'autre part. Afin d'éviter un point de défaillance unique, chaque groupe devrait contenir au moins deux systèmes membres.

Le groupe de routeurs LVS devrait être composé de deux systèmes identiques ou très semblables, faisant tourner Red Hat Enterprise Linux. L'un sera le routeur LVS actif alors que l'autre existera comme secours automatique (hot-standby). Pour cette raison, les routeurs doivent avoir des capacités aussi semblables que possible.

Avant de choisir et de configurer le matériel pour le groupe de serveurs réels, vous devez choisir un type de topologie LVS parmi les trois types disponibles.

11.1. Cluster LVS avec routage NAT

La topologie de NAT permet une grande flexibilité dans l'utilisation du matériel existant, mais elle est limitée dans sa capacité à traiter des charges importantes, car tous les paquets entrant et sortant du cluster passent par le routeur LVS.

Organisation du réseau

La topologie d'un cluster LVS utilisant un routage NAT est, du point de vue de l'organisation du réseau, la plus simple à configurer parce que le cluster n'a besoin que d'un point d'accès au réseau public. Étant donné que les serveurs réels retournent toutes les requêtes à travers le routeur LVS, ils existent sur leur propre réseau privé.

Matériel

La topologie du routage NAT est la plus flexible en matière de matériel de cluster parce que les serveurs réels ne doivent pas obligatoirement être des machines Linux pour fonctionner correctement dans le cluster. Dans un cluster utilisant NAT, chaque serveur réel n'a besoin que d'un NIC, puisqu'il ne répondra qu'au routeur LVS. Les routeurs LVS en revanche, ont besoin de deux NIC chacun afin de router le trafic entre les deux réseaux. Parce que cette topologie crée un goulot d'étranglement au niveau du routeur LVS, des NIC avec Gigabit Ethernet peuvent être employés pour augmenter la largeur de bande que le routeur LVS peut traiter. Si un Gigabit Ethernet est utilisé sur les routeurs LVS, tout commutateur connectant les serveurs réels aux serveurs LVS doit avoir au moins deux ports Gigabit Ethernet pour être en mesure de traiter la charge de façon efficace.

Logiciel

Parce que la topologie utilisant NAT a besoin d'utiliser iptables pour certaines configurations, une configuration logicielle assez importante en dehors de l'Outil de configuration de Piranha sera peut-être nécessaire. Les services FTP et l'utilisation de balises pare-feu en particulier, nécessitent une configuration manuelle supplémentaire des routeurs LVS, afin que les requêtes puissent être acheminées correctement.

11.1.1. Configuration des interfaces réseau pour un cluster LVS avec NAT

Pour installer un cluster LVS avec NAT, l'administrateur doit tout d'abord configurer les interfaces pour le réseau public et le réseau privé sur les routeurs LVS. Dans cet exemple, les interfaces publiques des routeurs LVS (eth0) seront sur le réseau 192.168.26/24 (l'IP n'est certes pas routable, mais pour les besoins de cet exemple, supposons qu'il existe un pare-feu devant le routeur LVS) et les interfaces privées qui relient aux serveurs réels (eth1) seront elles sur le réseau 10.11.12/24.

Sur le noeud actif ou primaire du routeur LVS, le script réseau de l'interface publique, /etc/sysconfig/network-scripts/ifcfg-eth0, pourrait ressembler à l'extrait suivant :

DEVICE=eth0
BOOTPROTO=static
ONBOOT=yes
IPADDR=192.168.26.9
NETMASK=255.255.255.0
GATEWAY=192.168.26.254

Le fichier /etc/sysconfig/network-scripts/ifcfg-eth1 de l'interface NAT privée sur le routeur LVS pourrait ressembler à l'extrait suivant :

DEVICE=eth1
BOOTPROTO=static
ONBOOT=yes
IPADDR=10.11.12.9
NETMASK=255.255.255.0

Dans cet exemple, l'adresse IP virtuelle (ou VIP) pour l'interface publique du routeur LVS sera 192.168.26.10 et la VIP pour l'interface NAT ou privée sera 10.11.12.10. Ainsi, il est essentiel que les serveurs réels routent en retour des requêtes vers la VIP pour l'interface NAT.

ImportantImportant
 

Les exemples de paramétrage de configuration des interfaces Ethernet contenus dans cette section sont pour les adresses IP réelles d'un routeur LVS et non pas pour les adresses IP flottantes. Pour configurer les adresses IP flottantes privées et publiques, l'administrateur devrait utiliser l'Outil de configuration de Piranha, comme nous l'avons montré dans la Section 12.4 et dans la Section 12.6.1.

Après la configuration des interfaces réseau du noeud du routeur LVS primaire, configurez les interfaces du réseau réel correspondant au routeur LVS de secours — en vous assurant bien qu'aucune adresse IP n'est en contradiction avec toute autre adresse IP sur le réseau.

ImportantImportant
 

Assurez-vous que chaque interface sur le noeud de secours établit bien le service sur le même réseau que l'interface sur le noeud primaire. Par exemple, si eth0 établit la connexion avec le réseau public sur le noeud primaire, elle doit aussi établir la connexion avec le réseau public sur le noeud de secours.

11.1.2. Routage sur les serveurs réels

Lors de la configuration des interfaces réseau des serveurs réels, il est important de configurer la passerelle pour l'adresse IP flottante NAT du routeur LVS. Dans cet exemple, l'adresse sera 10.11.12.10.

NoteRemarque
 

Une fois les interfaces réseau mises en service sur les serveurs réels, les machines ne seront plus en mesure d'émettre des pings ou de se connecter de toute autre manière au réseau public. Ceci est tout à fait normal. Vous pourrez néanmoins encore émettre des pings vers l'IP réelle correspondant à l'interface privée du routeur LVS à savoir 10.11.12.8 dans le cas présent.

Le fichier du serveur réel, /etc/sysconfig/network-scripts/ifcfg-eth0, pourrait donc ressembler à l'extrait suivant :

DEVICE=eth0
ONBOOT=yes
BOOTPROTO=static
IPADDR=10.11.12.1
NETMASK=255.255.255.0
GATEWAY=10.11.12.10

AvertissementAttention
 

Si un serveur réel a plus d'une interface réseau configurée avec la ligne GATEWAY=, la première d'entre elles qui sera mise en service obtiendra la passerelle. Par conséquent, si eth0 et eth1 sont toutes les deux configurées et que eth1 est utilisée pour le clustering LVS, il est possible que les serveurs réels ne routent pas les requêtes correctement.

Il est donc préférable de déconnecter des interfaces réseau superflues en utilisant le paramètre ONBOOT=no dans leurs scripts réseau à l'intérieur du répertoire /etc/sysconfig/network-scripts/ ou en vous assurant que la passerelle est bien réglée correctement dans la première interface mise en service.

11.1.3. Activation du routage NAT sur les routeurs LVS

Dans un simple cluster LVS avec NAT au sein duquel chaque service clusterisé n'utilise qu'un seul port, comme HTTP sur le port 80, il suffit à l'administrateur d'activer la transmission de paquets sur les routeurs LVS pour que les requêtes soient correctement acheminées entre le monde extérieur et les serveurs réels. Pour obtenir des instructions sur l'activation de la transmission de paquets, consultez la Section 10.5. Ceci étant, une configuration plus importante est nécessaire lorsque les services mis en grappe ont besoin de plus d'un port pour aller au même serveur réel pendant la session d'un utilisateur. Pour des informations sur la création de services multi-ports utilisant des balises pare-feu (firewall marks), consultez la Section 11.3.

Une fois que la transmission est activée sur les routeurs LVS, que les serveurs réels sont installés et que les services clusterisés tournent, utilisez l'Outil de configuration de Piranha pour configurer le cluster, comme il l'est montré dans le Chapitre 12.

AvertissementAttention
 

Ne configurez pas l'IP flottante pour eth0:1 ou eth1:1 en éditant les scripts réseau manuellement ou en utilisant un outil de configuration réseau. Pour configurer toute interface virtuelle en relation avec le cluster, utilisez plutôt l'Outil de configuration de Piranha, comme le montrent la Section 12.4 et la Section 12.6.1.

Une fois cette opération effectuée, démarrez le service pulse selon les explications fournies dans la Section 12.8. Lorsque le service pulse tourne, le routeur LVS actif commence à router des requêtes vers le parc de serveurs réels.