Haute disponibilité Linux avec réplication synchrone et tolérance aux pannes

Evidian SafeKit apporte la haute disponibilité aux applications Linux. Cet article explique comment implémenter rapidement un cluster Linux sans disque partagé et sans compétences spécifiques. Un essai gratuit est offert.

Comment le logiciel Evidian SafeKit met en œuvre simplement la haute disponibilité Linux avec réplication synchrone temps réel et tolérance aux pannes sans disque partagé

Comment Evidian SafeKit met en œuvre la haute disponibilité Linux avec réplication temps réel et tolérance aux pannes

Sur la figure précédente, le serveur 1 / PRIM (Linux) exécute une application critique. Les utilisateurs sont connectés à l'adresse IP virtuelle du cluster miroir. SafeKit réplique les fichiers ouverts par l'application Linux en temps réel. Seules les modifications apportées aux fichiers sont répliquées sur le réseau, limitant ainsi le trafic (réplication de fichiers au niveau octet). Les noms des répertoires de fichiers contenant les données applicatives sont simplement configurés dans SafeKit. Il n'existe pas de pré-requis sur l'organisation des disques entre les deux serveurs. Les répertoires à répliquer peuvent se trouver dans le disque système. SafeKit met en œuvre une réplication synchrone sans perte de données en cas de panne, contrairement à une réplication asynchrone.

En cas de défaillance du serveur 1, il y a un basculement automatique sur le serveur 2 avec redémarrage de l'application Linux. Ensuite, lorsque le serveur 1 est redémarré, SafeKit met en œuvre son retour dans le cluster avec la réintégration des données répliquées sans arrêter l'application sur le serveur 2. Enfin, le système retourne à la réplication synchrone entre le serveur 2 et le serveur 1. L'administrateur peut décider d'échanger le rôle du primaire et du secondaire pour revenir à un serveur 1 qui exécute l'application. Ce changement de rôle peut également être fait automatiquement par configuration.

Vue générale sur la configuration de la haute disponibilité Linux avec réplication synchrone et tolérance aux pannes

Avec SafeKit, on peut configurer soit un module applicatif ferme, soit un module applicatif miroir suivant l'architecture de haute disponibilité adaptée à l'application critique à sécuriser. Pour la haute disponibilité Linux avec réplication synchrone et tolérance aux pannes, le bon module est le module miroir.

Vue générale sur la configuration de la haute disponibilité Linux avec réplication et tolérance aux pannes

Les fichiers de configuration du module applicatif générique sur Linux sont donnés ici.

Ils comprennent :

1. les scripts d'arrêt et de démarrage de l'application Linux,

2. le fichier de configuration userconfig.xml qui contient :

Fichiers de configuration SafeKit pour la haute disponibilité Linux avec réplication synchrone et tolérance aux pannes

Instructions d'installation

Note: Des exemples de module applicatifs construits à partir du module générique sont donnés ici.

userconfig.xml

<!DOCTYPE safe>
<safe>
   <service mode="mirror" defaultprim="alone" maxloop="3" loop_interval="24" failover="on">
      <!-- Server Configuration -->
      <!-- Names or IP addresses on the default network are set during initialization in the console -->
      <heart pulse="700" timeout="30000">
         <heartbeat name=”default” ident=”flow”/>
      </heart>
      <!-- Virtual IP Configuration -->
      <!-- Replace
         * VIRTUAL_TO_BE_DEFINED by the name/IP of your virtual server 
      -->
      <vip>
         <interface_list>
            <interface check="on" arpreroute="on">
               <real_interface>
                  <virtual_addr addr="VIRTUAL_TO_BE_DEFINED" where="one_side_alias"/>
               </real_interface>
            </interface>
         </interface_list>
      </vip>
      <!-- Software Error Detection Configuration -->
      <!-- Replace
         * PROCESS_NAME by the name of the process to monitor
      -->
      <errd polltimer="10">
        <proc name="PROCESS_NAME" atleast="1" action="restart" class="prim" />
      </errd>
      <!-- File Replication Configuration -->
      <rfs mountover="off" async="second" acl="off" nbrei="3" >
         <replicated dir="/test1replicated" mode="read_only"/>
         <replicated dir="/test2replicated" mode="read_only"/>
      </rfs>
      <!-- User scripts activation -->
      <user nicestoptimeout="300" forcestoptimeout="300" logging="userlog"/>
   </service>
</safe>

start_prim

#!/bin/sh
# Script called on the primary server for starting application

# For logging into SafeKit log use:
# $SAFE/safekit printi | printe "message" 

# stdout goes into Application log
echo "Running start_prim $*" 

res=0

# Fill with your application start call

if [ $res -ne 0 ] ; then
  $SAFE/safekit printe "start_prim failed"

  # uncomment to stop SafeKit when critical
  # $SAFE/safekit stop -i "start_prim"
fi

stop_prim

#!/bin/sh
# Script called on the primary server for stopping application

# For logging into SafeKit log use:
# $SAFE/safekit printi | printe "message" 

#----------------------------------------------------------
#
# 2 stop modes:
#
# - graceful stop
#   call standard application stop
#
# - force stop ($1=force)
#   kill application's processes
#
#----------------------------------------------------------

# stdout goes into Application log
echo "Running stop_prim $*" 

res=0

# default: no action on forcestop
[ "$1" = "force" ] && exit 0

# Fill with your application stop call

[ $res -ne 0 ] && $SAFE/safekit printe "stop_prim failed"

Démonstration

Cette démonstration est faite avec Microsoft SQL Server Express mais le mode de fonctionnement est le même qu'avec une application Linux.

Plus d'information sur SafeKit

Autres exemples de modules de haute disponibilité :

Modules miroirs

Windows

Linux

Microsoft SQL Servermodule Windows-
Oraclemodule Windowsmodule Linux
MySQLmodule Windowsmodule Linux
PostgreSQLmodule Windowsmodule Linux
Firebirdmodule Windowsmodule Linux
Hyper-Vmodule Windows-
Milestone XProtect (basé sur Microsoft SQL Server)module Windows-
Hanwha SSM (basé sur PostgreSQL Server)module Windows-
Module génériquemodule Windowsmodule Linux

Modules fermes

Windows

Linux

Module IISmodule Windows-
Module Apachemodule Windowsmodule Linux
Module génériquemodule Windowsmodule Linux

contact
CONTACT
Démonstration

Evidian SafeKit Prix





Livres blancs

NEWS

Pour recevoir des informations d'Evidian, veuillez remplir le formulaire suivant.