eviden-logo

Evidian > Produits > Logiciel de haute disponibilité - Zéro surcoût matériel > Réplication synchrone versus réplication asynchrone

Réplication synchrone versus réplication asynchrone

Evidian SafeKit

Perte de données ou non sur basculement d'une application critique ?

Il existe une grande différence entre une réplication synchrone versus une réplication asynchrone. Le choix détermine s'il y a perte de données sur panne lors du basculement et de la reprise d'une application critique sur le serveur secondaire.

La réplication synchrone est essentiel pour le basculement d'applications transactionnelles. Avec une réplication synchrone, toutes les données committées sur le disque du serveur primaire se retrouvent sur le disque du serveur secondaire. Avec une réplication asynchrone, des données committées sur le disque du serveur primaire peuvent être perdues en cas de panne. Il existe une solution alternative appelée réplication semi-synchrone, avec les données committées sur le serveur secondaire mais pas forcément sur son disque.

Pour vous aider à prendre la bonne décision entre réplication synchrone versus réplication asynchrone, nous expliquons maintenant les mécanismes techniques et leurs impacts sur le basculement d'une application.

Le choix entre réplication synchrone versus réplication asynchrone détermine s'il y a perte de données ou pas sur panne.

Réplication synchrone

Avec une réplication synchrone comme le propose le logiciel SafeKit, lorsqu'une IO disque est réalisée par l'application ou le cache système sur le serveur primaire, SafeKit attend l'acquittement de l'IO du disque local et du serveur secondaire avant d'envoyer l'acquittement à l'application ou au cache système. Ce mécanisme est indispensable pour la reprise d'applications transactionnelles lorsqu'elles committent leurs transactions.

Réplication asynchrone

Avec la réplication asynchrone mise en œuvre par la plupart des solutions, les IOs sont mises dans une file sur le serveur primaire et les acquittements du serveur secondaire ne sont pas attendus. Donc, toutes les données qui n'ont pas eu le temps d'être recopiées à travers le réseau sur le serveur secondaire sont perdues en cas de panne du serveur primaire. Une application transactionnelle perd des transactions committées lors d'une reprise après panne.

Réplication semi-synchrone

Avec une réplication semi-synchrone, SafeKit attend toujours l'acquittement des deux serveurs avant d'envoyer l'acquittement à l'application ou au cache système. Mais dans le cas semi-synchrone, le serveur secondaire envoie l'acquittement au serveur primaire dès réception de l'IO puis écrit sur disque. Dans le cas synchrone, le serveur secondaire écrit l'IO sur disque puis envoie l'acquittement au serveur primaire.

Conclusion

Une réplication asynchrone perd des données en cas de basculement et de reprise après panne. Même une réplication semi-synchrone perd des données dans le cas particulier d'une double panne électrique simultanée sur les deux serveurs avec l'impossibilité de redémarrer sur l'ex serveur primaire et l'obligation de redémarrer sur le serveur secondaire. Donc soyez prudent sur les conséquences du choix entre réplication synchrone versus réplication asynchrone. Préférez toujours une réplication synchrone ou semi-synchrone pour une application critique.

Vidéo : réplication synchrone versus réplication asynchrone >

Partenaires, le succès avec SafeKit

Cette solution indépendante de la plateforme est idéale pour un partenaire revendant une application critique et qui souhaite proposer une option de redondance et de haute disponibilité simple à déployer auprès de nombreux clients.

Avec de nombreuses références dans de nombreux pays gagnées par des partenaires, SafeKit s'est avéré être la solution la plus simple à mettre en œuvre pour la redondance et la haute disponibilité des logiciels de gestion des bâtiments, vidéosurveillance, contrôle d'accès, systèmes SCADA...

Logiciel de gestion des bâtiments (BMS)

Logiciel de gestion vidéo (VMS)

Contrôle d'accès électroniques (EACS)

Logiciels SCADA (Industrie)

Comment fonctionne le cluster miroir de SafeKit ?

Etape 1. Réplication en temps réel

Le serveur 1 (PRIM) exécute l'application. 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

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. 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 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 dans un cluster miroir

La réintégration du serveur 1 se fait sans arrêter l'exécution de l'application 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 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 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.

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 < 25 VMs répliquées ?

  • Chaque VM s'exécute dans un module miroir indépendant.
  • Maximum de 25 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.

Différentiateurs de la solution de haute disponibilité SafeKit par rapport à la concurrence

Modules SafeKit pour des solutions de redondance et de haute disponibilité plug&play

Architectures de clustering avancée

Plusieurs modules peuvent être déployés dans le même cluster. Ainsi, des architectures de clustering avancées peuvent être mises en œuvre :

Démonstrations de solutions de redondance et de haute disponibilité

SafeKit Overview

Exemples de solutions de redondance et de haute disponibilité avec SafeKit.

Training complet ici

Cluster Microsoft SQL Server

Cette vidéo montre la configuration d'un module miroir avec réplication temps réel synchrone et reprise sur panne.

La réplication de fichiers et le basculement sont configurés pour Microsoft SQL Server mais fonctionnent de la même manière pour d'autres bases de données.

Essai gratuit ici

Cluster Apache

Cette vidéo montre une configuration d'un module ferme avec équilibrage de charge et reprise sur panne.

L'équilibrage de charge et le basculement sont configurés pour Apache mais fonctionnent de la même manière pour d'autres services Web.

Essai gratuit ici

Cluster Hyper-V

Cette vidéo montre un cluster Hyper-V avec des réplications complètes de machines virtuelles.

Les machines virtuelles peuvent s'exécuter sur les deux serveurs Hyper-V et elles sont redémarrées en cas de panne.

Essai gratuit ici

Documentation technique de SafeKit

SafeKit Training

Introduction

  1. Overview / pptx

    • Demonstration
    • Examples of redundancy and high availability solution
    • Evidian SafeKit sold in many different countries with Milestone
    • 2 solutions: virtual machine or application cluster
    • Distinctive advantages
    • More information on the web site
    • SafeKit training
  2. Competition / pptx

    • Cluster of virtual machines
    • Mirror cluster
    • Farm cluster

Installation, Console, CLI

  1. Install and setup / pptx
    • Package installation
    • Nodes setup
    • Upgrade
  2. Web console / pptx
    • Cluster configuration
    • Configuration tab
    • Control tab
    • Monitor tab
    • Advanced Configuration tab
  3. Command line / pptx
    • Configure the SafeKit cluster
    • Configure a SafeKit module
    • Control commands

Advanced configuration

  1. Mirror module / pptx
    • start_prim / stop_prim scripts
    • userconfig.xml
    • Heartbeat (<hearbeat>)
    • Virtual IP address (<vip>)
    • Real-time file replication (<rfs>)
    • How real-time file replication works?
    • Mirror's states in action
  2. Farm  module / pptx
    • start_both / stop_both scripts
    • userconfig.xml
    • Farm heartbeats (<farm>)
    • Virtual IP address (<vip>)
    • Farm's states in action
  1. Checkers / pptx
    • userconfig.xml
    • errd checker
    • intf and ip checkers
    • custom checker
    • splitbrain checker for a mirror module
    • tcp, ping, module checkers
    • Checkers in action

Troubleshooting

  1. Troubleshooting / pptx
    • Analyze yourself the logs
    • Running an application without SafeKit
    • Take snapshots for support
    • Boot / shutdown
    • Web console / Command lines
    • Mirror / Farm / Checkers

Support

  1. Evidian support / pptx
    • Get permanent license key
    • Register on support.evidian.com
    • Call desk