Serveur d'impression

Comment configurer un cluster Apache haute disponibilité équilibré en charge – Bien choisir son serveur d impression

Le 26 mai 2020 - 6 minutes de lecture

C'est un "copier coller" Comment! La façon la plus simple de suivre ce didacticiel est d'utiliser un client de ligne de commande / client SSH (comme PuTTY pour Windows) et de simplement copier et coller les commandes (sauf si vous devez fournir vos propres informations comme les adresses IP, les noms d'hôte, les mots de passe, … ). Cela permet d'éviter les fautes de frappe.

Comment configurer un cluster Apache haute disponibilité équilibré en charge

Version 1.0
Auteur: Falko Timme

Ce didacticiel montre comment configurer un cluster de serveurs Web Apache à deux nœuds qui offre une haute disponibilité. Devant le cluster Apache, nous créons un équilibreur de charge qui répartit les demandes entrantes entre les deux nœuds Apache. Parce que nous ne voulons pas que l'équilibreur de charge devienne un autre "point de défaillance unique", nous devons également fournir une haute disponibilité pour l'équilibreur de charge. Par conséquent, notre équilibreur de charge sera en fait composé de deux nœuds d'équilibreur de charge
qui se surveillent mutuellement en utilisant battement de coeuret si un équilibreur de charge échoue, l'autre prend le relais en silence.

L'avantage d'utiliser un équilibreur de charge par rapport à l'utilisation
 round robin DNS est qu'il prend en charge la charge sur les nœuds du serveur Web et essaie de diriger les demandes vers le nœud avec moins de charge, et il prend également en charge les connexions / sessions. De nombreuses applications Web (par exemple, logiciel de forum, paniers d'achat, etc.) utilisent des sessions, et si vous êtes dans une session sur le nœud Apache 1, vous perdriez cette session si le nœud 2 répondait soudainement à vos demandes. En plus de cela, si l'un des nœuds Apache tombe en panne, l'équilibreur de charge s'en rend compte et dirige toutes les demandes entrantes vers le nœud restant, ce qui ne serait pas possible avec le DNS à tour de rôle.

Pour cette configuration, nous avons besoin de quatre nœuds (deux nœuds Apache et deux nœuds d'équilibrage de charge) et cinq Adresses IP: une pour chaque nœud et une adresse IP virtuelle qui sera partagée par les nœuds d'équilibrage de charge et utilisée pour les requêtes HTTP entrantes.

J'utiliserai la configuration suivante ici:

  • Noeud Apache 1: webserver1.example.com (webserver1) – Adresse IP: 192.168.0.101; Racine du document Apache: / var / www
  • Noeud Apache 2: webserver2.example.com (webserver2) – Adresse IP: 192.168.0.102; Racine du document Apache: / var / www
  • Noeud d'équilibrage de charge 1: loadb1.example.com (loadb1) – Adresse IP: 192.168.0.103
  • Noeud d'équilibrage de charge 2: loadb2.example.com (loadb2) – Adresse IP: 192.168.0.104
  • Adresse IP virtuelle: 192.168.0.105 (utilisé pour les demandes entrantes)

Jetez un œil au dessin sur http://www.linuxvirtualserver.org/docs/ha/ultramonkey.html pour comprendre à quoi ressemble cette configuration.

Dans ce tutoriel, je vais utiliser Debian Sarge pour les quatre nœuds. Je suppose que vous avez installé une installation Debian de base sur les quatre nœuds et que vous avez installé Apache sur webserver1 et webserver2, avec / var / www étant la racine du document du site Web principal.

Je veux d'abord dire que ce n'est pas la seule façon de mettre en place un tel système. Il existe de nombreuses façons d'atteindre cet objectif, mais c'est la voie que je prends. Je ne donne aucune garantie que cela fonctionnera pour vous!

1 Activer
IPVS sur les équilibreurs de charge

Nous devons d'abord activer IPVS sur nos équilibreurs de charge.
IPVS (IP Virtual Server) implémente l'équilibrage de charge de la couche transport à l'intérieur du noyau Linux, appelé commutation Layer-4.

loadb1 / loadb2:

echo ip_vs_dh >> / etc / modules
echo ip_vs_ftp >> / etc / modules
echo ip_vs >> / etc / modules
echo ip_vs_lblc >> / etc / modules
echo ip_vs_lblcr >> / etc / modules
echo ip_vs_lc >> / etc / modules
echo ip_vs_nq >> / etc / modules
echo ip_vs_rr >> / etc / modules
echo ip_vs_sed >> / etc / modules
echo ip_vs_sh >> / etc / modules
echo ip_vs_wlc >> / etc / modules
echo ip_vs_wrr >> / etc / modules

Ensuite, nous faisons ceci:

loadb1 / loadb2:

modprobe ip_vs_dh
modprobe ip_vs_ftp
modprobe ip_vs
modprobe ip_vs_lblc
modprobe ip_vs_lblcr
modprobe ip_vs_lc
modprobe ip_vs_nq
modprobe ip_vs_rr
modprobe ip_vs_sed
modprobe ip_vs_sh
modprobe ip_vs_wlc
modprobe ip_vs_wrr

Si vous obtenez des erreurs, alors votre noyau n'a probablement pas été compilé avec le support IPVS, et vous devez compiler un nouveau noyau avec le support IPVS (ou installer une image du noyau avec le support IPVS) maintenant.

2 Installez Ultra Monkey sur les équilibreurs de charge

Ultra Monkey est un projet visant à créer des services à charge équilibrée et hautement disponibles sur un réseau local à l'aide de composants Open Source sur le système d'exploitation Linux; le package Ultra Monkey fournit battement de coeur (utilisé par les deux équilibreurs de charge pour se surveiller mutuellement et vérifier si l'autre nœud est toujours en vie) et ldirectord, l'équilibreur de charge réel.

Pour installer Ultra Monkey, nous devons modifier /etc/apt/sources.list maintenant et ajoutez ces deux lignes
(ne supprimez pas les autres référentiels):

loadb1 / loadb2:

vi /etc/apt/sources.list
deb http://www.ultramonkey.org/download/3/ sarge main
deb-src http://www.ultramonkey.org/download/3 sarge main

Ensuite, nous faisons ceci:

loadb1 / loadb2:

mise à jour apt-get

et installez Ultra Monkey:Annonces

loadb1 / loadb2:

apt-get install ultramonkey  

Si vous voyez cet avertissement:

        ¦ libsensors3 non fonctionnel ¦
¦ ¦
¦ Il semble que votre noyau ne soit pas compilé avec le support des capteurs. En tant que ¦
¦ résultat, libsensors3 ne sera pas fonctionnel sur votre système. ¦
¦ ¦
¦ Si vous voulez l'activer, jetez un oeil à "Puce de capteurs matériels I2C ¦
¦ support "dans la configuration de votre noyau. ¦

vous pouvez l'ignorer.

Lors de l'installation d'Ultra Monkey, une question vous sera posée. Répondez comme suit:

Voulez-vous charger automatiquement les règles IPVS au démarrage?
<- Non

Sélectionnez une méthode démon.
<- aucun

Commentaires

Laisser un commentaire

Votre commentaire sera révisé par les administrateurs si besoin.