Architecture HA 3-tiers : clustering avec load balancing et mirroring
Evidian SafeKit
Load balancing, mirroring et basculement sur panne
Exemple avec le logiciel de clustering SafeKit
Par exemple, avec le logiciel de clustering SafeKit, vous pouvez implémenter le load balancing IIS et le mirroring de Microsoft SQL Server.
Pour cela, vous devez déployer un module ferme pour IIS et un module miroir pour Microsoft SQL Server. Chaque module ferme et miroir est configuré avec sa propre adresse IP virtuelle et ses propres scripts de redémarrage.
Les modules miroir et ferme peuvent être déployés sur un seul cluster de deux serveurs. IIS et Microsoft SQL Server fonctionneront sur ces deux serveurs. Ou, les deux modules peuvent être déployés sur deux clusters avec des serveurs différents.
Avec le logiciel de clustering SafeKit, il n'y a aucune différence entre un déploiement sur les mêmes serveurs ou sur des serveurs différents.
Solution de haute disponibilité et de scalabilité
Le logiciel de clustering SafeKit fournit une solution simple de haute disponibilité et de scalabilité pour les applications Web et les bases de données critiques.
Ainsi, le load balancing réseau, le mirroring des données en temps réel et le basculement des applications sont gérés de manière cohérente dans un même produit.
Lorsque vous comparez le logiciel de clustering SafeKit avec le clustering matériel, vous n'avez pas besoin de disque partagé, de SAN répliqué, de load balancers, d'éditions entreprise du système d'exploitation ou des base de données.
Etape 1. Réplication en temps réel
Le serveur 1 (PRIM) exécute l'application Windows ou Linux. Les utilisateurs sont connectés à une adresse IP virtuelle. Seules les modifications faites par l'application à l'intérieur des fichiers sont répliquées en continue à travers le réseau.
La réplication est synchrone sans perte de données en cas de panne contrairement à une réplication asynchrone.
Il vous suffit de configurer les noms des répertoires à répliquer dans SafeKit. Il n'y a pas de pré-requis sur l'organisation du disque. Les répertoires peuvent se trouver sur le disque système.
Etape 2. Basculement automatique
Lorsque le serveur 1 est défaillant, SafeKit bascule l'adresse IP virtuelle sur le serveur 2 et redémarre automatiquement l'application Windows ou Linux. L'application retrouve les fichiers répliqués à jour sur le serveur 2.
L'application poursuit son exécution sur le serveur 2 en modifiant localement ses fichiers qui ne sont plus répliqués vers le serveur 1.
Le temps de basculement est égal au temps de détection de la panne (30 secondes par défaut) et au temps de relance de l'application.
Etape 3. Réintégration après panne
A la reprise après panne du serveur 1 (réintégration du serveur 1), SafeKit resynchronise automatiquement les fichiers de ce serveur à partir de l'autre serveur.
Seuls les fichiers modifiés sur le serveur 2 pendant l'inactivité du serveur 1 sont resynchronisés.
La réintégration du serveur 1 se fait sans arrêter l'exécution de l'application Windows ou Linux sur le serveur 2.
Etape 4. Retour à la normale
Après la réintégration, les fichiers sont à nouveau en mode miroir comme à l'étape 1. Le système est en haute disponibilité avec l'application Windows ou Linux qui s'exécute sur le serveur 2 et avec réplication temps réel des modifications vers le serveur 1.
Si l'administrateur souhaite que son application s'exécute en priorité sur le serveur 1, il peut exécuter une commande de basculement, soit manuellement à un moment opportun, soit automatiquement par configuration.
Plus d'information sur une coupure de courant et un isolement du réseau dans un cluster.
Adresse IP virtuelle dans un cluster feme
Sur la figure précédente, l'application Windows ou Linux tourne sur les 3 serveurs (3 est un exemple, il peut y en avoir 2 ou plus). Les utilisateurs sont connectés à une adresse IP virtuelle.
L'adresse IP virtuelle est configurée localement sur chaque serveur de la ferme.
Le trafic du réseau à destination de l'adresse IP virtuelle est reçu par l'ensemble des serveurs. Puis ce trafic est distribué entre les serveurs grâce à un filtre réseau chargé dans le noyau du système d'exploitation de chaque serveur.
SafeKit détecte les pannes matérielles et logicielles, reconfigure les filtres réseau en cas de panne et offre des checkers et des scripts de reprise applicatifs configurables.
Partage de charge dans un filtre réseau
L'algorithme de load balancing dans le filtre réseau est basé sur l'identité des paquets client (adresse IP client, port TCP client). Suivant l'identité du paquet client en entrée, seul un filtre dans un serveur accepte le paquet ; les autres filtres dans les autres serveurs le rejettent.
Une fois un paquet accepté par le filtre sur un serveur, seuls le CPU et la mémoire de ce serveur sont utilisés par l'application Windows ou Linux qui répond à la requête du client. Les messages de retour de l'application sont envoyés directement du serveur vers le client.
Lorsqu'un serveur est défaillant, le protocole de gestion du groupe des serveurs en vie reconfigure les filtres pour redistribuer le trafic vers les serveurs disponibles.
Applications à état et sans état
Avec une application Windows ou Linux à état, il y a affinité de session. Le même client doit être connecté sur le même serveur sur plusieurs sessions TCP pour retrouver son contexte sur le serveur. Dans ce cas, la règle de load balancing SafeKit est configurée sur l'adresse IP des clients. Ainsi, le même client est toujours connecté sur le même serveur sur plusieurs sessions TCP. Et différents clients sont répartis sur les différents serveurs de la ferme.
Avec une application Windows ou Linux sans état, il n'y a pas d'affinité de session. Le même client peut être connecté sur des serveurs différents dans la ferme lors de sessions TCP successives. Dans ce cas, la règle de load balancing SafeKit est configurée sur l'identité de la session TCP du client. Cette configuration est celle qui répartit le mieux les sessions entre les serveurs mais elle requiert un service TCP sans affinité de session.
New application (real-time replication and failover)
New application (network load balancing and failover)
Database (real-time replication and failover)
- Microsoft SQL Server mirror
- PostgreSQL mirror
- MySQL mirror
- Oracle mirror
- MariaDB mirror
- Firebird mirror
Web (network load balancing and failover)
Full VM or container real-time replication and failover
Amazon AWS
Google GCP
Microsoft Azure
Other clouds
Physical security (real-time replication and failover)
Siemens (real-time replication and failover)
New application (real-time replication and failover)
- Windows (mirror.safe)
- Linux (mirror.safe)
New application (network load balancing and failover)
Database (real-time replication and failover)
- Microsoft SQL Server (sqlserver.safe)
- PostgreSQL (postgresql.safe)
- MySQL (mysql.safe)
- Oracle (oracle.safe)
- MariaDB (sqlserver.safe)
- Firebird (firebird.safe)
Web (network load balancing and failover)
- Apache (apache_farm.safe)
- IIS (iis_farm.safe)
- NGINX (farm.safe)
Full VM or container real-time replication and failover
- Hyper-V (hyperv.safe)
- KVM (kvm.safe)
- Docker (mirror.safe)
- Podman (mirror.safe)
- Kubernetes K3S (k3s.safe)
Amazon AWS
- AWS (mirror.safe)
- AWS (farm.safe)
Google GCP
- GCP (mirror.safe)
- GCP (farm.safe)
Microsoft Azure
- Azure (mirror.safe)
- Azure (farm.safe)
Other clouds
- All Cloud Solutions
- Generic (mirror.safe)
- Generic (farm.safe)
Physical security (real-time replication and failover)
- Milestone XProtect (milestone.safe)
- Nedap AEOS (nedap.safe)
- Genetec SQL Server (sqlserver.safe)
- Bosch AMS (hyperv.safe)
- Bosch BIS (hyperv.safe)
- Bosch BVMS (hyperv.safe)
- Hanwha Vision (hyperv.safe)
- Hanwha Wisenet (hyperv.safe)
Siemens (real-time replication and failover)
- Siemens Siveillance suite (hyperv.safe)
- Siemens Desigo CC (hyperv.safe)
- Siemens Siveillance VMS (SiveillanceVMS.safe)
- Siemens SiPass (hyperv.safe)
- Siemens SIPORT (hyperv.safe)
- Siemens SIMATIC PCS 7 (hyperv.safe)
- Siemens SIMATIC WinCC (hyperv.safe)
HA de VMs avec le module Hyper-V ou KVM de SafeKit | HA d'application avec les modules applicatifs de SafeKit |
SafeKit dans 2 hyperviseurs: réplication et reprise de VM complète |
SafeKit dans 2 machines virtuelles ou physiques: réplication et reprise au niveau applicatif |
Réplique plus de données (App+OS) | Réplique seulement les données applicatives |
Reboot de la machine virtuelle sur l'hyperviseur 2 si l'hyperviseur 1 crash Temps de reprise dépendant du reboot de l'OS Checker de VM et reprise sur panne (la machine virtuelle ne répond pas, est tombée en panne ou a cessé de fonctionner) |
Temps de reprise rapide avec redémarrage de l'application sur OS2 en cas de panne du serveur 1 Autour d'1 mn ou moins (voir RTO/RPO ici) Checker applicatif et reprise sur panne logicielle |
Solution générique pour n'importe quelle application / OS | Scripts de redémarrage à écrire dans des modules applicatifs |
Fonctionne avec Windows/Hyper-V et Linux/KVM mais pas avec VMware | Indépendant de la plateforme, fonctionne avec les machines physiques ou virtuelles, une infrastructure cloud et tout hyperviseur, y compris VMware |
SafeKit avec le module Hyper-V ou le module KVM | Microsoft Hyper-V Cluster & VMware HA |
Pas de disque partagé - réplication temps réel synchrone à la place avec 0 perte de données | Disque partagé et baie de disques externe spécifique |
Sites distants = pas de SAN pour la réplication | Sites distants = baies de disques répliquées à travers un SAN |
Aucune compétence informatique spécifique pour configurer le système (avec hyperv.safe et kvm.safe) | Compétence informatique spécifique pour configurer le système |
Notez que les solutions Hyper-V/SafeKit et KVM/SafeKit sont limitées à la réplication et au basculement de 32 machines virtuelles. | Notez que la réplication intégrée à Hyper-V ne peut pas être considérée comme une solution de haute disponibilité. En effet, la réplication est asynchrone, ce qui peut entraîner une perte de données en cas de panne, et elle ne dispose pas de fonctionnalités de basculement et de restauration automatiques. |
Cluster miroir d'Evidian SafeKit avec réplication de fichiers temps réel et reprise sur panne |
|
Économisez avec 3 produits en 1 En savoir plus > |
|
Configuration très simple En savoir plus > |
|
Réplication synchrone En savoir plus > |
|
Retour d'un serveur tombé en panne totalement automatisé (failback) En savoir plus > |
|
Réplication de n'importe quel type de données En savoir plus > |
|
Réplication de fichiers vs réplication de disque En savoir plus > |
|
Réplication de fichiers vs disque partagé En savoir plus > |
|
Sites distants et adresse IP virtuelle En savoir plus > |
|
Split brain et quorum En savoir plus > |
|
Cluster actif/actif En savoir plus > |
|
Solution de haute disponibilité uniforme En savoir plus > |
|
RTO / RPO En savoir plus > |
|
Cluster ferme d'Evidian SafeKit avec load balancing et reprise sur panne |
|
Pas de load balancer, ni de serveur proxy dédié, ni d'adresse Ethernet multicast spéciale En savoir plus > |
|
Toutes les fonctionnalités de clustering En savoir plus > |
|
Sites distants et adresse IP virtuelle En savoir plus > |
|
Solution de haute disponibilité uniforme En savoir plus > |
|
|
|
Cluster de type "shared nothing"" vs cluster à disque partagé En savoir plus > |
|
|
|
|
|
Haute disponibilité vs tolérance aux fautes En savoir plus > |
|
|
|
Réplication synchrone vs réplication asynchrone En savoir plus > |
|
|
|
Réplication de fichiers au niveau octet vs réplication de disque au niveau du bloc En savoir plus > |
|
|
|
Heartbeat, reprise sur panne et quorum pour éviter 2 serveurs maîtres En savoir plus > |
|
|
|
|
|