eviden-logo

Evidian > Produits > Logiciel de haute disponibilité - Zéro surcoût matériel > Comment mettre en œuvre des serveurs redondants avec un simple logiciel (Windows / Linux)?

Comment mettre en œuvre des serveurs redondants avec un simple logiciel (Windows / Linux)?

Evidian SafeKit

Comment mettre en œuvre des serveurs redondants actif/passif avec réplication en temps réel et basculement sur panne ?

Le cluster miroir de SafeKit

Serveurs redondants avec réplication de fichiers temps réel et basculement sur panne

Dans un cluster miroir, le logiciel SafeKit est installé sur deux serveurs physiques ou virtuels exécutant Windows ou Linux (sur site ou dans le Cloud). Le serveur primaire est le serveur actif et exécute une application critique. Le serveur secondaire est un serveur redondant passif et reçoit en temps réel toutes les modifications apportées par l'application à l'intérieur de ses fichiers. Les clients sont connectés à une adresse IP virtuelle. Si le serveur actif est en panne, SafeKit redémarre automatiquement l'application critique sur le serveur redondant passif qui devient primaire et commute l'adresse IP virtuelle. Lorsque le serveur défaillant est redémarré, il est automatiquement resynchronisé et devient le serveur redondant passif fonctionnant comme secondaire.

Comment mettre en œuvre des serveurs redondants actif/actif avec équilibrage de la charge réseau et basculement sur panne ?

Le cluster ferme de SafeKit

Serveurs redondants avec équilibrage de charge réseau et basculement sur panne

Dans un cluster de serveurs en ferme, le logiciel SafeKit est installé sur des serveurs redondants sous Windows ou Linux (sur site ou dans le Cloud). Tous les serveurs sont actifs et exécutent une même application frontale critique. Les clients sont connectés à une adresse IP virtuelle. Les sessions TCP sont partagées entre tous les serveurs redondants. Si un serveur est en panne, SafeKit reconfigure automatiquement l'équilibrage de charge des sessions TCP entre les serveurs actifs restants. Lorsque le serveur défaillant est redémarré, il est automatiquement réintégré en tant que serveur redondant actif et reçoit de nouvelles sessions TCP.

SafeKit, un logiciel de haute disponibilité facile à déployer

Une solution de haute disponibilité tout-en-un

Dans le même produit logiciel, SafeKit fournit sur Windows et Linux :

  • le load balancing
  • la réplication de fichiers temps réel synchrone
  • le redémarrage automatique d'une application sur panne
  • la réintégration automatique d'un serveur après panne

Économisez les boîtiers réseau de load balancing ou les serveurs proxy dédiés, les disques partagés ou les stockages SAN répliqués, les éditions entreprise des systèmes d'exploitation ou des bases de données, les compétences spécifiques pour maintenir opérationnel un cluster.

Une solution complète

SafeKit résout :

  • les pannes matérielles (20% des problèmes), incluant la panne complète d'une salle informatique,
  • les défaillances logicielles (40% des problèmes), incluant la relance de processus critiques,
  • et les erreurs humaines (40% des problèmes) grâce à sa simplicité d'utilisation et sa console Web.

Un produit générique

Vous pouvez implémenter avec SafeKit la réplication en temps réel et le basculement de n'importe quel répertoire de fichiers et service, base de données, machines virtuelles Hyper-V ou KVM complètes, applications Docker, Podman, K3S, Cloud (voir la liste des modules).

Zéro compétence spécifique

Aucune compétence informatique spécifique n'est nécessaire pour déployer un cluster de haute disponibilité SafeKit.

Zéro surcoût matériel

Une solution de haute disponibilité SafeKit est indépendante du matériel et s'exécute sur vos serveurs physiques existants, ou dans des machines virtuelles, ou dans le cloud.

Zéro surcoût logiciel

Le produit de haute disponibilité SafeKit fonctionne avec les éditions standards de Windows et Linux et ne nécessite pas les éditions entreprise des bases de données.

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.

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. 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.

Comment fonctionne le cluster ferme de SafeKit ?

Adresse IP virtuelle dans un cluster feme

Equilibrage de charge et haute disponibilité

Sur la figure précédente, l'application 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 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 à é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 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.

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 :

Webinaire SafeKit (Anglais)

Evidian SafeKit Overview Slides

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

More slides

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

Evidian SafeKit 8.2

Toutes les nouvelles fonctionnalités par rapport à la 7.5 décrites dans le release notes

Packages

Licence d'essai gratuit d'un mois

Documentation technique

Training

Modules et installation rapide

SafeKit 8.2 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
    • Configuration of the cluster
    • Configuration of a new module
    • Advanced usage
    • Securing the web console
  3. Command line / pptx
    • Configure the SafeKit cluster
    • Configure a SafeKit module
    • Control and monitor

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
    • Take snapshots for support
    • Boot / shutdown
    • Web console / Command lines
    • Mirror / Farm / Checkers
    • Running an application without SafeKit

Support

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