GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Comment configurer le basculement IP avec KeepAlived sur Ubuntu et Debian

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
    interface eth0
    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 {
     [email protected]
     [email protected]
   }
   notification_email_from [email protected]
   smtp_server localhost
   smtp_connect_timeout 30
}

vrrp_instance VI_1 {
    state MASTER
    interface eth0
    virtual_router_id 101
    priority 100
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        192.168.10.121
    }
}
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.
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

  1. 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
  1. 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
  1. 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.

Ubuntu
  1. Comment configurer HAProxy dans Ubuntu 16.04

  2. Comment installer Mattermost avec MySQL sur Ubuntu 14.04 et Debian 8

  3. Comment configurer un pare-feu avec UFW dans Ubuntu \ Debian

  4. Debian – Comment exécuter des programmes 32 bits sur une Debian/ubuntu 64 bits ?

  5. Comment configurer un serveur de messagerie avec Mail-in-a-Box sur Ubuntu

Comment configurer GlassFish 4.1 avec JAVA 8 dans Ubuntu 15.04

Comment configurer Icinga Web 2 sur Ubuntu 18.04 / Ubuntu 16.04 / Debian 9

Comment configurer le serveur NFS sur Debian 9 / Ubuntu 16.04 / LinuxMint 18

Comment configurer WordPress sur Ubuntu Server avec Apache

Comment configurer ModSecurity avec Nginx sur Debian/Ubuntu

Comment installer et configurer Apache Spark sur Ubuntu/Debian