eviden-logo

Evidian > Produits > SafeKit : Logiciel de haute disponibilité simple et économique > Comment fonctionne une adresse IP virtuelle (Windows/Linux) ?

Comment fonctionne une adresse IP virtuelle (Windows/Linux) ?

Evidian SafeKit

Comment fonctionne une adresse IP virtuelle primaire/secondaire dans le même sous-réseau ?

Cas du cluster miroir avec 2 serveurs Windows ou Linux

Adresse IP virtuelle primaire/secondaire dans le même sous-réseau

Lorsque les deux serveurs d'un cluster miroir sont dans le même sous-réseau, l'adresse IP virtuelle est définie sur la carte Ethernet du serveur primaire (via l'aliasing IP). L'adresse IP virtuelle est une troisième adresse IP venant s'ajouter aux deux adresses IP physiques du serveur 1 et du serveur 2. Notez qu'avec SafeKit, plusieurs adresses IP virtuelles peuvent être définies dans le cluster sur la même carte Ethernet ou sur différentes cartes Ethernet.

Si le serveur 1 est le serveur primaire, l'adresse IP virtuelle est associée à l'adresse MAC Ethernet du serveur 1 dans les caches ARP des clients : mac1 dans la figure. En cas de panne du serveur 1 et de basculement sur le serveur 2, SafeKit envoie automatiquement un ARP gratuitous pour rediriger les caches ARP des clients avec l'adresse Ethernet mac2 du serveur 2. Ainsi, les clients sont reconnectés au serveur 2 exécutant l'application qui a été redémarrée sur ce serveur par les mécanismes de clustering SafeKit.

Lorsque deux serveurs se trouvent sur des sites distants, les algorithmes d'adresse IP virtuelle précédents fonctionnent s'ils sont connectés dans le même sous-réseau via un LAN/VLAN étendu. C'est le cas d'utilisation le plus simple pour des sites distants.

Comment fonctionne une adresse IP virtuelle primaire/secondaire dans différents sous-réseaux ?

Cas du cluster miroir avec 2 serveurs Windows ou Linux

Adresse IP virtuelle primaire/secondaire dans différents sous-réseaux

Si les serveurs se trouvent dans différents sous-réseaux, l'adresse IP virtuelle peut être définie au niveau d'un équilibreur de charge. L'équilibreur de charge est configuré avec les deux adresses IP physiques des deux serveurs dans leurs sous-réseaux respectifs. Et l'équilibreur de charge achemine le trafic en fonction d'un vérificateur d’état (health check) vers les serveurs.

Le vérificateur d’état est basée sur une URL gérée par les serveurs SafeKit et répondant OK ou NOT FOUND selon l'état d'un serveur. Si le serveur est SECOND, le vérificateur d’état SafeKit renvoie NOT FOUND. Ainsi, aucun trafic n'est envoyé par l'équilibreur de charge au serveur secondaire. Et si le serveur est PRIM, le vérificateur d’état SafeKit renvoie OK. Ainsi, tout le trafic est envoyé par l'équilibreur de charge au serveur primaire. En cas de basculement, SafeKit modifie ses réponses au vérificateur d’état. Ainsi, le trafic de l'équilibreur de charge est redirigé.

Cette technique est celle utilisée dans les solutions SafeKit de type miroir dans le Cloud : Amazon AWS, Microsoft Azure et Google GCP.

Veuillez noter que SafeKit ne fournit pas de load balancer ; il propose uniquement des vérifications d’état. Le load balancer doit être fourni par l’infrastructure réseau entre les deux sous-réseaux.

Si nécessaire, il pourra être discuté avec l’équipe réseau de la possibilité de configurer un LAN étendu entre les deux sous-réseaux plutôt que de mettre en place un load balancer. De plus, lorsqu’un load balancer est utilisé, il est essentiel de s’assurer que l’application prend en charge les connexions des clients via l’adresse IP virtuelle du load balancer et qu’elle gère correctement les connexions arrivant via l’adresse IP physique traduite par le load balancer.

Ce problème ne se pose pas avec un LAN étendu, qui offre également une bande passante suffisante et une latence appropriée pour une réplication synchrone en temps réel sans perte de données.

Comment fonctionne une adresse IP virtuelle en load balancing dans le même sous-réseau ?

Cas du cluster ferme avec 2 serveurs Windows ou Linux

Adresse IP virtuelle avec équilibrage de charge dans le même sous-réseau

Dans un cluster ferme avec équilibrage de charge, une adresse IP virtuelle est requise pour équilibrer la charge des requêtes clientes et pour rediriger les clients en cas de basculement sur panne. Dans cet exemple, nous considérons seulement deux serveurs mais la solution fonctionne avec plus de deux serveurs.

Lorsque les deux serveurs du cluster sont dans le même sous-réseau, l'adresse IP virtuelle est définie sur la carte Ethernet des deux serveurs (alias IP).

Dans le cache ARP des clients, l'adresse IP virtuelle est associée à l'adresse MAC Ethernet d'un serveur: mac1 du serveur 1 sur la figure. Un filtre à l'intérieur du noyau du serveur 1 reçoit le trafic et le répartit selon l'identité des paquets client (adresse IP client, port TCP client).

En cas de panne du serveur 1, SafeKit envoie un ARP gratuitous pour rediriger les caches ARP des clients avec l'adresse Ethernet mac2 du serveur 2. Ainsi, les clients sont reconnectés au serveur 2.

Lorsque deux serveurs se trouvent sur des sites distants, les algorithmes d'adresse IP virtuelle précédents fonctionnent s'ils sont connectés dans le même sous-réseau via un LAN/VLAN étendu. C'est le cas d'utilisation le plus simple pour des sites distants.

Comment fonctionne une adresse IP virtuelle en load balancing dans différents sous-réseaux

Cas du cluster ferme avec 2 serveurs Windows ou Linux

Adresse IP virtuelle avec équilibrage de charge dans différents sous-réseaux

Si les serveurs se trouvent dans différents sous-réseaux, l'adresse IP virtuelle peut être définie au niveau d'un équilibreur de charge. L'équilibreur de charge est configuré avec les deux adresses IP physiques des deux serveurs dans leurs sous-réseaux respectifs. Et l'équilibreur de charge achemine le trafic en fonction des règles d'équilibrage de la charge (adresse IP du client, port TCP du client) et en fonction d'un vérificateur d'état des serveurs.

Le vérificateur d'état est basée sur une URL gérée par les serveurs SafeKit et répondant OK ou NOT FOUND selon l'état d'un serveur. Si le serveur est UP, le vérificateur d'état SafeKit renvoie OK, sinon NOT FOUND. En cas de basculement, SafeKit ne répond plus OK au vérificateur d'état sur le serveur défaillant. Ainsi, le trafic de l'équilibreur de charge est redirigé.

Cette technique est celle utilisée dans les solutions SafeKit de type ferme dans le Cloud : Amazon AWS, Microsoft Azure et Google GCP.

Notez qu'il existe une autre solution en redirigeant au niveau DNS. Mais cette solution ne fonctionne pas dans la plupart des cas. En effet, la condition préalable est que les clients effectuent une résolution DNS après un basculement pour être redirigés vers le nouveau serveur. La plupart du temps, ils ne le font pas et continuent leur exécution avec l'adresse IP résolue à leur démarrage.

🔍 Hub de navigation SafeKit Haute Disponibilité

Explorez SafeKit : fonctionnalités, vidéos techniques, documentation et essai gratuit
Type de ressource Description Lien direct
Fonctionnalités Pourquoi choisir SafeKit pour une haute disponibilité simple et économique ? Voir les fonctionnalités
Partenaires SafeKit : la référence en haute disponibilité pour les partenaires SafeKit pour les partenaires
VM vs App HA SafeKit : choix de haute disponibilité (HA) et de redondance Choix VM/App
Usage type Utilisation typique de SafeKit et limitations Usage et limitations
Vidéos SafeKit : démonstrations techniques et tutoriels Voir les vidéos
Cluster Mirror Comment fonctionne le cluster miroir SafeKit (réplication de fichiers en temps réel et basculement) ? Cluster Mirror
Cluster Farm Comment fonctionne le cluster farm SafeKit (répartition de charge réseau et basculement) ? Cluster Farm
Différenciateurs Comparaison de SafeKit avec les clusters de haute disponibilité (HA) traditionnels Voir les avantages
Ressources Ressources SafeKit HA, téléchargements et documentation Accéder aux ressources
Modules applicatifs Bibliothèque de modules applicatifs SafeKit : solutions prêtes à l'emploi Parcourir les modules