Haute disponibilité Windows avec SafeKit : installez le module mirror.safe pour le basculement
Guide d’installation rapide de la haute disponibilité pour Windows
Ce guide explique comment configurer un cluster mirror pour Windows à l’aide de SafeKit, assurant un basculement automatique et une réplication synchrone sans avoir besoin d’un stockage partagé.
Pour obtenir de l’aide, vous pouvez utiliser SafeKit AI 🤖.
1. Vue d’ensemble
- Architecture : utilise un système à deux nœuds (principal/secondaire).
- Protection des données : implémente la réplication synchrone en temps réel pour une perte de données nulle (RPO = 0).
2. Installation
- Logiciel : Installez le moteur SafeKit sur les deux serveurs.
- Module : Téléchargez le module d’application
mirror.safepréconfiguré.
3. Configuration
- Console Web : configurez les dossiers spécifiques contenant les fichiers Windows.
- Surveillance : Commencez à surveiller et à protéger l’application Windows.
Limitations de la haute disponibilité SafeKit
| Limite / Exigence | Raison et impact | Alternative recommandée |
|---|---|---|
| Taille de la réplication : quelques To | Temps de resynchronisation après une défaillance (étape 3) : • Réseau à 1 Gb/s ≈ 3 heures/To • Réseau 10 Gb/s ≈ 1 heure/To (selon les performances d’écriture du disque) | • Utiliser un stockage partagé externe (plus coûteux, plus complexe). |
| Nombre de fichiers : < 1 000 000 | • Performance du temps de resynchronisation après une panne (étape 3). • Temps nécessaire pour comparer chaque fichier entre les deux nœuds. | • Placez les nombreux fichiers à répliquer dans un disque dur virtuel/une machine virtuelle. • Dans ce cas, seuls les fichiers représentant le disque dur virtuel ou la machine virtuelle seront répliqués et resynchronisés. |
| Capacité de basculement : ≤ 32 machines virtuelles | • Chaque machine virtuelle s’exécute dans un module mirror indépendant. • Maximum de 32 modules mirror fonctionnant sur le même cluster. | • Utiliser un stockage partagé externe et une autre solution de clustering de machines virtuelles (plus coûteuse et plus complexe). |
| Architecture réseau : réseau LAN/VLAN entre sites distants | • Basculement automatique de l’adresse IP virtuelle avec 2 nœuds dans le même sous-réseau. • Bonne bande passante pour la resynchronisation (étape 3). • Faible latence pour la réplication synchrone : généralement < 5 ms RTT ; les valeurs plus élevées doivent être validées par rapport au taux d’écriture de l’application. | • Si les deux nœuds se trouvent dans des sous-réseaux différents (ce qui est courant dans le cloud), utilisez d’autres options de réacheminement : un équilibreur de charge, des CLI de fournisseur de cloud, BGP ou une redirection DNS. • Utilisez des solutions de sauvegarde avec réplication asynchrone pour les réseaux à latence élevée. |
Présentation de la solution SafeKit/Windows
La solution est décrite ici : 💡 La haute disponibilité la plus simple Windows : réplication synchrone et basculement à 2 nœuds
Installation sur les solutions SafeKit/Windows (mirror.safe)
Prérequis
- L’application que vous souhaitez redémarrer dans SafeKit doit être installée sur 2 nœuds (machines virtuelles ou serveurs physiques).
Installation du paquet sous Windows
- Téléchargez et installez la version gratuite de SafeKit sur 2 nœuds Windows.
Remarque : la version gratuite inclut toutes les fonctionnalités SafeKit. À la fin de la période d’essai, vous pouvez activer des clés de licence permanentes sans désinstaller le package. - Une fois l’installation du package terminée, sélectionnez Définir les informations d’identification de la console et les règles du pare-feu maintenant et configurez un mot de passe pour l’utilisateur admin de la console SafeKit.
Définissez le même mot de passe sur tous les nœuds. - Excluez de l’analyse antivirus C:/safekit/ (le répertoire d’installation par défaut) et tous les dossiers répliqués que vous allez définir.
Les antivirus peuvent rencontrer des difficultés de détection avec SafeKit en raison de son intégration étroite avec le système d’exploitation, des mécanismes d’IP virtuelle, de la réplication en temps réel et du redémarrage des services critiques.
Télécharger SafeKit (Windows) >
Remarque : le module générique mirror.safe que vous allez configurer est fourni dans le package.
Configuration pas à pas de la solution SafeKit/Windows
Prérequis
- Windows installée sur 2 nœuds.
- Les données répliquées sont limitées à quelques téraoctets. Au-delà, le temps de resynchronisation devient important.
- Interconnexion d’au moins 1 Gb/s entre les nœuds (10 Gb/s recommandé pour une resynchronisation plus rapide).
- Le basculement IP nécessite que les deux nœuds soient sur le même LAN ou LAN étendu (L2) — les réseaux L3 routés ne sont pas pris en charge (sauf avec les équilibreurs de charge 🛠️ cloud).
1. Lancez la console SafeKit
- Lancez la console web dans un navigateur sur un nœud du cluster en vous connectant à
http://localhost:9010. - Saisissez
admincomme nom d’utilisateur et le mot de passe défini lors de l’installation.
Vous pouvez également exécuter la console dans un navigateur sur un poste de travail externe au cluster.
⚠️ La configuration de SafeKit s’effectue sur les deux nœuds à partir d’un seul navigateur.
ℹ️ Pour sécuriser la console web, consultez 🛠️ 11. Sécuriser le service web SafeKit dans le Guide de l’utilisateur.

2. Configurer les adresses des nœuds
- Entrez les adresses IP des nœuds, appuyez sur la
Tab keypour vérifier la connectivité et remplissez les noms des nœuds. Si node1 ou node2 est de couleur rouge, vérifiez la connectivité du navigateur aux deux nœuds et vérifiez le pare-feu sur les deux nœuds pour le dépannage 🛠️. - Cliquez ensuite sur
Save and applypour sauvegarder la configuration. - Vérifiez le message
Success✅ sur les deux nœuds. - Si l’
Failurede configuration ❌ se produit sur un nœud, ouvrez l’accordéon ▼ pour ce nœud et consultez les messages. Notez que vous pouvez utiliser l’IA SafeKit 🤖 pour obtenir de l’aide.
ℹ️ Si vous le souhaitez, vous pouvez ajouter un nouveau LAN and nodes (premier ➕) pour créer un deuxième heartbeat et un réseau de réplication dédié.
ℹ️ Si vous cliquez sur Advanced configuration, le fichier cluster.xml s’affiche. Ce fichier est automatiquement renseigné par la console et déployé sur les nœuds.

3. Sélectionnez un module
- Dans
New module, cliquez sur le modulemirror.safe.
ℹ️ Dans la bannière bleue en haut, le nœud 🛜 node1 représente le nœud de connexion de la console. Ce nœud relaie les requêtes vers le node2 si nécessaire.
ℹ️ La console recherche xxx.safe dans le répertoire Application_Modules/generic/ sur le nœud de connexion (node1) si vous y avez placé un module lors de l’installation.

4. Configurer le module
- Dans
Module startup at boot, choisissez un démarrage automatique du module au démarrage sans délai. - Dans
Macros/SERVICES, saisissez les noms des services de votre application, dans l’ordre de démarrage, séparés par des virgules. Consultez cette capture d’écran pour un exemple visuel des services Milestone XProtect 🖼️. - Dans
Heartbeat networks, vous devez avoir un seul réseau de pulsation sur lequel la réplication est effectuée. Si vous avez ajouté un LAN local privé à l’étape 2, vous pouvez configurer deux pulsations avec le flux de réplication sur le LAN local privé. - Dans
Virtual IP addresses, 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 d’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 commutée en cas de défaillance. - Dans
Replicated directories, définissez les chemins d’accès des répertoires à répliquer. Vérifiez qu’ils existent sur les deux nœuds et qu’ils contiennent les données de l’application.
La réplication des données et des journaux est essentielle pour une base de données.
Vous pouvez créer des répertoires répliqués supplémentaires selon vos besoins.
Consultez cette capture d’écran pour un exemple visuel de la réplication SQL Milestone XProtect 🖼️. - Dans
Checkers, vous pourrez configurer des vérificateurs si nécessaire, tels que la surveillance des processus, les vérificateurs personnalisés, TCP, ping ou les vérificateurs de scission du cerveau.
Par exemple, si un nom de processus est affiché dansMonitored processes/services, il sera surveillé avec une action de redémarrage en cas de défaillance. La configuration d’un nom de processus incorrect entraînera l’arrêt du module juste après son démarrage.
ℹ️ Si vous cliquez sur Advanced configuration, le fichier userconfig.xml s’affiche. Ce fichier est automatiquement renseigné par la console et déployé sur les nœuds avec les scripts de redémarrage.
ℹ️ Dans un déploiement cloud, vous n’avez pas besoin de configurer une adresse IP virtuelle dans SafeKit. L’IP virtuelle est gérée au niveau de l’équilibreur de charge du 🛠️ cloud.
ℹ️ Lorsque vous appliquez la configuration SafeKit, le startup type des services est automatiquement défini sur Manual dans les services Windows. Cela garantit que les services ne démarrent pas automatiquement au démarrage du système, mais qu’ils ne sont démarrés que lorsque le module lui-même est démarré (il en va de même sous Linux).

5. Modifier les scripts (facultatif)
- Cette étape est facultative et peut être ignorée dans la plupart des cas, car les scripts de redémarrage sont déjà préconfigurés pour redémarrer les services définis à l’étape précédente.
- Cliquez donc directement sur
Next step. start_prim.ps1démarre tous les services dans l’ordre spécifié dans la listeSERVICES, tandis questop_prim.ps1arrête tous les services dans l’ordre inverse.- De plus,
start_prim.ps1vérifie le démarrage de chaque service et arrête le module si un service ne démarre pas correctement.

6. Chiffrement des communications (facultatif)
- Conservez le chiffrement des communications entre les nœuds.

7. Enregistrer et appliquer
Save and applyla configuration et les scripts sur les deux nœuds.

8. Vérifier la réussite de la configuration
- Vérifiez le message
Success✅ sur les deux nœuds et cliquez surMonitor modules. - Si l’
Failurede configuration ❌ se produit sur un nœud, ouvrez l’accordéon ▼ pour ce nœud et consultez les messages. Notez que vous pouvez utiliser l’IA SafeKit 🤖 pour obtenir de l’aide.
⚠️ Sous Linux, vous pouvez obtenir une erreur à cette étape si les répertoires répliqués sont des points de montage. 🛠️ Consultez SK-0030 pour résoudre le problème.

9. Démarrer le nœud avec des données à jour
- Si le nœud 1 possède les répertoires répliqués à jour, sélectionnez-le et ⋯
Force start▶As primary.
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 risquez de synchroniser des données obsolètes sur les deux nœuds.
⚠️ Il est également supposé que l’application Windows est arrêtée sur le nœud 1 afin que SafeKit installe les mécanismes de réplication, puis démarre l’application dans le script start_prim.
⚠️ Utilisez Start pour les démarrages suivants : SafeKit conserve le serveur le plus à jour. Démarrer As primary est un démarrage spécial la première fois ou lors d’opérations exceptionnelles.

10. Attendez la transition vers ALONE (vert)
- Le nœud 1 doit atteindre l’état ALONE (vert), ce qui signifie que l’IP virtuelle est définie et que le script
start_prima été exécuté sur le nœud 1.
⚠️ Si ALONE (vert) n’est pas atteint ou si l’application n’est pas démarrée, analysez la raison avec le journal du module 🖼️ du nœud 1.
- Cliquez sur l’icône de journal 🔍 du
node1pour ouvrir le journal du module et recherchez les messages d’erreur, tels qu’un vérificateur détectant une erreur et arrêtant le module. - Cliquez sur
start_primdans le journal : les messages de sortie du script sont affichés à droite et les erreurs peuvent être détectées, comme un service mal démarré. - Utilisez l’IA SafeKit 🤖 pour obtenir de l’aide concernant les messages du journal.
⚠️ Si le cluster est dans l’état WAIT (red) not uptodate, STOP (red) not uptodate, arrêtez le nœud WAIT et forcez son démarrage en tant que primaire 🖼️.

11. Démarrer le nœud 2
- ⋯
Startle nœud 2 avec son menu contextuel. - Attendez le SECOND état (vert).
ℹ️ Le nœud 2 reste dans le SECOND état (orange) pendant la resynchronisation des répertoires répliqués (copie du nœud 1 vers le nœud 2).
- Cette opération 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 journal du module 🖼️ et les ressources de réplication 🖼️ du nœud 2. Utilisez l’IA SafeKit 🤖 pour obtenir de l’aide concernant les messages du journal.

12. Vérifiez que le cluster est opérationnel
- Vérifiez que le cluster est vert/vert, que les services Windows s’exécutent sur le nœud PRIM et qu’ils ne s’exécutent pas sur le nœud SECOND.
Dans cet état, seules les modifications apportées aux fichiers sont répliquées en temps réel.
⚠️ Les composants qui sont des clients des services Windows 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).

13. Tests
- Arrêtez le nœud PRIM en faisant défiler son menu contextuel vers le bas et en cliquant sur
Stop. - Vérifiez qu’il y a un basculement sur le SECOND nœud qui devrait devenir ALONE (vert).
- Et avec la console d’administration Microsoft (MMC) sous Windows ou avec des lignes de commande sur Linux, vérifiez le basculement des services Windows (arrêtés sur le nœud 1 dans le script
stop_primet démarrés sur le nœud 2 dans le scriptstart_prim).
⚠️ Si ALONE (vert) n’est pas atteint sur node2 ou si l’application n’est pas démarrée, analysez la raison avec le journal du module 🖼️ du nœud 2.
- Cliquez sur l’icône de journal 🔍 du
node2pour ouvrir le journal du module et recherchez les messages d’erreur, tels qu’un vérificateur détectant une erreur et arrêtant le module. - Cliquez sur
start_primdans le journal : les messages de sortie du script sont affichés à droite et les erreurs peuvent être détectées, comme un service mal démarré. - Utilisez l’IA SafeKit 🤖 pour obtenir de l’aide concernant les messages du journal.
⚠️
- Si tout est correct, lancez une synchronisation sur node1, ce qui resynchronisera les répertoires répliqués à partir node2.
- Si les choses tournent mal, arrêtez node2 et forcez le nœud 1 à démarrer en tant que primaire 🖼️, qui redémarrera avec ses données localement saines au moment de l’arrêt.
ℹ️ Retrouvez plus de détails, ainsi que des vidéos, dans la formation en ligne SafeKit.

14. Assistance
- Pour obtenir de l’aide, prenez 2
SnapshotsSafeKit (2 fichiers .zip), un pour chaque nœud.
ℹ️ Plus d’informations sur l’assistance ici.

Démonstration de la solution mirror SafeKit
Vidéo SafeKit : Clustering au niveau de l’application (8:47)
Dans cette vidéo, découvrez comment SafeKit implémente un cluster HA mirror sans la complexité d’un SAN. Bien que cette démonstration utilise Microsoft SQL Server, la solution fonctionne de manière identique pour d’autres bases de données et applications.
Chapitres
- 🎬 2 nœuds avec SQL Server (0:32)
- 🎬 Configurer le cluster et le module mirror.safe (3:58)
- 🎬 Démarrer et tester la réplication, la migration et le basculement SQL en cas de panne (4:17)
Mise en œuvre étape par étape
- 🛠️ Lisez le guide sur la configuration d’un cluster mirror sous Windows
- 🛠️ Lisez le guide sur la configuration d’un cluster mirror sous Linux
🔍 Explorez SafeKit
Trouvez des informations sur les fonctionnalités, les architectures, les vidéos, la documentation et l’essai gratuit de SafeKit.
| Ressource | Description | Lien |
|---|---|---|
| Caractéristiques principales | Découvrez pourquoi SafeKit est une solution de haute disponibilité simple et économique. | Découvrez les fonctionnalités clés |
| Cas d’utilisation | Découvrez comment SafeKit assure la disponibilité des applications et des infrastructures critiques. | Explorez les cas d’utilisation |
| Modèle de déploiement | SafeKit assure une haute disponibilité sans SAN ni stockage partagé. | Explorez le modèle de déploiement |
| Stratégies de haute disponibilité | Comparez la haute disponibilité des machines virtuelles avec la haute disponibilité des applications. | Comparez les deux stratégies |
| Spécifications techniques | Consultez les exigences et les limitations techniques des clusters SafeKit. | Lisez les spécifications techniques |
| Vidéos | Regardez des démonstrations de la configuration de SafeKit et du basculement automatique. | Regardez les vidéos techniques |
| Architecture | Découvrez comment le cluster mirror réplique les fichiers en temps réel et gère le basculement. | Découvrez l’architecture Mirror |
| Architecture | Découvrez comment le cluster farm équilibre le trafic réseau et gère le basculement. | Découvrez l’architecture Farm |
| Comparaison de produits | Comparez SafeKit aux clusters de haute disponibilité. | Comparer les solutions |
| Ressources techniques | Trouvez la documentation technique, téléchargez SafeKit et accédez à la version d’essai gratuite. | Accéder à la documentation et à l’essai gratuit |
| Modules d’application | Utilisez les modules SafeKit préconfigurés pour configurer la haute disponibilité de vos applications. | Explorez les modules de l’application |