Rechercher sur SafeKit

Haute disponibilité Microsoft SQL Server avec SafeKit : installer le module sqlserver.safe pour le basculement

Guide d’installation rapide de la haute disponibilité pour Microsoft SQL Server

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

3. Configuration

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

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/Microsoft SQL Server

Pour une présentation détaillée de la solution, consultez 💡 La haute disponibilité la plus simple Microsoft SQL Server : réplication synchrone et basculement à 2 nœuds.

Installation de la solution SafeKit/Microsoft SQL Server sous Windows (sqlserver.safe)

Prérequis

  • Vous devez avoir Microsoft SQL Server installé sur 2 nœuds (machines virtuelles ou serveurs physiques).

  • SafeKit fonctionne avec toutes les versions de SQL, y compris SQL Express.

  • Les bases de données système SQL (comme master.mdf et mastlog.ldf) doivent se trouver dans les mêmes répertoires sur les deux nœuds. Les répertoires seront configurés comme répliqués à l’étape 4 de la configuration étape par étape.

  • SQL doit également être installé au même emplacement dans le système de fichiers sur les deux nœuds, car la base de données de ressources SQL en lecture seule est située dans le fichier binaire et est nécessaire pour le basculement. Cette base de données n’a pas besoin d’être répliquée.

  • Les bases de données utilisateur SQL (.mdf et .ldf) doivent se trouver dans les mêmes répertoires sur les deux nœuds. Les répertoires seront configurés comme répliqués à l’étape 4 de la configuration étape par étape.

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) >

Installation du module sous Windows

  • Téléchargez le module sqlserver.safe. Le module est gratuit. Il contient les fichiers userconfig.xml et les scripts de redémarrage.
  • Placez sqlserver.safe dans C:/safekit/Application_Modules/generic.

Télécharger sqlserver.safe (Windows) >

Configuration pas à pas de la solution SafeKit/Microsoft SQL Server

Prérequis

  • Microsoft SQL Server 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 Microsoft SQL Server

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 Microsoft SQL Server

3. Sélectionnez un module

  • Dans New module, cliquez sur le module sqlserver.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 Microsoft SQL Server

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 Microsoft SQL Server

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 Microsoft SQL Server

6. Chiffrement des communications (facultatif)

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

Chiffrement de la communication du module de l’ Microsoft SQL Server

7. Enregistrer et appliquer

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

Enregistrez et appliquez la configuration du module Microsoft SQL Server

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 Microsoft SQL Server

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 Microsoft SQL Server 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 Microsoft SQL Server 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 Microsoft SQL Server 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 Microsoft SQL Server

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

  • Vérifiez que le cluster est vert/vert, que les services Microsoft SQL Server 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 Microsoft SQL Server 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 Microsoft SQL Server 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 Microsoft SQL Server (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 Microsoft SQL Server 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 Microsoft SQL Server 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