eviden-logo

Evidian > Produits > Logiciel de haute disponibilité - Zéro surcoût matériel > Cas d'isolement du réseau et cas de coupure de courant dans un cluster

Cas d'isolement du réseau et cas de coupure de courant dans un cluster

Evidian SafeKit

Quels sont les différents scénarios en cas d'isolement réseau dans un cluster ?

Un seul réseau

Lorsqu'il y a un isolement réseau, le comportement par défaut est :

  • comme les heartbeats sont perdus pour chaque nœud, chaque nœud passe en ALONE et exécute l'application avec son adresse IP virtuelle (double exécution de l'application modifiant ses données locales),
  • lorsque l'isolement est réparé, un nœud ALONE est obligé de s'arrêter et de resynchroniser ses données depuis l'autre nœud,
  • à la fin, le cluster est PRIM-SECOND (ou SECOND-PRIM selon la détection d'adresse IP virtuelle en double faite par Windows).

Deux réseaux avec un réseau de réplication dédié

Lorsqu'il y a un isolement réseau, le comportement avec un réseau de réplication dédié est :

  • un réseau de réplication dédié est implémenté sur un réseau privé,
  • les heartbeats sur le réseau de production sont perdus (réseau isolé),
  • les heartbeats sur le réseau de réplication fonctionnent (réseau non isolé),
  • le cluster reste à l'état PRIM/SECOND.

Un seul réseau et un checker split-brain

Lorsqu'il y a un isolement du réseau, le comportement avec un split-brain checker est :

  • un split-brain checker a été configuré avec l'adresse IP d'un témoin (typiquement un routeur),
  • le split-brain agit lorsqu'un serveur passe de PRIM à ALONE ou de SECOND à ALONE,
  • en cas d'isolement du réseau, avant de passer en ALONE, les deux nœuds testent l'adresse IP,
  • le nœud qui peut accéder à l'adresse IP passe à ALONE, l'autre passe à WAIT,
  • lorsque l'isolement est réparé, le nœud WAIT resynchronise ses données et devient SECOND.

Remarque : Si le témoin est en panne ou déconnecté, les deux nœuds passent à WAIT et l'application n'est plus en cours d'exécution. C'est pourquoi vous devez choisir un témoin robuste comme un routeur.

Quels sont les différents scénarios en cas de coupure de courant dans un cluster ?

Coupure de courant du nœud primaire

Lorsqu'une panne de courant arrête uniquement le nœud primaire :

  • il y a un basculement automatique sur le nœud secondaire, qui devient ALONE et redémarre l'application,
  • lorsque le nœud 1 est redémarré, il devient SEDOND après resynchronisation des données répliquées,
  • les rôles de primaire et de secondaire peuvent être échangés par un administrateur si nécessaire.

Coupure de courant du nœud secondaire

Lorsqu'une panne de courant arrête uniquement le nœud secondaire :

  • il n'y a pas de basculement, le primaire devient ALONE et l'application continue son exécution sur le nœud 1,
  • lorsque le nœud 2 est redémarré, il devient SEDOND après resynchronisation des données répliquées.

Coupure de courant générale - cas 1

Lorsqu'une panne de courant arrête les deux nœuds, le comportement par défaut est :

  • les deux nœuds passent à STOP,
  • lorsque le nœud 1 est redémarré, il ne passe pas à l'état ALONE et ne redémarre pas l'application car il ne sait pas s'il dispose des données à jour. Il passe donc à l'état WAIT en attendant le redémarrage de l'autre nœud,
  • lorsque le nœud 2 est redémarré, les deux nœuds reviennent à leurs états PRIM/SECOND précédents.

Coupure de courant générale - cas 2

Lorsqu'il y a un isolement du réseau, le comportement avec un split-brain checker est :

  • un split-brain checker a été configuré avec l'adresse IP d'un routeur (un témoin),
  • en cas d'isolement du réseau, avant de passer en ALONE, les deux nœuds testent l'adresse IP,
  • le nœud qui peut accéder à l'adresse IP passe à ALONE, l'autre passe à WAIT,
  • lorsque l'isolation est réparée, le nœud WAIT resynchronise ses données et devient SECOND.

Remarque : Si le témoin est en panne ou déconnecté, les deux nœuds passent à WAIT et l'application n'est plus en cours d'exécution. C'est pourquoi vous devez choisir un témoin robuste comme un routeur.

Comment fonctionne le cluster miroir de SafeKit avec Windows ou Linux ?

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.

Réplication de données temps réel reprise sur panne avec Windows ou Linux

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.

Basculement automatique de Windows ou Linux dans un cluster miroir

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.

Réintégration après panne de Windows ou Linux dans un cluster miroir

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.

Retour à la normale d'un cluster Windows ou Linux actif-passif

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.

Choisissez entre une redondance au niveau application ou au niveau machine virtuelle

Redondance au niveau de l'application

Dans ce type de solution, seules les données applicatives sont répliquées. Et seule l'application est redémarrée en cas de panne.

Application HA - redondance au niveau applicatif

Avec cette solution, des scripts de redémarrage doivent être écrits pour redémarrer l'application.

Nous livrons des modules applicatifs pour mettre en œuvre la redondance au niveau applicatif (comme le module Windows ou Linux fourni dans l'essai gratuit ci-dessous). Ils sont préconfigurés pour des applications et des bases de données bien connues. Vous pouvez les personnaliser avec vos propres services, données à répliquer, checkers d'application. Et vous pouvez combiner les modules applicatifs pour construire des architectures avancées à plusieurs niveaux.

Cette solution est indépendante de la plate-forme et fonctionne avec des applications à l'intérieur de machines physiques, de machines virtuelles, dans le Cloud. Tout hyperviseur est supporté (VMware, Hyper-V...).

  • Solution pour une nouvelle application (scripts de redémarrage à écrire) : Windows, Linux

Redondance au niveau de machine virtuelle

Dans ce type de solution, la machine virtuelle (VM) complète est répliquée (Application + OS). Et la machine virtuelle complète est redémarrée en cas de panne.

VM HA - redondance au niveau de la machine virtuelle

L'avantage est qu'il n'y a pas de scripts de redémarrage à écrire par application et pas d'adresse IP virtuelle à définir. Si vous ne savez pas comment fonctionne l'application, c'est la meilleure solution.

Cette solution fonctionne avec Windows/Hyper-V et Linux/KVM mais pas avec VMware. Il s'agit d'une solution active/active avec plusieurs machines virtuelles répliquées et redémarrées entre deux nœuds.

Utilisation typique avec SafeKit

Pourquoi une réplication de quelques Tera-octets ?

Temps de resynchronisation après panne (étape 3)

  • Réseau 1 Gb/s ≈ 3 heures pour 1 téraoctet.
  • Réseau 10 Gb/s ≈ 1 heure pour 1 téraoctet ou moins en fonction des performances d'écriture disque.

Alternative

Pourquoi une réplication < 1 000 000 fichiers ?

  • Performance du temps de resynchronisation après panne (étape 3).
  • Temps pour vérifier chaque fichier entre les deux nœuds.

Alternative

  • Placez les nombreux fichiers à répliquer sur un disque dur virtuel / une machine virtuelle.
  • Seuls les fichiers représentant le disque dur virtuel / la machine virtuelle seront répliqués et resynchronisés dans ce cas.

Pourquoi un basculement ≤ 32 VMs répliquées ?

  • Chaque VM s'exécute dans un module miroir indépendant.
  • Maximum de 32 modules miroir exécutés sur le même cluster.

Alternative

  • Utilisez un stockage partagé externe et une autre solution de clustering de VMs.
  • Plus cher, plus complexe.

Pourquoi un réseau LAN/VLAN entre sites distants ?

Alternative

  • Utilisez un équilibreur de charge pour l'adresse IP virtuelle si les 2 nœuds sont dans 2 sous-réseaux (supporté par SafeKit, notamment dans le cloud).
  • Utilisez des solutions de backup avec réplication asynchrone pour un réseau à latence élevée.

SafeKit Quick Installation Guides

New application (real-time replication and failover)


New application (network load balancing and failover)


Database (real-time replication and failover)


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)


Différentiateurs de la solution de haute disponibilité SafeKit