Gardé est utilisé pour le basculement IP entre deux serveurs. Ses facilités d'équilibrage de charge et de haute disponibilité pour les infrastructures basées sur Linux. Il fonctionnait sur le protocole VRRP (Virtual Router Redundancy Protocol). Dans ce didacticiel, nous avons configuré le basculement IP entre deux systèmes Linux exécutés en tant qu'équilibreur de charge pour l'équilibrage de charge et les infrastructures à haute disponibilité.
Vous pouvez également être intéressé par notre tutoriel Comment configurer HAProxy sur Ubuntu et Linuxmint .
Scénario réseau :
1. LB1 Server: 192.168.10.111 (eth0) 2. LB2 Server: 192.168.10.112 (eth0) 3. Virtual IP: 192.168.10.121
J'espère que vous aurez une meilleure compréhension de la configuration avec la structure ci-dessus. Passons à la configuration du basculement IP entre les serveurs LB1 et LB2.
Étape 1 - Installer les packages requis
Tout d'abord, utilisez la commande suivante pour installer les packages requis pour configurer Keepalived sur le serveur.
sudo apt-get update sudo apt-get install linux-headers-$(uname -r)
Étape 2 - Installer Keepalived
Les packages Keepalived sont disponibles dans les référentiels apt par défaut. Il suffit donc d'utiliser une commande pour l'installer sur les deux serveurs.
sudo apt-get install keepalived
Étape 3 – Configurer Keepalived sur LB1.
Créez ou modifiez maintenant le fichier de configuration Keepalived /etc/keepalived/keepalived.conf sur LB1 et ajoutez les paramètres suivants. Mettez à jour toutes les valeurs surlignées en rouge avec la configuration de votre réseau et de votre système.
vim /etc/keepalived/keepalived.conf
! Configuration File for keepalived global_defs { notification_email {[email protected] [email protected] } notification_email_from[email protected] smtp_server localhost smtp_connect_timeout 30 } vrrp_instance VI_1 { state MASTER interfaceeth0 virtual_router_id 101 priority 101 advert_int 1 authentication { auth_type PASS auth_pass 1111 } virtual_ipaddress {192.168.10.121 } }
Étape 4 – Configurer KeepAlived sur LB2.
Créez ou modifiez également le fichier de configuration Keepalived /etc/keepalived/keepalived.conf sur LB2 et ajoutez la configuration suivante. Lorsque vous apportez des modifications au fichier de configuration LB2, veillez à définir des valeurs de priorité inférieures à LB1. Par exemple, la configuration ci-dessous affiche la valeur de priorité 100 alors que LB1 en a 101.
vim /etc/keepalived/keepalived.conf
! Configuration File for keepalived global_defs { notification_email {1. Priorité la valeur sera plus élevée sur le serveur maître, peu importe ce que vous avez utilisé dans l'état. Si votre état est MASTER mais que votre priorité est inférieure au routeur avec BACKUP, vous perdrez l'état MASTER.[email protected] [email protected] } notification_email_from[email protected] smtp_server localhost smtp_connect_timeout 30 } vrrp_instance VI_1 { state MASTER interfaceeth0 virtual_router_id 101 priority 100 advert_int 1 authentication { auth_type PASS auth_pass 1111 } virtual_ipaddress {192.168.10.121 } }
2. virtual_router_id doit être identique sur les serveurs LB1 et LB2.
3. Par défaut, vrrp_instance unique prend en charge jusqu'à 20 adresses_ip_virtuelles . Afin d'ajouter plus d'adresses, vous devez ajouter plus de vrrp_instance
Étape 5 - Démarrer le service KeepAlived
Démarrez le service keepalived à l'aide de la commande suivante et configurez également le démarrage automatique au démarrage du système.
sudo service keepalived start
Étape 6 – Vérifier les adresses IP virtuelles
Par défaut, l'adresse IP virtuelle sera attribuée au serveur maître. En cas de panne du maître, elle sera automatiquement attribuée au serveur esclave. Utilisez la commande suivante pour afficher l'adresse IP virtuelle attribuée sur l'interface.
ip addr show eth0
Exemple de sortie
2: eth0:mtu 1500 qdisc pfifo_fast state UP group default qlen 1000 link/ether 08:00:27:b9:b0:de brd ff:ff:ff:ff:ff:ff inet 192.168.10.111/24 brd 192.168.1.255 scope global eth0 valid_lft forever preferred_lft forever inet 192.168.10.121/32 scope global eth0 valid_lft forever preferred_lft forever inet6 fe80::11ab:eb3b:dbce:a119/64 scope link valid_lft forever preferred_lft forever
Étape 7 – Vérifier la configuration du basculement IP - Arrêtez le serveur maître (LB1) et vérifiez si les adresses IP sont automatiquement attribuées au serveur esclave.
ip addr show eth0
- Démarrez maintenant LB1 et arrêtez le serveur esclave (LB2). Les adresses IP seront automatiquement attribuées au serveur maître.
ip addr show eth0
- Regardez les fichiers journaux pour vous assurer de son fonctionnement
tailf /var/log/syslog
Exemple de sortie
Feb 7 17:24:51 tecadmin Keepalived_healthcheckers[23177]: Registering Kernel netlink reflector Feb 7 17:24:51 tecadmin Keepalived_healthcheckers[23177]: Registering Kernel netlink command channel Feb 7 17:24:51 tecadmin Keepalived_healthcheckers[23177]: Opening file '/etc/keepalived/keepalived.conf'. Feb 7 17:24:51 tecadmin Keepalived_healthcheckers[23177]: Configuration is using : 11104 Bytes Feb 7 17:24:51 tecadmin Keepalived_healthcheckers[23177]: Using LinkWatch kernel netlink reflector... Feb 7 17:24:52 tecadmin Keepalived_vrrp[23178]: VRRP_Instance(VI_1) Transition to MASTER STATE Feb 7 17:24:53 tecadmin Keepalived_vrrp[23178]: VRRP_Instance(VI_1) Entering MASTER STATE Feb 7 17:24:53 tecadmin avahi-daemon[562]: Registering new address record for 192.168.10.121 on eth0.IPv4.