GNU/Linux >> Tutoriels Linux >  >> Linux

Configurer un cluster Linux avec Keepalived :Configuration de base

Dans le premier article de cette série, Utiliser Keepalived pour gérer le basculement simple dans les clusters, vous avez découvert Keepalived. et le VRRP protocole de basculement d'une adresse IP d'une machine à une autre. Il est maintenant temps de vous salir les mains et d'en savoir plus sur l'installation et la configuration de base de Keepalived . Dans cet article, vous allez configurer Keepalived pour activer le basculement entre deux serveurs. Commençons !

Installation continue

Keepalived est disponible dans les référentiels de packages standard et s'installe facilement à l'aide de yum :

[root@server1 ~]# yum install -y keepalived

[root@server1 ~]# keepalived --version
Keepalived v2.0.10 (11/12,2018)

[root@server1 ~]# systemctl status keepalived
keepalived.service - LVS and VRRP High Availability Monitor
Loaded: loaded (/usr/lib/systemd/system/keepalived.service; disabled; vendor preset: disab
Active: inactive (dead)

Vous devez également savoir comment compiler Keepalived à partir du code source. Keepalived est un projet activement maintenu, et il reçoit régulièrement de nouvelles fonctionnalités et des corrections de bogues qui peuvent ne pas être dans la version du gestionnaire de packages lorsque vous en avez besoin. J'ai même rencontré des bogues avec la version actuelle dans les référentiels de packages lors de l'écriture de cette série, et j'ai dû suivre cette procédure exacte pour utiliser la dernière version de Keepalived .

# Install prerequisites
yum install -y gcc openssl-devel

# Download the latest version of the code. Be sure to check the downloads page for the most recent version:https://www.keepalived.org/download.html
[root@localhost ~]# wget https://www.keepalived.org/software/keepalived-2.0.20.tar.gz

# Extract the code
[root@localhost ~]# tar -xf keepalived-2.0.20.tar.gz

# Run the configure scripts
[root@localhost ~]# cd keepalived-2.0.20
[root@localhost keepalived-2.0.20]# ./configure

# Build and install keepalived
[root@localhost keepalived-2.0.20]# make
[root@localhost keepalived-2.0.20]# make install

# Test your installation
[root@localhost keepalived-2.0.20]# keepalived --version
Keepalived v2.0.20 (01/22,2020)

Configuration de base

Symboles de réseau dans les diagrammes disponibles via VRT Network Equipment Extension, CC BY-SA 3.0.

Le fichier de configuration pour Keepalived se trouve dans /etc/keepalived/keepalived.conf . Comme indiqué dans l'article précédent, Keepalived fait plus que simplement implémenter VRRP de base . Cela conduit à un fichier de configuration qui peut sembler intimidant si vous regardez la page de manuel Keepalived. Cependant, une topologie simple comme celle ci-dessus peut être obtenue avec une configuration minimale.

Le plus basique Keepalived La configuration active une adresse IP partagée entre deux serveurs. Dans la topologie ci-dessus, le serveur1 est le maître et le serveur2 est la sauvegarde. La configuration des deux serveurs est simple.

Configuration du serveur 1 :

server1# cat /etc/keepalived/keepalived.conf
vrrp_instance VI_1 {
        state MASTER
        interface eth0
        virtual_router_id 51
        priority 255
        advert_int 1
        authentication {
              auth_type PASS
              auth_pass 12345
        }
        virtual_ipaddress {
              192.168.122.200/24
        }
}

Configuration du serveur 2 :

server2# cat /etc/keepalived/keepalived.conf
vrrp_instance VI_1 {

        state BACKUP
        interface eth0
        virtual_router_id 51
        priority 254
        advert_int 1
        authentication {
              auth_type PASS
              auth_pass 12345
        }
        virtual_ipaddress {
              192.168.122.200/24
        }
}

Les directives de configuration devraient être évidentes à partir de leurs conventions de nommage, mais je vais les parcourir :

  • vrrp_instance définit une instance individuelle du VRRP protocole s'exécutant sur une interface. J'ai arbitrairement nommé cette instance VI_1.
  • state définit l'état initial dans lequel l'instance doit démarrer.
  • interface définit l'interface que VRRP fonctionne.
  • virtual_router_id est l'identifiant unique dont vous avez entendu parler dans le premier article de cette série.
  • priority est la priorité annoncée dont vous avez entendu parler dans le premier article de cette série. Comme vous le découvrirez dans le prochain article, les priorités peuvent être ajustées lors de l'exécution.
  • advert_int spécifie la fréquence à laquelle les publicités sont envoyées (1 seconde, dans ce cas).
  • authentication précise les informations nécessaires aux serveurs participant au VRRP pour s'authentifier les uns avec les autres. Dans ce cas, un simple mot de passe est défini.
  • virtual_ipaddress définit les adresses IP (il peut y en avoir plusieurs) que VRRP est responsable.

Si vous utilisez un pare-feu basé sur l'hôte, tel que firewalld ou iptables , vous devez ajouter les règles nécessaires pour autoriser le trafic IP 112. Sinon, Keepalived La méthode de publicité de ne fonctionnera pas. La configuration d'un pare-feu basé sur l'hôte n'entre pas dans le cadre de cet article, mais assurez-vous de consulter certains des autres articles d'Enable Sysadmin sur iptables et firewalld pour plus d'informations.

Avec la configuration ci-dessus en place, vous pouvez démarrer Keepalived sur les deux serveurs en utilisant systemctl start keepalived et observez les adresses IP sur chaque machine. Notez que le serveur1 a démarré en tant que VRRP master et possède l'adresse IP partagée (192.168.122.200), tandis que les adresses IP du serveur2 restent inchangées :

server1# ip -brief address show
lo UNKNOWN 127.0.0.1/8 ::1/128
eth0 UP 192.168.122.101/24 192.168.122.200/24 fe80::5054:ff:fe82:d66e/64
server2# ip -br a
lo UNKNOWN 127.0.0.1/8 ::1/128
eth0 UP 192.168.122.102/24 fe80::5054:ff:fe04:2c5d/64

Une fois que vous avez confirmé que Keepalived a démarré sur les deux serveurs et que le serveur 1 est le maître actif, vous pouvez tester la fonctionnalité de basculement en « basculant » le VIP sur l'autre serveur. En arrêtant Keepalived sur le serveur1, le maître actif arrête d'envoyer des publicités et le serveur2 prend le contrôle du VIP :

server1# systemctl stop keepalived

server1# ip -brief address show
lo UNKNOWN 127.0.0.1/8 ::1/128
eth0 UP 192.168.122.101/24 fe80::5054:ff:fe82:d66e/64
server2# ip -brief address show
lo UNKNOWN 127.0.0.1/8 ::1/128
eth0 UP 192.168.122.102/24 192.168.122.200/24 fe80::5054:ff:fe04:2c5d/64

Et c'est tout! Vous disposez maintenant d'une paire de serveurs redondants de base.

Surveillance du trafic VRRP

Comme indiqué dans le premier article de la série, comprendre le comportement au niveau du protocole de VRRP est important pour que vous puissiez le configurer et le dépanner correctement. Si vous avez lu les articles précédents d'Enable Sysadmin sur l'analyse du trafic réseau, vous êtes probablement à l'aise avec tcpdump . Captures de paquets de ligne de commande à l'aide de tcpdump peut révéler tout ce que vous devez savoir sur votre VRRP configuration, y compris le VRID et la priorité du maître actif :

server1# tcpdump proto 112
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode

listening on eth0, link-type EN10MB (Ethernet), capture size 262144 bytes

16:51:01.353224 IP 192.168.122.102 > 224.0.0.18: VRRPv2, Advertisement, vrid 51, prio 254, authtype simple, intvl 1s, length 20

16:51:02.353673 IP 192.168.122.102 > 224.0.0.18: VRRPv2, Advertisement, vrid 51, prio 254, authtype simple, intvl 1s, length 20

16:51:03.353753 IP 192.168.122.102 > 224.0.0.18: VRRPv2, Advertisement, vrid 51, prio 254, authtype simple, intvl 1s, length 20

^C

3 packets captured
3 packets received by filter
0 packets dropped by kernel

Essayez-le par vous-même en exécutant tcpdump tout en retournant le VIP entre les deux serveurs.

Conclusion

Cet article vous a présenté les principes de base de Keepalived mise en place et configuration. Vous avez appris à installer Keepalived via le gestionnaire de paquets et en le compilant à partir des sources, et vous avez construit un Keepalived de base configuration pour activer le basculement VIP entre deux hôtes. Enfin, vous avez testé cette configuration et utilisé tcpdump pour respecter VRRP Circulation. Dans le prochain article de cette série, je vous expliquerai quelques étapes avancées de Keepalived configurations.

[ Besoin d'en savoir plus sur l'administration système Linux ? Envisagez de suivre un cours d'administration système Red Hat. ]


Linux
  1. Configuration de base de PHP 7 et Nginx sur Ubuntu 16.04 Linux

  2. Dépannage Linux :configuration d'un écouteur TCP avec ncat

  3. Configuration des redirections de port sous Linux avec ncat

  4. Commande JQ sous Linux avec exemples

  5. Service d'exploitation Linux "o2cb"

15 Commande Linux ps avec exemples

14 commandes Tar de base sous Linux avec des exemples pour les débutants

Équilibrage de charge avec HAProxy, Nginx et Keepalived sous Linux

Introduction aux fichiers de configuration Puppet avec des exemples sous Linux

Configurer un serveur NFS avec Linux clé en main

Réglage du fuseau horaire sous Linux