Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Installation et configuration d'un groupe de disponibilité permanent dans SQL Server

SQL Server nous fournit un certain nombre de solutions de haute disponibilité et de reprise après sinistre qui aident à rendre les données qui servent les systèmes critiques disponibles le plus longtemps possible avec le moins de temps d'arrêt possible. Ces solutions de haute disponibilité et de reprise après sinistre fournies par Microsoft SQL Server sont décrites dans l'article Journal des transactions SQL Server et solutions de haute disponibilité.

Dans cet article, nous montrerons comment installer et configurer un site de groupe de disponibilité et le configurer pour répondre aux exigences de l'entreprise. Mais commençons par un bref aperçu de la fonctionnalité Groupe de disponibilité permanent pour se familiariser avec elle.

Aperçu

Le groupe de disponibilité SQL Server Always-on, introduit dans la version SQL Server 2012, est une solution de haute disponibilité et de récupération d'urgence au niveau de l'entreprise qui repose sur la fonctionnalité de clustering de basculement Windows Server, dans laquelle une ou plusieurs bases de données peuvent agir comme un groupe de disponibilité et basculé comme une seule unité.

Le groupe de disponibilité est un conteneur pour un ensemble de bases de données qui sont hébergées dans un réplica principal, contient la copie en lecture-écriture des bases de données et synchronisées avec jusqu'à huit réplicas secondaires, contiennent une copie en lecture seule de ces bases de données.

Comme alternative à la fonctionnalité de mise en miroir de bases de données, Always on Availability Group peut être utilisé pour réduire la charge sur l'instance principale en configurant les réplicas secondaires pour gérer la charge de travail en lecture seule et les opérations de sauvegarde. De cette manière, le groupe de disponibilité Always-on peut être utilisé pour améliorer la disponibilité des bases de données et améliorer l'utilisation des ressources SQL Server pour tous les réplicas.

Le processus de synchronisation entre les réplicas du groupe de disponibilité peut être effectué dans l'un des deux modes de disponibilité pris en charge :

  • Mode de validation synchrone :Dans ce mode de disponibilité, le réplica principal attendra que les réplicas secondaires, jusqu'à deux réplicas secondaires synchrones, confirment l'écriture du journal dans leur fichier journal des transactions de base de données, avant de le valider sur le réplica principal. Ce mode de disponibilité augmente le niveau de disponibilité des données par rapport au prix de la latence des transactions.
  • Mode de validation asynchrone :Ce mode de disponibilité est principalement utilisé pour se synchroniser avec les réplicas de reprise après sinistre, qui sont distribués sur des centres de données éloignés, où le réplica principal n'attendra pas les réplicas secondaires, pour confirmer le renforcement du journal pour valider la transaction du côté principal, fournissant moins de données niveau de disponibilité et réduction de la latence des transactions.

Le processus de basculement des groupes de disponibilité permanents, dans lequel le rôle principal sera modifié entre les réplicas, peut être effectué manuellement par l'administrateur de la base de données ou automatiquement par le serveur SQL lui-même en cas de défaillance au niveau du serveur, en tenant compte du fait que cela le basculement ne se produira pas en cas de problèmes au niveau de la base de données tels que la corruption de la base de données.

Pour chaque groupe de disponibilité, un nom de serveur peut être créé pour permettre aux clients de se connecter directement au réplica principal ou aux réplicas en lecture seule sans rappeler les noms et rôles d'instance SQL Server sous-jacents au sein du groupe de disponibilité. Ce nom de serveur est appelé Écouteur de groupe de disponibilité .

Scénario de démonstration

Après avoir fourni une brève introduction à la fonctionnalité Groupe de disponibilité permanent, nous sommes prêts à configurer un groupe de disponibilité et à le configurer correctement. Dans cette démo, nous allons créer un groupe de disponibilité pour répliquer la base de données AdventureWorks2017 entre deux instances SQL Server ; SQL1 et SQL2, avec SQL Server 2017 déjà installé sur ces serveurs.

À des fins de test et de démonstration, les services SQL Server dans les instances SQL1 et SQL2 s'exécutent sous le compte de service ay\sqladmin, qui dispose des autorisations appropriées sur ces instances SQL Server.

Mise en route

Comme mentionné dans la présentation de cet article, la fonctionnalité Groupe de disponibilité permanent est construite sur la fonctionnalité de cluster de basculement Windows Server. Nous devons donc créer un site de clustering de basculement sur lequel nous définirons le site du groupe de disponibilité.

Créer un cluster de basculement

Tout d'abord, nous devons nous assurer que la fonctionnalité de clustering de basculement est installée sur tous les réplicas qui participeront au site du groupe de disponibilité. Cela peut être effectué en ouvrant le tableau de bord du gestionnaire de serveur sur chaque réplica et en choisissant l'option Ajouter des rôles et des fonctionnalités dans le menu Gérer, puis en vérifiant et en installant le cluster de basculement fonctionnalité de ces assistants, comme indiqué ci-dessous :

Après avoir installé la fonctionnalité de clustering de basculement, ouvrez le Gestionnaire de cluster de basculement fenêtre dans l'un des réplicas, en utilisant un compte d'administrateur local autorisé avec des privilèges d'administrateur de domaine qui lui permettent de créer ce nom de cluster dans le répertoire actif, et cliquez sur Créer un cluster option, comme ci-dessous :

À partir de l'assistant de création de cluster ouvert , consultez les instructions fournies dans la section Avant de commencer fenêtre, puis cliquez sur Suivant pour continuer :

Sur la page suivante, indiquez le nom ou l'adresse IP des répliques qui participeront au groupe de disponibilité, puis cliquez sur Suivant pour continuer :

Après cela, vous devez spécifier si vous souhaitez exécuter le test de validation du cluster, pour valider que les ressources disponibles sur ces serveurs sont compatibles avec la fonctionnalité de clustering de basculement, avant de créer ou non le cluster de basculement. Il est toujours recommandé d'effectuer le test de validation à cette étape avant d'essayer de créer le site du cluster de basculement.

Cela vous dirigera vers l'assistant Valider un assistant de configuration . Dans la première page de l'assistant de validation, vérifiez les instructions de l'assistant et cliquez sur Suivant pour continuer :

Après cela, vous devez spécifier si vous souhaitez exécuter toutes les validations du cluster de basculement, ce qui est l'option recommandée, ou sélectionner des tests spécifiques plus rapides. Dans cette démo, nous allons utiliser l'option recommandée par Microsoft et effectuer tous les tests de validation, puis cliquer sur Suivant pour continuer :

Et vous pouvez passer en revue les tests de validation qui seront effectués dans cet assistant de validation et confirmer pour continuer en cliquant sur Suivant , comme suit :

Une fois le processus de validation terminé, vous pouvez cliquer sur le bouton Afficher le rapport pour examiner le résultat du test de validation ou l'exporter vers un autre ingénieur pour résoudre tout problème rencontré, ou cliquer sur Terminer directement pour lancer le processus de création du cluster, comme ci-dessous :

Pour l'instant, nous avons vérifié que nos serveurs sont compatibles avec les exigences de la fonctionnalité Failover Clustering et nous pouvons continuer à créer le site Failover Clustering. Dans le point d'accès pour l'administration du cluster fenêtre, fournissez un nom unique et une adresse IP pour le cluster de basculement, puis cliquez sur Suivant pour continuer :

Après cela, passez en revue les paramètres de création de cluster que vous fournissez et assurez-vous de supprimer la coche à côté de Ajouter tout le stockage éligible au cluster , car la fonctionnalité Always on Availability Group fonctionne en utilisant un stockage dédié pour chaque serveur et PAS stockage partagé. Si vous êtes d'accord avec les paramètres, cliquez sur Suivant pour continuer :

Une fois le site de clustering de basculement créé avec succès, l'assistant vous avertira par un message que le site de clustering de basculement est complètement créé, comme ci-dessous :

Vous pouvez vérifier que le site du cluster de basculement est créé avec succès en ouvrant le gestionnaire de cluster de basculement, qui vous montrera le site de cluster créé et tous les composants de ce cluster comme indiqué ci-dessous :

Afin de maintenir le site du cluster de basculement dans le meilleur mode de disponibilité, vous devez configurer le quorum du cluster qui contrôle quand garder le cluster de basculement en ligne ou le mettre hors ligne en fonction des votes des nœuds et des ressources. Pour configurer le quorum de cluster, cliquez avec le bouton droit sur le nom du cluster, sous le gestionnaire de cluster de basculement, et choisissez Configurer les paramètres de quorum de cluster l'option Plus d'actions menu, comme ci-dessous. Pour des informations détaillées sur les paramètres de quorum qui conviennent à la fonctionnalité Always on Availability Group, consultez les modes de quorum du cluster de basculement Windows dans SQL Server Always On Availability Groups :

Activer la fonctionnalité de groupe de disponibilité Always on

Après avoir créé le cluster de basculement, sur lequel le groupe de disponibilité sera créé, nous devons activer la fonctionnalité Groupe de disponibilité toujours actif et le connecter au site du cluster de basculement qui sera utilisé.

Pour activer la fonctionnalité Groupe de disponibilité permanent, ouvrez le Gestionnaire de configuration SQL Server -> Services SQL Server, puis cliquez avec le bouton droit sur le service SQL Server et choisissez l'option Propriétés. Dans la fenêtre des propriétés du service SQL Server, accédez à la disponibilité permanente page et cochez la case "Activer toujours sur les groupes de disponibilité », sous le nom du cluster de basculement détecté automatiquement, comme indiqué ci-dessous :

Tenez compte du fait que cette modification doit être effectuée sur tous les réplicas qui participeront au groupe de disponibilité et prendra effet après le redémarrage du service SQL Server, comme ci-dessous :

Créer un nouveau groupe de disponibilité permanent

Après avoir activé la fonctionnalité Always-on Availability Group, nous allons commencer à créer le nouveau groupe de disponibilité en développant le nœud Always-on High Availability, sous l'explorateur d'objets SSMS, puis cliquer avec le bouton droit sur le nœud Groupes de disponibilité et choisir le Nouveau Assistant Groupe de disponibilité , comme indiqué ci-dessous :

La première page de l'assistant Nouveau groupe de disponibilité est la page d'introduction, dans laquelle vous pouvez trouver une brève description des étapes qui seront effectuées dans cet assistant pour créer un nouveau groupe de disponibilité. Passez en revue le résumé fourni, puis cliquez sur Suivant pour continuer :

Dans Spécifier les options du groupe de disponibilité fenêtre, vous devez spécifier le nom du groupe de disponibilité, le type de cluster, en fonction de la version de SQL Server et du système d'exploitation utilisé sur les réplicas, où vous pouvez choisir parmi le clustering de basculement Windows Server , non-Windows EXTERNAL cluster ou AUCUN si aucun cluster n'est utilisé.

Cette page vous permet également d'activer la détection de l'intégrité au niveau de la base de données option, qui vérifie quand une base de données n'est plus en ligne, effectue le basculement automatique du groupe de disponibilité et active les transactions distribuées dans les groupes de disponibilité pour chaque base de données, comme indiqué ci-dessous :

Après cela, vous devez sélectionner la ou les bases de données qui participeront à ce groupe de disponibilité. L'assistant vérifiera les pré-demandes de la base de données afin d'être ajoutée au groupe de disponibilité, y compris le modèle de récupération complète de la base de données et qu'une sauvegarde complète est effectuée à partir de cette base de données avant de l'ajouter. Après avoir rempli les conditions requises pour que la ou les bases de données soient incluses, actualisez la liste des bases de données, vérifiez la base de données, puis cliquez sur Suivant pour continuer :

Sur la page suivante, sous les Répliques , vous devez ajouter tous les réplicas SQL Server qui participeront à ce groupe de disponibilité et héberger une copie des bases de données incluses. Après avoir ajouté les répliques, vous pouvez choisir jusqu'à trois instances à configurer avec le mode de disponibilité de validation synchrone et autoriser le basculement automatique entre ces répliques et le reste des répliques qui seront configurées avec le mode de validation asynchrone. Vous pouvez également décider de configurer chaque réplica comme secondaire accessible en lecture pour les connexions en lecture seule ou comme réplica lisible d'intention de lecture pour gérer la charge de travail en lecture seule dirigée automatiquement par l'écouteur, comme indiqué ci-dessous :

Dans l'onglet Points de terminaison, vérifiez les paramètres des points de terminaison de connexion qui seront utilisés pour la communication entre les répliques, où vous devez vous assurer que le port TCP utilisé est activé dans les règles de pare-feu de toutes les répliques et que le compte de service fourni a Autorisation de connexion sur le point de terminaison des répliques, comme ci-dessous :

Dans l'onglet Préférences de sauvegarde, vous devez spécifier l'emplacement où les tâches de sauvegarde seront exécutées dans le groupe de disponibilité. Il vous permet d'effectuer une sauvegarde automatique à partir du réplica secondaire en tant qu'option préférée, du secondaire en tant que must, du principal en tant que must ou de n'importe quel réplica. Sur la base de cette option, vous pouvez créer le plan de maintenance pour effectuer une sauvegarde des bases de données participant au groupe de disponibilité, comme ci-dessous :

Dans la même fenêtre, vous pouvez également définir les paramètres de l'écouteur du groupe de disponibilité, sous la page Ecouteur ou continuer sans créer l'écouteur pour l'instant et effectuer la création plus tard. Dans cette démo, nous allons configurer l'écouteur après avoir créé le groupe de disponibilité, comme indiqué ci-dessous :

En outre, vous pouvez utiliser la page Routage en lecture seule pour définir la liste de routage en lecture seule, qui est utilisée pour contrôler la charge de travail en lecture seule dans les secondaires. Pour plus d'informations, consultez Comment configurer le routage en lecture seule pour un groupe de disponibilité dans SQL Server 2016 :

Sur la page suivante, vous devez spécifier le mécanisme qui sera utilisé pour le processus initial de synchronisation des données entre les réplicas primaires et secondaires, avec la possibilité d'effectuer la synchronisation automatiquement ou manuellement en joignant le secondaire au groupe de disponibilité et de synchroniser les bases de données plus tard manuellement.

Il existe deux méthodes de synchronisation automatique disponibles dans cet assistant, la première consiste à spécifier un dossier partagé pour copier temporairement les sauvegardes complètes et du journal des transactions et effectuer la restauration automatiquement, que nous utiliserons ici dans cette démo, ou utiliser une méthode d'amorçage direct sans sauvegarde, comme décrit dans le groupe de disponibilité SQL Server 2016 Always On avec amorçage direct :

Pour utiliser la sauvegarde complète de la base de données et des journaux méthode, nous devons créer un dossier partagé et fournir les comptes de services SQL Server pour les répliques des autorisations de lecture et d'écriture sur ce dossier, comme indiqué ci-dessous :

Après cela, l'assistant Nouveau groupe de disponibilité effectuera une vérification de validation pour toute la configuration avant de poursuivre le processus de création du groupe de disponibilité. S'il y a une erreur, vous pouvez la corriger directement, puis actualisez la page et cliquez sur Suivant pour continuer :

À l'étape finale, l'assistant vous fournira un résumé de toutes les configurations de l'assistant pour l'examiner, puis cliquez sur Terminer pour commencer à créer le groupe de disponibilité, comme ci-dessous :

Une fois l'assistant terminé, il vous montrera le résultat de chaque étape et s'il y a une erreur rencontrée. Sinon, il affichera un message indiquant que le groupe de disponibilité a été créé avec succès sans problème, comme indiqué ci-dessous :

Vous pouvez également valider que le groupe de disponibilité Always on est créé et configuré avec succès à l'aide de l'explorateur d'objets SSMS, en vérifiant que la ou les bases de données participantes sont dans un état synchronisé dans toutes les répliques et que les répliques et les bases de données sont en ligne sous Always-on. Nœud haute disponibilité, comme illustré ci-dessous :

Vous pouvez également vous connecter au réplica principal, avec le mot principal à côté du nom du groupe de disponibilité, et consulter la page des propriétés du groupe de disponibilité, avec la possibilité d'effectuer les mêmes tâches que celles que nous avons effectuées dans l'assistant Nouveau groupe de disponibilité, telles que l'ajout de nouveaux réplicas. , en ajoutant une nouvelle base de données, en modifiant la configuration de chaque réplique, en modifiant les préférences de sauvegarde et en définissant une liste de routage en lecture seule, comme indiqué ci-dessous :

Créer un écouteur de groupe de disponibilité permanent

La dernière étape de la configuration du groupe de disponibilité consiste à créer l'écouteur du groupe de disponibilité qui sera utilisé lors de la connexion aux réplicas principal et secondaire sans spécifier le nom du réplica.

Pour créer l'écouteur de groupe de disponibilité, cliquez avec le bouton droit sur le nœud Écouteur de groupe de disponibilité sous le nœud de groupe de disponibilité créé et choisissez Ajouter un écouteur option. À partir du Nouvel écouteur de groupe de disponibilité ouvert fenêtre, indiquez le nom de cet écouteur, le port TCP qui sera utilisé pour se connecter à cet écouteur et l'adresse IP statique qui sera attribuée à l'écouteur, puis cliquez sur OK pour le créer. Lorsque l'écouteur est créé avec succès, la fenêtre se ferme automatiquement et le nom de l'écouteur s'affiche sous le nœud Écouteur, comme indiqué ci-dessous :

Pour vous connecter au groupe de disponibilité à l'aide du nom de l'écouteur, fournissez le nom ou l'adresse IP de l'écouteur avec le numéro de port TCP dans la connexion au serveur et il se connectera directement au nœud principal, comme indiqué ci-dessous :

Tester le processus de basculement

Après avoir testé la connexion à l'écouteur du groupe de disponibilité et aux réplicas, nous devons effectuer un test important pour le basculement, pour nous assurer que le rôle principal sera déplacé entre les réplicas sans aucun problème, et que les bases de données seront accessibles et en l'état synchronisé après le basculement.

Pour effectuer un basculement manuel, cliquez avec le bouton droit sur le nom du groupe de disponibilité et choisissez le Basculement option, comme ci-dessous :

La première page du groupe de disponibilité de basculement L'assistant est la page d'introduction, qui fournit un résumé des actions pouvant être effectuées dans cet assistant. Passez en revue l'introduction et cliquez sur Suivant pour continuer :

Dans la page suivante, sélectionnez le nœud qui agira en tant que nouveau réplica principal, en vous assurant qu'aucune perte de données ne se produira lors de l'opération de basculement, puis cliquez sur Suivant pour continuer :

Après cela, vous devez vous connecter au nouveau réplica principal que vous sélectionnez afin de vous assurer que ce réplica est en ligne et accessible, comme indiqué ci-dessous :

Passez ensuite en revue vos choix dans l'assistant de basculement dans la page de résumé et cliquez sur Terminer pour lancer le processus de basculement :

Une fois le basculement terminé, consultez la page des résultats pour vous assurer qu'aucun problème n'a été rencontré pendant le processus de basculement, comme ci-dessous :

À partir de l'explorateur d'objets SSMS, le rôle du réplica SQL1 sera modifié directement en secondaire, comme indiqué ci-dessous :

Dans cet article, nous avons décrit en détail les étapes à suivre pour préparer la création du site du groupe de disponibilité et comment créer et configurer le site du groupe de disponibilité Always-on. Dans le prochain article, nous verrons comment résoudre les problèmes que vous pourriez rencontrer avec un site de groupe de disponibilité existant. Restez à l'écoute.