Evidian SafeKit apporte la haute disponibilité à Oracle. Cet article explique comment mettre en œuvre rapidement un cluster Oracle sans disque partagé et sans compétences spécifiques. Le module de haute disponibilité oracle.safe et un essai gratuit sont offerts dans le tab installation ci-dessous.
Notez que vous pouvez mettre en œuvre avec le même produit la réplication en temps réel et le basculement d'autres applications (base de données ou autre) : voir d'autres exemples de modules miroirs ici.
Cette solution de clustering est reconnue comme la plus simple à mettre en œuvre par nos clients et partenaires. C'est également une solution complète qui 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 le passage d'update serveur par serveur et les erreurs humaines (40% des problèmes) grâce à sa simplicité d'administration.
Sur la figure précédente, le serveur 1 / PRIM exécute les services Oracle. Les utilisateurs sont connectés à l'adresse IP virtuelle du cluster miroir. SafeKit réplique les fichiers ouverts par les services Oracle 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 des services Oracle 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 des services Oracle. Ensuite, lorsque le serveur 1 est redémarré, SafeKit met en œuvre son retour automatique dans le cluster avec la réintégration des données sans arrêter les services Oracle 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 les services Oracle. Ce changement de rôle peut également être fait automatiquement par configuration.
Sur les deux nœuds Windows
Sur les deux serveurs Linux
La configuration est présentée avec la console web connectée à 2 serveurs Windows mais c'est la même chose avec 2 serveurs Linux.
Important : toute la configuration est réalisée à partir d'un seul navigateur.
Lancez la console Web dans un navigateur en vous connectant à http://localhost:9010 (image suivante)
Entrez l'adresse IP du premier nœud et cliquez sur Confirm (image suivante)
Cliquez sur New node et entrez l'adresse IP du deuxième nœud (image suivante)
Puis, cliquez sur la disquette rouge pour sauvegarder la configuration (image suivante)
Dans l'onglet Configuration, cliquez sur oracle.safe (xxx.safe dans l'image suivante) puis entrez oracle comme nom du module et cliquez sur Confirm (la console trouve oracle.safe dans le répertoire demo/ que vous avez précédemment rempli dans le tab Installation)
Cliquez sur Validate (image suivante)
Après le clic sur Validate, cette nouvelle fenêtre apparaît (image suivante)
Dans l'image précédente:
Cliquez sur Validate (image précédente)
Cliquez sur Configure (image précédente)
Vérifiez le message succès vert sur les deux serveurs et cliquez sur Next (image précédente). Sous Linux, vous pouvez avoir une erreur à cette étape si les répertoires répliqués sont des points de montage. Voir cet article pour résoudre le problème.
Sélectionnez le nœud avec les répertoires répliqués les plus récents et cliquez sur Start it pour effectuer la première resynchronisation dans la bonne direction (image précédente). Avant cette opération, nous vous suggérons de faire une copie des répertoires répliqués avant de démarrer le cluster pour éviter toute erreur.
Démarrer le deuxième nœud (image précédente) qui devient SECOND vert (image suivante) après la resynchronisation de tous les répertoires répliqués (copie binaire du nœud 1 vers le nœud 2).
Le cluster est opérationnel avec les services Oracle s'exécutant sur le nœud PRIM et ne s'exécutant pas sur le nœud SECOND (image précédente). Seules les modifications à l'intérieur des fichiers sont répliquées en temps réel dans cet état.
Attention, les composants qui sont clients des services Oracle doivent être configurés avec l'adresse IP virtuelle. La configuration peut être effectuée avec un nom DNS (si un nom DNS a été créé et associé à l'adresse IP virtuelle).
Vérifiez avec la console Microsoft Management Console (MMC) sous Windows ou avec des lignes de commande sous Linux que les services Oracle ont été démarrés sur le serveur primaire par le script start_prim et arrêtés sur le serveur secondaire par le script stop_prim.
Arrêtez le nœud PRIM en faisant défiler le menu du nœud primaire et en cliquant sur Stop. Vérifiez qu'il y a un basculement sur le nœud SECOND. Et avec la console Microsoft Management Console (MMC) sous Windows ou avec des lignes de commande sous Linux, vérifiez le basculement des services Oracle (arrêtés et démarrés dans les scripts stop_prim et start_prim) .
Consultez le journal d'un module pour comprendre les raisons d'une reprise sur panne, d'un état d'attente sur la disponibilité d'une ressource etc...
Pour voir le journal du module sur le serveur primaire (image suivante):
Répétez la même opération pour voir le journal du module du serveur secondaire.
Consultez le journal applicatif pour voir les messages de sortie des scripts de redémarrage stat_prim et stop_prim.
Pour voir le journal applicatif du serveur primaire (image suivante) :
Répétez la même opération pour voir le journal applicatif du serveur secondaire.
Dans l'onglet Advanced Configuration (image suivante), vous pouvez modifier les fichiers internes au module : bin/start_prim et bin/stop_prim et conf/userconfig.xml (image suivante sur le côté gauche). Si vous faites des changements dans les fichiers internes ici, vous devez appliquer la nouvelle configuration par un clic droit sur l'icône bleue/xxx sur le côté gauche (image suivante) : l'interface vous permettra de redéployer les fichiers modifiés sur les deux serveurs.
Configure boot start (image suivante sur le côté droit) configure le démarrage automatique du module au boot du serveur. Effectuez cette configuration sur les deux serveurs une fois que la solution de haute disponibilité fonctionne correctement. Notez que pour synchroniser SafeKit au boot et au shutdown, sur les deux nœuds, dans une ligne de commande en tant qu'administrateur, vous devez préalablement exécuter .\addStartupShutdown.cmd dans C:\safekit\private\bin.
Pour obtenir de l'aide sur le centre d'appel de https://support.evidian.com, prenez 2 Snaphots (2 fichiers .zip), un pour chaque serveur et téléchargez-les dans l'outil du centre d'appel (image suivante).
<!DOCTYPE safe>
<safe>
<macro name="ORACLE_SID" value="ORACLE_SID_TO_BE_DEFINED" />
<macro name="ORACLE_HOME_NAME" value="ORACLE_HOME_NAME_TO_BE_DEFINED" />
<service mode="mirror" defaultprim="alone" maxloop="3" loop_interval="24" failover="on">
<!-- Heartbeat 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">
</heartbeat>
</heart>
<!-- Virtual IP Configuration (used by Oracle SQL*Net Listener) -->
<!-- Replace
* VIRTUAL_TO_BE_DEFINED by the IP address 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 -->
<errd polltimer="10">
<!-- Oracle databases
For monitoring one specific oracle instance, insert the attribute
argregex="{.*SID.*}" where SID is the name of the DataBase
-->
<proc name="oracle.exe" atleast="1" action="restart" class="prim" />
<proc name="tnslsnr.exe" atleast="1" action="restart" class="prim" />
</errd>
<!-- File Replication Configuration -->
<!-- Replace
* ORACLE_DATA_TO_BE_DEFINED by the path of your Oracle database directory and transaction logs
-->
<rfs async="second" acl="off" nbrei="3">
<replicated dir="ORACLE_DATA_TO_BE_DEFINED" mode="read_only" />
</rfs>
<!-- User scripts Configuration / Environment variables -->
<user nicestoptimeout="300" forcestoptimeout="300" logging="userlog">
<var name="ORACLE_SID" value="%ORACLE_SID%" /> <!-- values defined in macro above -->
<var name="ORACLE_HOME_NAME" value="%ORACLE_HOME_NAME%" />
</user>
</service>
</safe>
start_prim.cmd@echo off
rem Script called on the primary server for starting application services
rem For logging into SafeKit log use:
rem "%SAFE%\safekit" printi | printe "message"
rem stdout goes into Application log
echo "Running start_prim %*"
set res=0
net start "OracleDbConsole%ORACLE_SID%" > nul
if not %errorlevel% == 0 goto stop
%SAFE%\safekit printi "OracleDbConsole%ORACLE_SID% started"
net start "OracleService%ORACLE_SID%" > nul
if not %errorlevel% == 0 goto stop
%SAFE%\safekit printi "OracleService%ORACLE_SID% started"
net start "Oracle%ORACLE_HOME_NAME%TNSListener" > nul
if not %errorlevel% == 0 goto stop
%SAFE%\safekit printi "Oracle%ORACLE_HOME_NAME%TNSListener started"
if %res% == 0 goto end
:stop
set res=%errorlevel%
%SAFE%\safekit printi "Oracle start failed"
rem uncomment to stop SafeKit when critical
rem %SAFE%\safekit stop -i "start_prim"
:end
stop_prim.cmd@echo off
rem Script called on the primary server for stopping application services
rem ----------------------------------------------------------
rem
rem 2 stop modes:
rem
rem - graceful stop
rem call standard application stop with net stop
rem
rem - force stop (%1=force)
rem kill application's processes
rem
rem ----------------------------------------------------------
rem For logging into SafeKit log use:
rem "%SAFE%\safekit" printi | printe "message"
rem stdout goes into Application log
echo "Running stop_prim %*"
set res=0
rem default: no action on forcestop
if "%1" == "force" goto end
net stop OracleService%ORACLE_SID% > nul
%SAFE%\safekit printi "OracleService%ORACLE_SID% stopped"
net stop OracleDBConsole%ORACLE_SID% > nul
%SAFE%\safekit printi "OracleDBConsole%ORACLE_SID% stopped"
net stop Oracle%ORACLE_HOME_NAME%TNSListener > nul
%SAFE%\safekit printi "Oracle%ORACLE_HOME_NAME%TNSListener stopped"
rem wait a little for a real stop of services
%SAFEBIN%\sleep 10
:end
<!DOCTYPE safe>
<safe>
<macro name="ORACLE_HOME" value="PATH_TO_BE_DEFINED" />
<macro name="ORACLE_DBA" value="USER_TO_BE_DEFINED" />
<service mode="mirror" defaultprim="alone" maxloop="3" loop_interval="24" failover="on">
<!-- Heartbeat 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">
</heartbeat>
</heart>
<!-- Virtual IP Configuration (used by Oracle SQL*Net Listener) -->
<!-- Replace
* VIRTUAL_TO_BE_DEFINED by the IP address 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 -->
<errd polltimer="10">
<!-- Oracle databases
For monitoring one specific oracle instance, insert the attribute
argregex=".*SID$" where SID is the name of the DataBase
-->
<proc name="oracle" nameregex="ora_.*" atleast="1" action="restart" class="prim" />
<proc name="tnslsnr" atleast="1" action="restart" class="prim" />
</errd>
<!-- File Replication Configuration -->
<!-- Replace
* ORACLE_DATA_TO_BE_DEFINED by the path of your Oracle database directory and transaction logs
-->
<rfs mountover="off" packetsize="32768" async="second" acl="off" nbrei="3">
<replicated dir="ORACLE_DATA_TO_BE_DEFINED" mode="read_only" />
</rfs>
<!-- User scripts Configuration / Environment variables -->
<user nicestoptimeout="300" forcestoptimeout="300" logging="userlog">
<var name="ORACLE_HOME" value="%ORACLE_HOME%" /> <!-- values defined in macro above -->
<var name="ORACLE_DBA" value="%ORACLE_DBA%" />
</user>
</service>
</safe>
start_prim#!/bin/sh
# Script called on the primary server for starting applications
# For logging into SafeKit log use:
# $SAFE/safekit printi | printe "message"
#---------- Clean Oracle residual processes and shared memory
# Call this function before starting any Oracle databases
# to clean eventual resual Oracle processes and IPC
clean_oracle()
{
retval=0
$SAFE/safekit printw "Cleaning Oracle processes and shared memory"
# kill started Oracle databases
ps -e -o pid,comm |grep ora | $AWK '{print "kill " $1}'| sh >/dev/null 2>&1
# delete oracle shared memory to start in a clean state
case $OSNAME in
Linux)
ipcs -m |grep oracle |$AWK '{print "shm "$2 | "xargs ipcrm"}' >/dev/null 2>&1
ipcs -s |grep oracle |$AWK '{print "sem "$2 | "xargs ipcrm"}' >/dev/null 2>&1
;;
*)
ipcs -m |grep oracle |$AWK '{print "-m "$2 | "xargs ipcrm"}' >/dev/null 2>&1
ipcs -s |grep oracle |$AWK '{print "-s "$2 | "xargs ipcrm"}' >/dev/null 2>&1
;;
esac
if [ -f $ORACLE_HOME/dbs/sgadef*.dbf ]; then
rm $ORACLE_HOME/dbs/sgadef*.dbf
fi
return $retval
}
#---------- Oracle Databases
# Call this function for starting Oracle Databases
start_oracle()
{
retval=0
$SAFE/safekit printw "Starting Oracle databases"
# Oracle - Database Starting
/bin/su - $ORACLE_DBA -c "$ORACLE_HOME/bin/dbstart $ORACLE_HOME" #> /dev/console 2>&1
if [ $? -ne 0 ] ; then
$SAFE/safekit printw "Oracle databases start failed"
# retval=1
else
$SAFE/safekit printw "Oracle databases started"
fi
return $retval
}
#---------- Oracle SQL*Net Listener
# Call this function for starting Oracle Listener
start_listener()
{
retval=0
# Oracle - Listener Starting
LISTENER_STATE=`$SAFEBIN/killit list tnslsnr`
if [ "$LISTENER_STATE" != "" ]; then
$SAFE/safekit printw "Oracle Listener already started"
return $retval
fi
$SAFE/safekit printw "Starting Oracle Listener"
/bin/su - $ORACLE_DBA -c "$ORACLE_HOME/bin/lsnrctl start" #> /dev/console 2>&1
if [ $? -ne 0 ] ; then
$SAFE/safekit printw "Oracle Listener start failed"
else
$SAFE/safekit printw "Oracle Listener started"
fi
return $retval
}
# stdout goes into Application log
echo "Running start_prim $*"
res=0
[ -z "$OSNAME" ] && OSNAME=`uname -s`
OSNAME=`uname -s`
case "$OSNAME" in
Linux)
AWK=/bin/awk
;;
*)
AWK=/usr/bin/awk
;;
esac
# stdout goes into Application log
echo "Running start_prim $*"
# TODO
# remove oracle boot start
# WARNING: all databases defined in /etc/oratab are started
#
# Clean Oracle residual processes and shared memory to start Oracle databases in a clean state
clean_oracle || res=$?
# Start Oracle databases
start_oracle || res=$?
# Start SQL*Net Listener Oracle
start_listener || res=$?
if [ $res -ne 0 ] ; then
$SAFE/safekit printi "start_prim failed"
# uncomment to stop SafeKit when critical
# $SAFE/safekit stop -i "start_prim"
fi
exit 0
stop_prim#!/bin/sh
# Script called on the primary server for stopping applications
# 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
#
#----------------------------------------------------------
#---------- Clean Oracle residual processes and shared memory
# Call this function on force stop
# to clean eventual resual Oracle processes and IPC
clean_oracle()
{
retval=0
$SAFE/safekit printw "Cleaning Oracle processes and shared memory"
# kill started Oracle databases
ps -e -o pid,comm |grep ora | $AWK '{print "kill -9 " $1}'| sh >/dev/null 2>&1
# delete oracle shared memory to start in a clean state
case $OSNAME in
Linux)
ipcs -m |grep oracle |$AWK '{print "shm "$2 | "xargs ipcrm"}' >/dev/null 2>&1
ipcs -s |grep oracle |$AWK '{print "sem "$2 | "xargs ipcrm"}' >/dev/null 2>&1
;;
*)
ipcs -m |grep oracle |$AWK '{print "-m "$2 | "xargs ipcrm"}' >/dev/null 2>&1
ipcs -s |grep oracle |$AWK '{print "-s "$2 | "xargs ipcrm"}' >/dev/null 2>&1
;;
esac
if [ -f $ORACLE_HOME/dbs/sgadef*.dbf ]; then
rm $ORACLE_HOME/dbs/sgadef*.dbf
fi
return $retval
}
#---------- Oracle SQL*Net Listener
# Call this function for stopping Oracle Listener
stop_listener()
{
retval=0
if [ "$1" = "force" ] ; then
# Oracle Listener force stop
$SAFEBIN/killit +KILL tnslsnr 1>/dev/null 2>&1
return $retval
fi
# Oracle - Listener stopping
LISTENER_STATE=`$SAFEBIN/killit list tnslsnr`
if [ "$LISTENER_STATE" = "" ]; then
$SAFE/safekit printw "Oracle Listener already stoppped"
return $retval
fi
$SAFE/safekit printw "Stopping Oracle Listener"
/bin/su - $ORACLE_DBA -c "$ORACLE_HOME/bin/lsnrctl stop" #> /dev/console 2>&1
if [ $? -ne 0 ] ; then
$SAFE/safekit printw "Oracle Listener stop failed"
else
$SAFE/safekit printw "Oracle Listener stopped"
fi
return $retval
}
#---------- Oracle databases
# Call this function for stopping Oracle databases
stop_oracle()
{
retval=0
if [ "$1" = "force" ] ; then
# Oracle databases force stop
clean_oracle
return $retval
fi
# Oracle databases gracefull stop
# First stop the startup - shutdown command if it is running
$SAFEBIN/killit +TERM dbstart dbshut> /dev/null 2>&1
# Kill oracle connections that prevent Oracle from stopping gracefully
ps -e -o pid,args |grep LOCAL=NO |$AWK '{print "kill " $1}'| sh > /dev/null 2>&1
ps -e -o pid,args |grep LOCAL=YES |$AWK '{print "kill " $1}'| sh > /dev/null 2>&1
$SAFE/safekit printw "Stopping Oracle databases"
/bin/su - $ORACLE_DBA -c "$ORACLE_HOME/bin/dbshut $ORACLE_HOME" #> /dev/console 2>&1
if [ $? -ne 0 ] ; then
$SAFE/safekit printw "Oracle databases stop failed"
else
$SAFE/safekit printw "Oracle databases stopped"
fi
return $retval
}
# stdout goes into Application log
echo "Running stop_prim $*"
res=0
[ -z "$OSNAME" ] && OSNAME=`uname -s`
case "$OSNAME" in
Linux)
AWK=/bin/awk
;;
*)
AWK=/usr/bin/awk
;;
esac
mode=
if [ "$1" = "force" ] ; then
mode=force
shift
fi
# WARNING: all databases defined in /etc/oratab are stopped
# Stop Oracle SQL*Net Listener
stop_listener $mode || res=$?
# Stop Oracle databases
stop_oracle $mode || res=$?
[ $res -ne 0 ] && $SAFE/safekit printi "stop_prim failed"
exit 0
Cluster miroir d'Evidian SafeKit avec réplication de fichiers temps réel et reprise sur panne | ||
Toutes les fonctionnalités de clustering | ![]() |
|
Réplication synchrone | ![]() |
|
Retour d'un serveur tombé en panne totalement automatisé (failback) | ![]() |
|
Réplication de n'importe quel type de données | ![]() |
|
Réplication de fichiers vs réplication de disque | ![]() |
|
Réplication de fichiers vs disque partagé | ![]() |
|
Sites distants | ![]() |
|
Quorum | ![]() |
|
Cluster actif/actif | ![]() |
|
Solution de haute disponibilité uniforme | ![]() |
|
Comparaison d'architectures de haute disponibilité | ||
Fonctionnalité | Cluster SafeKit | Autres clusters |
Cluster logiciel vs cluster matériel Plus d'information... | ![]() ![]() | ![]() ![]() ![]() |
Cluster de type "shared nothing"" vs cluster à disque partagé Plus d'information... | ![]() ![]() | ![]() ![]() |
Haute disponibilité applicative vs Haute disponibilité de machines virtuelles complètes Plus d'information... | ![]() ![]() Upgrade en douceur de l'application et de l'OS possible serveur par serveur (les versions N et N+1 peuvent coexister) | ![]() ![]() Upgrade en douceur impossible |
Haute disponibilité vs tolérance aux fautes | ![]() ![]() Exception logicielle avec redémarrage dans un autre environnement OS. Upgrade en douceur de l'application et de l'OS possible serveur par serveur (les versions N et N+1 peuvent coexister) | ![]() ![]() Exception logicielle sur les 2 serveurs en même temps. Upgrade en douceur impossible |
Réplication synchrone vs réplication asynchrone Plus d'information... | ![]() ![]() | ![]() ![]() |
Réplication de fichiers au niveau octet vs réplication de disque au niveau du bloc Plus d'information... | ![]() ![]() | ![]() ![]() |
Heartbeat, reprise sur panne et quorum pour éviter 2 serveurs maîtres Plus d'information... | ![]() ![]() | ![]() ![]() |
Load balancing réseau Plus d'information... | ![]() ![]() | ![]() ![]() |
1 - Logiciel OEM | 2 - Entreprise distribuée | 3 - Sites distants |
![]() | ![]() | ![]() |
Un éditeur de logiciel utilise SafeKit comme un logiciel OEM pour la haute disponibilité de son application | Une entreprise distribuée déploie SafeKit dans de nombreuses succursales, sans compétence informatique spécifique | SafeKit est déployé dans deux sites distants sans nécessiter de baies de disques répliqués à travers un SAN |
| ||
« SafeKit est le logiciel de clustering d’application idéal pour un éditeur logiciel. Nous avons actuellement déployé plus de 80 clusters SafeKit dans le monde entier avec notre application critique de télédiffusion. » | ||
| ||
« WithNCompany a déployé en Corée du Sud de nombreuses solutions de haute disponibilité SafeKit avec la plateforme de vidéo-surveillance de Hanwha. SafeKit est apprécié parce que le produit est facile à installer et très rapidement déployé. » | ||
| ||
« Grâce à la simplicité et la puissance du produit, nous avons gagné du temps dans l’intégration et la validation de nos projets critiques de supervision des lignes de métro à Paris et à Marseille (PCC / Poste de Commande et de Contrôle). » |
Dans les systèmes de vidéosurveillance, Evidian SafeKit implémente une haute disponibilité avec une réplication synchrone et un basculement sur panne pour :
Étude de cas : en Corée du Sud, WithNCompany déploie la haute disponibilité de la plateforme de vidéo-surveillance de Hanwha avec SafeKit.
Harmonic utilise SafeKit comme une offre de haute disponibilité logicielle OEM dans ses solutions de télédiffusion à travers la TNT, les satellites, le câble et les réseaux IP.
Plus de 80 clusters SafeKit sont déployés sur Windows avec réplication de la base de données d'Harmonic et reprise automatique de l'application critique en cas de panne.
Philippe Vidal, Responsable produit, Harmonic témoigne :
« SafeKit est le logiciel de clustering d’application idéal pour un éditeur logiciel qui cherche une solution de haute disponibilité simple et économique. Nous déployons SafeKit dans le monde entier et nous avons actuellement plus de 80 clusters SafeKit sur Windows avec notre application critique de télédiffusion à travers la TNT, les satellites, le câble et les réseaux IP. SafeKit réalise la réplication temps réel et continue de notre base de données et la reprise automatique de notre application sur panne logicielle et matérielle. »
La Compagnie Européenne de Garanties et Cautions chez Natixis utilise SafeKit comme solution de haute disponibilité de ses applications.
Plus de 30 clusters SafeKit sont déployés sur Unix et Windows chez Natixis.
Bernard Etienne, Responsable de production témoigne :
“La Compagnie Européenne de Garanties et Cautions gère des applications métiers critiques qui doivent rester disponibles face aux pannes matérielles et logicielles. En effet, nos applications déterminent si une caution peut être délivrée à un particulier contractant un prêt dans une banque ou à une entreprise qui a besoin d'une garantie sur un investissement. Nous avons retenu le produit SafeKit d'Evidian pour assurer la haute disponibilité de nos applications métiers pour 3 raisons principales. C'est un produit simple qui se met en œuvre sur deux serveurs standards. Il ne nécessite pas d'investir des composants matériels spécifiques et coûteux. Et c'est un produit riche qui permet de surveiller finement nos applications métiers et les reprendre en cas de panne matérielle et logicielle.”
Fives Syleps, l'éditeur de logiciel Sydel met en œuvre la haute disponibilité de son ERP SYDEL UNIVERS avec SafeKit et déploie la solution dans l'industrie agro-alimentaire.
Plus de 20 clusters SafeKit sont déployés sur Unix avec Oracle.
Didier Loncle, Directeur Informatique témoigne :
"Les entreprises automatisées que nous équipons s’appuient sur l’ERP SYDEL UNIVERS. Il n’est pas envisageable que notre ERP soit hors de service à cause d’une panne informatique. Sinon c’est l’ensemble de l’activité de l’entreprise qui s’arrête. Nous avons choisi la solution de haute disponibilité Evidian SafeKit car c’est une solution simple d’utilisation. Elle se met en œuvre sur des serveurs standard et ne contraint pas à utiliser des disques partagés sur un SAN et des boitiers réseau de partage de charge. Elle permet d’écarter les serveurs dans des salles machines distinctes. De plus, la solution est homogène pour les plateformes Linux et Windows. Et elle apporte 3 fonctionnalités : le partage de charge entre serveurs, la reprise automatique sur panne et la réplication temps réel des données."
Le fournisseur de solutions pour le contrôle aérien, Copperchase, déploie SafeKit pour la haute disponibilité de ses systèmes dans les aéroports.
Plus de 20 clusters SafeKit sont déployés sur Windows.
Tony Myers, Directeur Business Développement témoigne :
"En développant des applications pour le contrôle du trafic aérien, Copperchase est dans l'une des activités les plus critiques qui existent. Nous avons absolument besoin que nos applications soient disponibles tout le temps. Nous avons trouvé avec SafeKit une solution simple et complète de clustering qui répond parfaitement à nos besoins. Ce logiciel combine en un seul produit l'équilibrage de charge, la réplication de données en temps réel sans perte de données et le basculement automatique en cas de panne. C'est pourquoi, Copperchase déploie SafeKit dans les aéroports pour le contrôle du trafic aérien au Royaume-Uni et dans les 30 pays où nous sommes présents."
L'éditeur de logiciel Wellington IT spécialisé dans les banques coopératives déploie la solution de haute disponibilité SafeKit en Irlande et au Royaume-Uni avec son progiciel.
Plus de 25 clusters SafeKit sont déployés sur Linux avec Oracle.
Peter Knight, Directeur Commercial témoigne :
"La continuité d’activité et la résistance au désastre sont une préoccupation majeure pour nos clients utilisant notre application bancaire Locus déployée dans de nombreuses banques en Irlande et au Royaume-Uni. Nous avons trouvé avec SafeKit une solution simple et robuste pour assurer la haute disponibilité et la réplication synchrone et sans perte des données entre deux serveurs. Avec cette solution logicielle, nous ne sommes pas dépendants d’une solution de clustering matérielle spécifique et coûteuse. C’est un outil parfait pour fournir une option de haute disponibilité à une application développée par un éditeur logiciel."
La RATP choisit la solution de haute disponibilité et de load balancing SafeKit pour son poste de commande centralisé de la ligne 1 du métro parisien.
20 clusters SafeKit sont déployés sur Windows et Linux.
Stéphane Guilmin, Responsable de projets témoigne :
"Projet majeur au sein de la RATP, l’automatisation de la ligne 1 du métro 1 parisien impose que le poste commande centralisé (PCC) soit conçu pour résister aux pannes informatiques. Avec le produit SafeKit, nous avons trouvé trois avantages distinctifs répondant à ce besoin. Il s’agit d’abord d’une solution purement logicielle qui ne nous contraint pas à utiliser des disques partagés sur un SAN et des boitiers réseau de partage de charge. Nous pouvons très simplement séparer nos serveurs dans des salles machines distinctes. Ensuite, cette solution de clustering est homogène pour nos plateformes Windows et Linux. Et SafeKit nous apporte les trois fonctions dont nous avons besoin : le partage de charge entre serveurs, la reprise automatique sur panne et la réplication en temps réel des données."
Et également, Philippe Marsol, responsable d'intégration, Atos BU Transport, témoigne :
“SafeKit est un produit simple et puissant pour la haute disponibilité des applications. Nous avons intégré SafeKit dans nos projets critiques comme la supervision de la ligne 4 du métro Parisien (dans le PCC / Poste de Commande et de Contrôle) ou la ligne 1 et 2 à Marseille (dans le CSR / Centre de Supervision du Réseau). Grâce à la simplicité du produit, nous avons gagné du temps dans l'intégration et la validation de la solution et nous avons eu également des réponses rapides à nos questions avec une équipe Evidian réactive."
L'intégrateur de logiciels Systel déploie la solution de haute disponibilité SafeKit dans les centres d'appels des pompiers et du SAMU.
Plus de 30 clusters SafeKit sont déployés sur Windows avec SQL Server.
Marc Pellas, Président Directeur Général témoigne :
"SafeKit répond parfaitement aux besoins d'un éditeur logiciel. Son principal avantage est d'introduire la haute disponibilité via une option logicielle qui s'ajoute à notre propre suite logicielle multi-plateformes. Ainsi, nous ne sommes pas dépendants d'une solution de clustering matériel spécifique, coûteuse, complexe à installer, difficile à maintenir et différente suivant les environnements clients. Avec SafeKit, nos centres de pompiers sont déployés avec une solution de clustering logiciel intégrée avec notre application, uniforme chez tous nos clients, simple pour les utilisateurs et que nous maîtrisons totalement de l'installation jusqu'au support après vente."
La haute disponibilité de l'ERP de l'armée Française est réalisée avec SafeKit à la DGA.
14 clusters SafeKit sont déployés sur Windows et Linux.
Alexandre Barth, Administrateur système témoigne :
"Notre équipe de production a mis en œuvre sans difficulté la solution SafeKit sur 14 clusters Windows et Unix. Notre activité critique est ainsi sécurisée avec des fonctions de haute disponibilité et de partage de charge. Les avantages de ce produit sont d'une part la simplicité de mise en œuvre et d'administration des clusters et d'autre part, l'uniformité de la solution face aux systèmes d'exploitation hétérogènes."
This website uses cookies to improve your experience while you navigate through the website. Out of these cookies, the cookies that are categorized as necessary are stored on your browser as they are essential for the working of basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website. These cookies will be stored in your browser only with your consent. You also have the option to opt-out of these cookies. But opting out of some of these cookies may have an effect on your browsing experience.
Necessary cookies are absolutely essential for the website to function properly. This category only includes cookies that ensures basic functionalities and security features of the website. These cookies do not store any personal information.
Any cookies that may not be particularly necessary for the website to function and is used specifically to collect user personal data via analytics, ads, other embedded contents are termed as non-necessary cookies. It is mandatory to procure user consent prior to running these cookies on your website.