Comment le logiciel Evidian SafeKit met en œuvre simplement la haute disponibilité de PostgreSQL ?
La solution apportée à PostgreSQL
Evidian SafeKit apporte la haute disponibilité à PostgreSQL entre deux serveurs redondants avec réplication temps réel des données et basculement automatique.
Cet article explique comment mettre en œuvre rapidement un cluster PostgreSQL sans disque partagé et sans compétences spécifiques.
Un produit générique
Notez que SafeKit est un produit générique sous Windows et Linux.
Vous pouvez implémenter avec le même produit la réplication en temps réel et le basculement de n'importe quel répertoire de fichiers et service, de base de données, de machines virtuelles Hyper-V ou KVM complètes, d'applications Docker, Kubernetes, Cloud.
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.
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...
Comment fonctionne le cluster miroir de SafeKit avec PostgreSQL ?
Etape 1. Réplication en temps réel
Le serveur 1 (PRIM) exécute l'application PostgreSQL. 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.
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 PostgreSQL. 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.
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.
La réintégration du serveur 1 se fait sans arrêter l'exécution de l'application PostgreSQL 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 PostgreSQL qui s'exécute sur le serveur 2 et avec réplication temps réel des modifications vers le serveur 1.
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.
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 PostgreSQL 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.
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.
Solution pour une nouvelle application (pas de script de redémarrage à écrire) : Windows/Hyper-V, Linux/KVM
Utilisation typique avec SafeKit
Pourquoi une réplication de quelques Tera-octets ?
Utilisez des solutions de backup avec réplication asynchrone pour un réseau à latence élevée.
Essai gratuit de SafeKit + module miroir pour PostgreSQL + guide d'installation rapide
Guide d'installation rapide de SafeKit avec PostgreSQL
Prérequis
Vous avez besoin de PostgreSQL installé sur 2 nœuds (machines virtuelles ou serveurs physiques).
Sous Windows, avec le gestionnaire de services Windows, placez les services PostgreSQL avec Boot Startup Type = Manual sur les deux nœuds. p>
SafeKit contrôle le démarrage des services PostgreSQL dans les scripts de redémarrage. Editez les scripts de redémarrage lors de la configuration pour vérifier si vous avez mis tous les services en démarrage manuel, y compris les nouveaux que vous pouvez ajouter.
Installation du package sous Windows
Téléchargez la version gratuite de SafeKit sur 2 nœuds Windows.
Remarque : la version gratuite inclut toutes les fonctionnalités de SafeKit. À la fin de l'essai, vous pouvez activer des clés de licence permanentes sans désinstaller le package.
Pour ouvrir le pare-feu Windows, sur les deux nœuds démarrez un powershell en tant qu'administrateur et tapez
c:/safekit/private/bin/firewallcfg add
Pour initialiser le mot de passe de l'utilisateur admin par défaut de la console, sur les deux nœuds démarrez un powershell en tant qu'administrateur et tapez
Installez la version gratuite de SafeKit sur 2 nœuds Linux.
Remarque : l'essai gratuit inclut toutes les fonctionnalités de SafeKit. À la fin de l'essai, vous pouvez activer des clés de licence permanentes sans désinstaller le package.
Après le téléchargement du package safekit_xx.bin, exécutez-le pour extraire le rpm et le script safekitinstall, puis exécutez le script safekitinstall
Répondez oui à la configuration automatique du pare-feu
Définissez le mot de passe pour la console Web et l'utilisateur par défaut admin. Définissez le même mot de passe sur les deux nœuds
Ensuite, cliquez sur Apply pour enregistrer la configuration.
Si la couleur d'arrière-plan du nœud 1 ou du nœud 2 est rouge, vérifiez la connectivité du navigateur aux deux nœuds et vérifiez le pare-feu sur les deux nœuds pour résoudre le problème.
Cette opération placera les adresses IP dans le fichier cluster.xml sur les deux nœuds (plus d'information dans la formation avec la ligne de commande).
3. Choisissez le module
Dans l'onglet Configuration, cliquez sur le module postgresql.safe.
La console trouve xxx.safe dans le répertoire 'Application_Modules/demo/' côté serveur si vous y avez déposé un module lors de l'installation.
4. Configurez le module
Choisissez un démarrage automatique du module au boot sans délai.
Normalement, vous disposez d'un seul réseau heartbeat sur lequel la réplication est effectuée. Mais, vous pouvez définir un réseau privé si nécessaire.
Vérifiez que les répertoires répliqués sont installés sur les deux nœuds et contiennent les données de l'application.
La réplication des données ainsi que des journaux est requise pour une base de données.
Vous pouvez ajouter de nouveaux répertoires répliqués si nécessaire.
Entrez une adresse IP virtuelle. Une adresse IP virtuelle est une adresse IP standard dans le même réseau IP (même sous-réseau) que les adresses IP des deux nœuds.
Les clients de l'application doivent être configurés avec l'adresse IP virtuelle (ou le nom DNS associé à l'adresse IP virtuelle).
L'adresse IP virtuelle est automatiquement basculée en cas de panne.
start_prim et stop_prim doivent contenir le démarrage et l'arrêt de l'application PostgreSQL.
Vous pouvez ajouter de nouveaux services dans ces scripts.
Vérifiez que les noms des services dans ces scripts sont ceux installés sur les deux nœuds, sinon modifiez-les dans les scripts.
Arrêtez les services configurés dans start_prim sur les deux nœuds.
Sous Windows et sur les deux nœuds, avec le gestionnaire de services Windows, définissez Boot Startup Type = Manual pour tous les services enregistrés dans start_prim (SafeKit contrôle le démarrage des services dans start_prim).
Notez que si un nom de processus est affiché dans Process Checker, il sera surveillé avec une action de redémarrage en cas de panne. La configuration d'un nom de processus erroné entraînera l'arrêt du module juste après son démarrage.
Cette opération reportera la configuration dans les fichiers userconfig.xml, start_prim, stop_prim sur les deux nœuds (plus d'informations dans le training avec la ligne de commande).
5. Vérifiez le succès de la configuration
Vérifiez le message de réussite (vert) sur les deux nœuds et cliquez sur Next.
Si le nœud 1 a les répertoires répliqués à jour, sélectionnez-le et démarrez-le.
Lorsque le nœud 2 sera démarré, toutes les données seront copiées du nœud 1 vers le nœud 2.
Si vous faites le mauvais choix, vous courez le risque de synchroniser des données obsolètes sur les deux nœuds.
On suppose également que l'application PostgreSQL est stoppée sur le noeud 1 afin que SafeKit installe les mécanismes de réplication puis lance l'application dans le script start_prim.
7. Attendez le passage à ALONE (vert)
Le nœud 1 doit atteindre l'état ALONE (vert), ce qui signifie que le script start_prim a été exécuté sur le nœud 1.
Si le statut est ALONE (vert) et que l'application n'est pas démarrée, vérifiez les messages de sortie de start_prim dans l'Application Log du nœud 1.
Si le nœud 1 n'atteint pas l'état ALONE (vert), analysez pourquoi avec le Module Log du nœud 1.
Le nœud 2 reste dans l'état SECOND (magenta) pendant la resynchronisation des répertoires répliqués (copie du nœud 1 vers le nœud 2).
Cela peut prendre un certain temps en fonction de la taille des fichiers à resynchroniser dans les répertoires répliqués et de la bande passante du réseau.
Pour voir la progression de la copie, consultez le Module Log du nœud 2 avec l'option verbose sans oubliez de rafraichir la fenêtre.
9. Vérifiez que le cluster est opérationnel
Vérifiez que le cluster est vert/vert avec les services PostgreSQL exécutés sur le nœud PRIM et ne s'exécutant pas sur le nœud SECOND.
Seules les modifications à l'intérieur des fichiers sont répliquées en temps réel dans cet état.
Les composants clients des services PostgreSQL doivent être configurés avec l'adresse IP virtuelle. La configuration peut se faire avec un nom DNS (si un nom DNS a été créé et associé à l'adresse IP virtuelle).
10. Testez
Arrêtez le nœud PRIM en faisant défiler son menu contextuel et en cliquant sur Stop.
Vérifiez qu'il y a un basculement sur le nœud SECOND qui doit devenir ALONE (vert).
Et avec la Microsoft Management Console (MMC) sous Windows ou avec des lignes de commande sous Linux, vérifiez le basculement des services PostgreSQL (arrêtés sur le nœud 1 dans le script stop_prim et démarrés sur le nœud 2 dans le script start_prim).
Si l'application PostgreSQL n'est pas démarrée sur le nœud 2 alors que l'état est ALONE (vert ), vérifiez les messages de sortie du script start_prim dans l'Application Log du nœud 2.
Si ALONE (vert) n'est pas atteint, analysez pourquoi avec le Module Log du nœud 2.
Dans l'onglet Advanced Configuration, vous pouvez modifier les fichiers internes du module : bin/start_prim et bin/stop_prim et conf/userconfig.xml.
Si vous apportez des modifications dans les fichiers internes, vous devez appliquer la nouvelle configuration par un clic droit sur l'icône/xxx sur le côté gauche (voir image) : l'interface vous permettra de redéployer les fichiers sur les deux serveurs.
<!DOCTYPE safe>
<safe>
<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 -->
<!-- Replace
* VIRTUAL_TO_BE_DEFINED by the name 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">
<!-- PostgreSQL Server -->
<proc name="pg_ctl.exe" atleast="1" action="restart" class="prim" />
</errd>
<!-- File Replication Configuration -->
<!-- Replicate
* C:\Program Files\PostgreSQL\9.5\data\ default directory path of PostgreSQL database and redo log
-->
<rfs async="second" acl="off" nbrei="3">
<replicated dir="C:\Program Files\PostgreSQL\9.5\data\" mode="read_only" />
</rfs>
<!-- User scripts activation -->
<user nicestoptimeout="300" forcestoptimeout="300" logging="userlog" />
</service>
</safe>
start_prim.cmd on Windows
@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 postgresql-9.5 > nul
if not %errorlevel% == 0 (%SAFE%\safekit printi "PostgreSQL start failed")
else (%SAFE%\safekit printi "PostgreSQL started")
if %res% == 0 goto end
:stop
set res=%errorlevel%
"%SAFE%\safekit" printe "start_prim failed"
rem uncomment to stop SafeKit when critical
rem "%SAFE%\safekit" stop -i "start_prim"
:end
stop_prim.cmd on Windows
@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 postgresql-9.5 > nul
%SAFE%\safekit printi "PostgreSQL stopped"
rem wait a little for a real stop of services
%SAFEBIN%\sleep 10
:end
Démonstrations de solutions de redondance et de haute disponibilité
Webinaire SafeKit
Ce webinaire présente en 2 minutes Evidian SafeKit.
Dans ce webinaire, vous comprendrez les clusters ferme et miroir de SafeKit.
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.
Le produit très simple à déployer pour un revendeur
« Noemis, distributeur à valeur ajoutée de la vidéosurveillance Milestone, a aidé les intégrateurs à déployer la solution de redondance SafeKit sur de nombreux projets tels que la surveillance des villes, les datacenters, les stades et autres infrastructures critiques. SafeKit est un excellent produit et Evidian fournit un excellent support. »
Le produit qui fait gagner du temps à un intégrateur de systèmes
Gestion vidéo, contrôle d’accès, gestion des bâtiments [+]
La sécurité des personnes est directement associée à la bonne exécution des logiciels de sécurité. C’est pourquoi, ils ont besoin de redondance et de haute disponibilité. SafeKit est reconnu comme la solution de redondance la plus simple par nos partenaires qui l’ont déployée avec :
“SafeKit d’Evidian est une solution professionnelle facilitant la redondance du logiciel de vidéo Milestone. La solution est facile à déployer, facile à maintenir et peut être ajoutée à une installation existante. Nous avons assisté des intégrateurs pour déployer la solution sur de nombreux projets tels que la surveillance urbaine, les centres de données, les stades et d’autres infrastructures critiques. SafeKit est un excellent produit, et Evidian fournit un excellent support.”
Télévision numérique [+]
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.
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. »
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.”
Plus de 20 clusters SafeKit sont déployés sur Linux et Windows avec Oracle.
Fives Syleps témoigne :
“Les entreprises automatisées que nous équipons s’appuient sur notre ERP. 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.”
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.”
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.”
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.”
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.”
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.”
Différentiateurs de la solution de haute disponibilité SafeKit par rapport à la concurrence
Différenciateurs clés d'un cluster miroir avec réplication et reprise sur panne
Cluster miroir d'Evidian SafeKit avec réplication de fichiers temps réel et reprise sur panne
Le logiciel de haute disponibilité SafeKit sur Windows et Linux permet d'économiser sur :
les stockages partagés ou répliqués externes coûteux,
les boîtiers de load balancing,
les éditions entreprise des OS et des bases de données
SafeKit offre toutes les fonctionnalités de clustering par logiciel : réplication de fichiers temps réel synchrone, surveillance des défaillances serveur / réseau / logiciel, redémarrage automatique de l'application, adresse IP virtuelle basculée en cas de panne pour rerouter les clients
La configuration du cluster est très simple et réalisée au moyen de modules applicatifs. De nouveaux services et de nouveaux répertoires répliqués peuvent être ajoutés à un module applicatif existant pour compléter une solution de haute disponibilité
Toute la configuration des clusters se fait à l'aide d'une console d'administration web centralisée simple
Il n'y a pas de contrôleur de domaine ou d'Active Directory à configurer comme avec Microsoft cluster
Suite à une panne lorsqu'un serveur reboot, le retour du serveur tombé en panne se fait de manière totalement automatique dans le cluster avec une resynchronisation de ses données et sans arrêter l'application sur le seul serveur restant
Ce n'est pas le cas avec la plupart des solutions de réplication particulièrement celles avec une réplication au niveau base de données. Des opérations manuelles sont requises pour resynchroniser le serveur défaillant. Il peut être même nécessaire d'arrêter l'application sur le seul serveur restant
La réplication est basée sur des répertoires de fichiers qui peuvent être localisés n'importe où (même dans le disque système)
Ce n'est pas le cas avec la réplication de disque où une configuration spéciale de l'application est nécessaire pour placer les données applicatives dans un disque spécial
Toutes les fonctionnalités de clustering SafeKit fonctionnent pour 2 serveurs sur des sites distants. La réplication requiert un réseau de type LAN étendu (latence = performance de la réplication synchrone, bande passante = performance de la resynchronisation après panne).
Si les deux serveurs sont connectés au même réseau IP via un réseau local étendu entre deux sites distants,
l'adresse IP virtuelle de SafeKit fonctionne avec une redirection au niveau 2
Si les deux serveurs sont connectés à deux réseaux IP différents entre deux sites distants, l'adresse IP virtuelle peut être configurée au niveau d'un load balancer avec le "health check" de SafeKit.
La solution fonctionne avec seulement 2 serveurs et pour le quorum (isolation réseau entre 2 sites),
un simple split brain checker vers un routeur est offert pour supporter une seule exécution de l'application critique
Ce n'est pas le cas pour la plupart des solutions de clustering où un 3ième serveur est nécessaire pour le quorum
Le serveur secondaire n'est pas dédié au redémarrage du serveur primaire. Le cluster peut être actif-actif en exécutant deux modules miroirs différents
Ce n'est pas le cas avec un système fault-tolerant dans lequel le secondaire est dédié à l'exécution de la même application synchronisée au niveau instruction
SafeKit implémente un cluster miroir avec une réplication et une reprise sur panne. Mais il implémente aussi
un cluster ferme avec load balancing et reprise sur panne.
Ainsi une architecture N-tiers peut-être rendue hautement disponible et load balancée avec la même solution sur Windows et Linux (même installation, configuration, administration avec la console SafeKit ou les commandes en ligne). Ceci est unique sur le marché
Ce n'est pas le cas avec une architecture mixant des technologies différentes pour le load balancing, la réplication et la reprise sur panne
SafeKit met en œuvre un redémarrage rapide de l'application en cas de panne : autour d'1 mn ou moins
Un redémarrage rapide de
l'application n'est pas assuré avec une réplication complète de machines virtuelles. En cas de panne d'un hyperviseur, une machine virtuelle doit être rebootée sur un nouvel hyperviseur avec un temps de redémarrage lié au reboot de l'OS comme avec VMware HA ou Hyper-V cluster
Différenciateurs clés d'un cluster ferme avec équilibrage de charge et reprise sur panne
Cluster ferme d'Evidian SafeKit avec load balancing et reprise sur panne
La solution ne nécessite pas de load balancer, ni de serveur proxy en amont de la ferme pour implémenter le load balancing.
SafeKit est installé directement sur les serveurs applicatifs à load balancer. Le load balancing est basé sur une adresse IP virtuelle/adresse MAC Ethernet standard et fonctionne avec des serveurs physiques et des machines virtuelles sur Windows et Linux sans configuration réseau spéciale
Ce n'est pas le cas avec les load balancers réseau
Ce n'est pas le cas avec les proxys dédiés sur Linux
La solution inclut toutes les fonctionnalités de clustering : adresse IP virtuelle, load balancing sur adresse IP client ou sur sessions, surveillance des défaillances serveurs / réseaux / logicielles, redémarrage automatique de l'application avec un temps de reprise rapide, une option de réplication avec un module miroir
Ce n'est pas le cas avec les autres solutions de load balancing. Elles sont capables de réaliser le load balancing mais elle n'inclut pas une solution de clustering complète
avec des scripts de redémarrage et un redémarrage automatique de l'application en cas de défaillance. Elles n'offrent pas l'option de réplication
La configuration du cluster est très simple et réalisée au moyen de modules applicatifs. Il n'y a pas de contrôleur de domaine et d'Active Directory à configurer sur Windows. La solution fonctionne sur Windows et Linux
Si les serveurs sont connectés au même réseau IP via un réseau local étendu entre des sites distants,
l’adresse IP virtuelle de SafeKit fonctionne avec un équilibrage de charge au niveau 2
Si les serveurs sont connectés à des réseaux IP différents entre des sites distants, l'adresse IP virtuelle peut être configurée au niveau d'un load balancer à l'aide du "health check" de SafeKit. Ainsi, vous pouvez profiter de toutes les fonctionnalités de clustering de SafeKit, notamment la surveillance et la reprise automatique de l'application critique sur les serveurs applicatifs
SafeKit implémente un cluster ferme avec load balancing et reprise sur panne. Mais il implémente aussi un cluster miroir avec réplication et reprise sur panne.
Ainsi une architecture N-tiers peut-être rendue hautement disponible et load balancée avec la même solution sur Windows et Linux (même installation, configuration, administration avec la console SafeKit ou avec les commandes en ligne). Ceci est unique sur le marché
Ce n'est pas le cas avec une architecture mixant des technologies différentes pour le load balancing, la réplication et la reprise sur panne
Différenciateurs clés de la technologie de haute disponibilité SafeKit
La haute disponibilité applicative supporte les pannes matérielles et logicielles avec un temps de reprise rapide (RTO autour d'1 mn ou moins)
La haute disponibilité applicative nécessite de définir des scripts de redémarrage par application et des dossiers à répliquer (modules applicatifs SafeKit).
La haute disponibilité de machines virtuelles complètes (VM) supporte seulement les pannes matérielles avec un reboot de la VM et un temps de reprise dépendant du reboot de l'OS.
Pas de scripts de redémarrage à définir avec des machines virtuelles complètes en haute disponibilité (modules SafeKit hyperv.safe ou kvm.safe). Les hyperviseurs sont actif/actif avec simplement plusieurs machines virtuelles.
Chaque serveur peut être le serveur de reprise de l'autre serveur.
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)
Serveur secondaire dédié à l'exécution de la même application synchronisée au niveau instruction.
Exception logicielle sur les 2 serveurs en même temps.
Upgrade en douceur impossible
SafeKit met en œuvre la réplication de fichiers temps réel au niveau octet et se configure simplement avec les répertoires applicatifs à répliquer même dans le disque système
La réplication de disque au niveau bloc est complexe à configurer et nécessite de mettre les données de l'application dans un disque spécial
Pour éviter 2 serveur maîtres, SafeKit propose un simple "split brain checker" configuré sur un routeur
Pour éviter 2 serveur maîtres, les autres clusters demandent une configuration complexe avec une 3ième machine, un disque de quorum spécial, une interconnexion spéciale
Aucun serveur proxy dédié et aucune configuration réseau particulière ne sont requis dans un cluster SafeKit pour mettre en œuvre des adresses IP virtuelles
Une configuration réseau spéciale est requise dans d'autres clusters pour mettre en œuvre des adresses IP virtuelles. A noter que SafeKit propose un vérificateur d'état adapté aux équilibreurs de charge