Rechercher sur SafeKit

Haute disponibilité Linux avec SafeKit : installer le module mirror.safe pour le basculement

Guide d’installation rapide de la haute disponibilité pour Linux

Ce guide explique comment configurer un cluster mirror pour Linux à 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.safe préconfiguré.

3. Configuration

  • Console Web : configurez les dossiers spécifiques contenant les fichiers Linux.
  • Surveillance : Commencez à surveiller et à protéger l’application Linux.

Limitations de la haute disponibilité SafeKit

Limite / ExigenceRaison et impactAlternative recommandée
Taille de la réplication : quelques ToTemps 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/Linux

La solution est décrite ici : **💡 La haute disponibilité Linux la plus simple : réplication synchrone et basculement à 2 nœuds.
**

Installation de la solution SafeKit/Linux (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 de paquets sous Linux

  • Installez la version gratuite de SafeKit sur 2 nœuds Linux. Remarque : la version d’essai 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.
  • Après le téléchargement du paquet 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 de la console Web et de l’utilisateur admin par défaut. Définissez le même mot de passe sur tous les nœuds.

Télécharger SafeKit (Linux) >

Remarque : le module générique mirror.safe que vous allez configurer est fourni dans le package.

Configuration pas à pas de la solution SafeKit/Linux

Prérequis

  • Linux 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 admin comme 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.

Démarrez la console web SafeKit pour configurer le cluster Linux

2. Configurer les adresses des nœuds

  • Entrez les adresses IP des nœuds, appuyez sur la Tab key pour 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 apply pour sauvegarder la configuration.
  • Vérifiez le message Success ✅ sur les deux nœuds.
  • Si l’ Failure de 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.

Saisissez les nœuds du cluster Linux

3. Sélectionnez un module

  • Dans New module, cliquez sur le module mirror.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.

Choisissez le module pour Linux

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é dans Monitored 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).

Accéder aux paramètres du module 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.ps1 démarre tous les services dans l’ordre spécifié dans la liste SERVICES, tandis que stop_prim.ps1 arrête tous les services dans l’ordre inverse.
  • De plus, start_prim.ps1 vérifie le démarrage de chaque service et arrête le module si un service ne démarre pas correctement.

Accéder aux paramètres du module Linux

6. Chiffrement des communications (facultatif)

  • Conservez le chiffrement des communications entre les nœuds.

Chiffrement de la communication du module de l’ Linux

7. Enregistrer et appliquer

  • Save and apply la configuration et les scripts sur les deux nœuds.

Enregistrez et appliquez la configuration du module Linux

8. Vérifier la réussite de la configuration

  • Vérifiez le message Success ✅ sur les deux nœuds et cliquez sur Monitor modules.
  • Si l’ Failure de 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.

Vérifier la réussite de la configuration du module Linux

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

Démarrez le nœud Linux en tant que nœud principal avec les données à jour

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_prim a é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 node1 pour 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_prim dans 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 🖼️.

Le premier nœud Linux démarre en tant que primaire et devient ALONE

11. Démarrer le nœud 2

  • ⋯ Start le 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.

Démarrez le nœud 2 Linux

12. Vérifiez que le cluster est opérationnel

  • Vérifiez que le cluster est vert/vert, que les services Linux 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 Linux 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).

Le nœud Linux 2 est SECOND (vert)

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 Linux (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 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 node2 pour 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_prim dans 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.

Arrêtez le module Linux sur le serveur PRIM

14. Assistance

  • Pour obtenir de l’aide, prenez 2 Snapshots SafeKit (2 fichiers .zip), un pour chaque nœud.

ℹ️ Plus d’informations sur l’assistance ici.

Prenez des captures d’écran Linux pour obtenir de l’aide

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

  1. 🎬 2 nœuds avec SQL Server (0:32)
  2. 🎬 Configurer le cluster et le module mirror.safe (3:58)
  3. 🎬 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

🔍 Explorez SafeKit

Trouvez des informations sur les fonctionnalités, les architectures, les vidéos, la documentation et l’essai gratuit de SafeKit.

RessourceDescriptionLien
Caractéristiques principalesDécouvrez pourquoi SafeKit est une solution de haute disponibilité simple et économique.Découvrez les fonctionnalités clés
Cas d’utilisationDécouvrez comment SafeKit assure la disponibilité des applications et des infrastructures critiques.Explorez les cas d’utilisation
Modèle de déploiementSafeKit 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 techniquesConsultez les exigences et les limitations techniques des clusters SafeKit.Lisez les spécifications techniques
VidéosRegardez des démonstrations de la configuration de SafeKit et du basculement automatique.Regardez les vidéos techniques
ArchitectureDécouvrez comment le cluster mirror réplique les fichiers en temps réel et gère le basculement.Découvrez l’architecture Mirror
ArchitectureDécouvrez comment le cluster farm équilibre le trafic réseau et gère le basculement.Découvrez l’architecture Farm
Comparaison de produitsComparez SafeKit aux clusters de haute disponibilité.Comparer les solutions
Ressources techniquesTrouvez 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’applicationUtilisez les modules SafeKit préconfigurés pour configurer la haute disponibilité de vos applications.Explorez les modules de l’application
SafeKit AI Chat SafeKit AI