Groupes de disponibilité AlwaysOn pour la haute

publicité
Guide de l'architecture AlwaysOn : création d'une solution de haute
disponibilité et de récupération d'urgence utilisant les groupes de
disponibilité AlwaysOn
Article technique SQL Server
Auteurs : Joseph Sack (SQLskills.com), Sanjay Mishra (Microsoft)
Relecteurs techniques : Lindsey Allen (MS), Juergen Thomas (MS), Mike Weiner (MS), Prem
Mehra (MS), Yorihito Tada (MS), Curt Matthews (MS), Amitabh Tamhane (MS), Aditya Samant
(MS), Daniel Janik (MS), Jimmy May (MS), David P Smith (ServiceU), Richard Waymire (SolidQ),
Brent Ozar (Brent Ozar PLF), Wolfgang Kutschera (bwin.party), Paul S. Randal (SQLskills.com),
Gianluca Hotz (SolidQ), Ayad Shammout (Caregroup)
Responsable du contenu : Glenn Minch (Microsoft)
Date de publication : juin 2012
S'applique à : SQL Server 2012
Résumé : les groupes de disponibilité SQL Server 2012 AlwaysOn offrent une solution unique
de haute disponibilité et de récupération d'urgence (HADR) qui optimise et harmonise les
fonctionnalités héritées utilisées jusqu'ici. Avant SQL Server 2012, plusieurs clients utilisaient la
mise en miroir de bases de données pour fournir une haute disponibilité locale dans un centre
de données, et la copie des journaux de transaction pour la récupération d'urgence sur un centre
de données distant. Avec SQL Server 2012, ce modèle de conception standard peut être remplacé
par une architecture qui utilise des groupes de disponibilité pour la haute disponibilité et la
récupération d'urgence à la fois. Ce document décrit les principales conditions de topologie
requises pour ce modèle de conception spécifique, notamment les éléments à prendre en
considération pour la configuration du quorum, les étapes nécessaires pour créer l'environnement,
et un flux de travail qui permet de gérer un événement de récupération d'urgence dans la topologie.
Copyright
Ce document est fourni « en l'état ». Les informations et les opinions exprimées dans ce document,
y compris les adresses URL et les autres références à des sites Internet, peuvent faire l'objet de
modifications sans préavis. Vous assumez tous les risques liés à son utilisation.
Certains exemples mentionnés dans ce document ne sont fournis qu'à titre indicatif et sont fictifs.
Toute ressemblance ou similitude avec des éléments réels est purement fortuite et involontaire.
Ce document ne vous concède aucun droit de propriété intellectuelle portant sur les produits Microsoft.
Vous pouvez copier et utiliser ce document à titre de référence pour un usage interne.
© 2012 Microsoft. Tous droits réservés.
2
Sommaire
Introduction .................................................................................................................................................. 4
Architecture héritée : Mise en miroir de bases de données pour la haute disponibilité et copie
des journaux de transaction pour la récupération d'urgence ...................................................................... 4
Groupes de disponibilité AlwaysOn pour la haute disponibilité et la récupération d'urgence .................... 5
Planification du déploiement et éléments à prendre en compte ................................................................ 6
Conditions préalables pour la topologie ................................................................................................... 6
Unité de basculement ............................................................................................................................... 7
Éléments à prendre en compte pour remplacer la copie des journaux de transaction ........................... 7
Modèle de quorum et votes de nœud...................................................................................................... 7
Outils pour afficher ou modifier le modèle de quorum et les votes de nœud ..................................... 9
Configurer le mode de quorum WSFC ................................................................................................ 10
Utilisation des vues de gestion dynamique (DMV) et du tableau de bord AlwaysOn
pour afficher les informations de quorum.......................................................................................... 10
Configurer les votes de nœud ............................................................................................................. 12
Connectivité client .................................................................................................................................. 13
Chaînes de connexion pour la mise en miroir de bases de données héritée ..................................... 13
Écouteur de groupe de disponibilité................................................................................................... 13
Prise en charge des connexions à plusieurs sous-réseaux.................................................................. 13
Générer la solution de groupe de disponibilité .......................................................................................... 14
Éléments à prendre en considération pour l'analyse ................................................................................. 20
Récupération après sinistre ........................................................................................................................ 21
Rebasculer sur le centre de données principal ........................................................................................... 25
Conclusion ................................................................................................................................................... 28
Références .................................................................................................................................................. 28
Annexe A : Exemple de groupes de disponibilité HA/DR à 3 centres de données ..................................... 29
3
Introduction
Microsoft SQL Server 2012 AlwaysOn offre plusieurs choix de conception pour que vous puissiez choisir
la solution de haute disponibilité (HA) et de récupération d'urgence (DR) la mieux adaptée à votre
application. Il existe plusieurs modèles de conception pour générer des solutions HA et DR SQL
Server 2012 AlwaysOn. Ce livre blanc décrit une solution qui utilise les groupes de disponibilité
AlwaysOn pour la haute disponibilité et la récupération d'urgence. C'est une solution essentiellement
basée sur le stockage non partagé, car chaque instance de SQL Server dans la topologie possède sa
propre copie des données, et n'a pas besoin de partager le stockage. Pour plus d'informations sur les
choix de conception, consultez Modèles de conception pour la haute disponibilité et la récupération
d'urgence SQL Server 2012 AlwaysOn.
Avant SQL Server 2012, une architecture de déploiement HA et DR standard impliquait l'utilisation
de la mise en miroir de bases de données pour la haute disponibilité locale et la copie des journaux de
transaction pour la récupération d'urgence distante. Avec SQL Server 2012, des groupes de disponibilité
avec plusieurs serveurs secondaires peuvent remplacer la solution héritée qui utilise la mise en miroir
de bases de données et la copie des journaux de transaction.
Ce document décrit les éléments à prendre en compte pour la planification et vous guide à travers
les étapes nécessaires pour créer des groupes de disponibilité répondant aux exigences de haute
disponibilité et de récupération d'urgence. Il décrit également les étapes nécessaires à la récupération
d'urgence, et explique comment revenir au centre de données principal une fois qu'il a été restauré.
Vous devez avoir une connaissance de base des concepts liés aux groupes de disponibilité AlwaysOn,
à la haute disponibilité et à la récupération d'urgence pour saisir le contenu de ce document. Pour plus
d'informations sur les fonctionnalités complètes de la solution AlwaysOn, consultez le livre blanc Guide
de solutions Microsoft SQL Server AlwaysOn pour la haute disponibilité et la récupération d'urgence.
Le public visé par ce livre blanc comprend les administrateurs de base de données SQL Server et les
architectes des technologies. Ce document est également utile pour les administrateurs système qui
collaborent avec les administrateurs de base de données pour gérer Windows Server, les services de
domaine Active Directory (AD DS), les clusters de basculement Windows Server (WSFC), et la mise en réseau.
Architecture héritée : Mise en miroir de bases de données pour la haute
disponibilité et copie des journaux de transaction pour la récupération
d'urgence
Avant SQL Server 2012, l'architecture de déploiement SQL Server la plus utilisée par les clients impliquait
la mise en miroir de bases de données pour la haute disponibilité dans le centre de données principal, et
la copie des journaux de transaction pour la récupération d'urgence entre plusieurs centres de données.
Pour cette solution, la mise en miroir de bases de données est configurée dans le centre de données
principal. Pour un basculement automatique, il convient de configurer la mise en miroir de bases de
données en mode synchrone avec un témoin (une troisième instance de SQL Server). Si vous ne pouvez
tolérer aucune perte de données, le paramètre de mode haute sécurité de la mise en miroir de bases de
données (synchrone) est activé pour garantir qu'aucune perte de données n'est possible entre les deux
serveurs situés dans le centre de données principal. Pour améliorer la disponibilité de la base de données
dans le centre de données principal, une troisième instance de SQL Server est configurée pour servir de
témoin et permettre le basculement automatique entre les serveurs partenaires de mise en miroir
de bases de données.
4
Si une panne du centre de données principal rend indisponibles les instances des serveurs partenaires
de mise en miroir de bases de données, la copie des journaux de transaction est utilisée pour la récupération
d'urgence. La copie des journaux de transaction implique la sauvegarde continue des journaux de transaction
de la base de données principale. Les sauvegardes des journaux de transaction sont ensuite copiées
dans une instance de SQL Server, dans le centre de données de récupération d'urgence. Les sauvegardes
des journaux de transaction entrants sont restaurées dans l'ordre, en continu. Vous pouvez également
choisir de configurer la copie des journaux de transaction pour les charges de travail en lecture seule,
mais les connexions en lecture seule doivent être déconnectées avant que les sauvegardes des journaux
de transaction entrants soient appliquées. La Figure 1 représente cette architecture de solution.
Figure 1 : Mise en miroir de bases de données pour la haute disponibilité et copie des journaux de transaction pour la
récupération d'urgence
Pour plus d'informations sur cette solution spécifique, et un exemple pratique, consultez l'étude de cas
technique Haute disponibilité et récupération d'urgence pour la couche Données SAP de Microsoft : une
étude de cas technique SQL Server 2008.
Groupes de disponibilité AlwaysOn pour la haute disponibilité et la
récupération d'urgence
Les groupes de disponibilité AlwaysOn peuvent être utilisés pour remplacer la solution de mise en miroir
de bases de données et de copie de journaux de transaction décrite précédemment. L'utilisation des
groupes de disponibilité pour la haute disponibilité et la récupération d'urgence offre les avantages
suivants :



5
Vous pouvez grouper plusieurs bases de données utilisateur dans une seule unité de basculement.
En revanche, la mise en miroir de bases de données n'autorise qu'une seule base de données
utilisateur comme unité de basculement.
Plusieurs serveurs secondaires (groupes de disponibilité) permettent aux utilisateurs d'unifier
la haute disponibilité et la récupération d'urgence dans une seule technologie, au lieu d'utiliser
plusieurs technologies comme dans la solution précédente.
Les réplicas secondaires peuvent également être configurés pour autoriser les charges de travail
en lecture seule, afin d'obtenir les données presque en temps réel. Contrairement à la copie des
journaux de transaction, les connexions en lecture seule en cours sur les réplicas secondaires
n'ont pas besoin d'être déconnectées pour voir les modifications de données en cours sur le
réplica principal. Les réplicas secondaires peuvent également être utilisés pour réduire la charge
des opérations de sauvegarde complète de la base de données et des journaux de transaction.

Les groupes de disponibilité et l'écouteur de groupe de disponibilité associé prennent en charge
la redirection cliente automatique sur le réplica principal ou la redirection aux serveurs
secondaires lisibles disponibles. Les écouteurs du groupe de disponibilité évitent de désigner un
partenaire de basculement dans la chaîne de connexion du client.
La Figure 2 illustre la solution de haute disponibilité et de récupération d'urgence utilisant des groupes
de disponibilité.
Centre de données de
récupération d'urgence
Centre de données principal
Cluster de basculement Windows Server (un cluster WSFC réparti dans deux centres de données)
SQL Server
SQL Server
Principal
SQL Server
Secondaire
Secondaire
Synchrone
Asynchrone
Groupe de disponibilité
Figure 2 : Utilisation des groupes de disponibilité pour la haute disponibilité et la récupération d'urgence
Comme l'illustre la Figure 2, les trois nœuds, chacun exécutant une instance de SQL Server, participent
à un cluster de basculement Windows Server (WSFC) unique qui s'étend sur deux centres de données.
En outre, il est important de noter qu'il s'agit d'une solution non partagée, et que les nœuds ne partagent
pas de stockage avec un autre nœud. Chaque nœud exécute une instance de SQL Server et possède sa
propre copie des données.
Remarque : la figure 2 illustre un scénario simple avec deux centres de données : le centre de
données principal héberge deux réplicas, et le centre de données de récupération d'urgence
héberge un réplica. L'architecture permet des variantes de cette topologie, avec plusieurs centres
de données ainsi que plusieurs réplicas (jusqu'à cinq). Les paragraphes de ce livre blanc concernent
la topologie illustrée dans la Figure 2 ; toutefois, les notions générales s'appliquent aux autres
variantes. L'une des ces variantes, avec trois centres de données, est présentée à l'annexe A.
Planification du déploiement et éléments à prendre en compte
Les deux sections suivantes décrivent les éléments clés, les contraintes et les conditions préalables
à prendre en compte lorsque vous planifiez le déploiement des groupes de disponibilité pour la haute
disponibilité et la récupération d'urgence.
Conditions préalables pour la topologie
Il est important de comprendre les conditions préalables et les restrictions avant de concevoir une
solution de haute disponibilité et de récupération d'urgence utilisant des groupes de disponibilité. Pour
plus d'informations sur les conditions préalables et les restrictions applicables à l'utilisation des groupes
de disponibilité, consultez Conditions préalables requises, restrictions et recommandations pour les
groupes de disponibilité AlwaysOn (SQL Server).
6
Unité de basculement
Dans cette solution de haute disponibilité et de récupération d'urgence, l'unité de basculement est le
groupe de disponibilité (un groupe de bases de données utilisateur). Les travaux de SQL Server Agent,
les connexions, les serveurs liés, ainsi que d'autres objets stockés hors des bases de données de disponibilité
ne basculent pas avec le groupe de disponibilité. Envisagez l'utilisation de bases de données à relation
contenant-contenu pour contenir les connexions qui basculent entre les réplicas de disponibilité. Pour
les autres objets extérieurs à la base de données utilisateur tels que les travaux SQL Server Agent, les
serveurs liés et les packages SQL Server Integration Services, vous devez effectuer une synchronisation
supplémentaire entre les instances de SQL Server.
Éléments à prendre en compte pour remplacer la copie des journaux
de transaction
Si vous remplacez une solution antérieure impliquant la copie des journaux de transaction,
par les groupes de disponibilité, gardez à l'esprit les points suivants :


Si vous supprimez la copie des journaux de transaction, aucune « application différée » ne sera
possible sur les réplicas secondaires. Les enregistrements du journal du réplica du groupe
de disponibilité sont appliqués immédiatement, et l'application différée fournie par la copie
des journaux de transaction n'est pas disponible pour les groupes de disponibilité. Si cette
fonctionnalité était requise dans le cadre de votre solution héritée, vous devez envisager une
alternative ou utiliser la copie des journaux de transaction conjointement aux groupes de
disponibilité.
De plus, si vous supprimez la copie des journaux de transaction, le travail standard de sauvegarde
des journaux est aussi supprimé. Les groupes de disponibilité ne remplacent pas une stratégie
de sauvegarde et de restauration. Vous devrez planifier des sauvegardes régulières des fichiers
journaux dans un processus distinct, afin d'assurer la gestion essentielle du journal des
transactions pour chaque base de données de disponibilité du groupe de disponibilité.
Modèle de quorum et votes de nœud
Remarque : le quorum et les sujets associés abordés dans ce livre blanc s'appliquent à une
solution exécutée sur les systèmes d'exploitation Windows Server 2008 et Windows Server 2008
R2, avec les mises à jour logicielles appropriées.
Étant donné que l'infrastructure sous-jacente d'un groupe de disponibilité est un WSFC, il est important
de déterminer le modèle de quorum adéquat pour le WSFC. La configuration du quorum est gérée au
niveau du WSFC, quel que soit le nombre de réplicas et le nombre de groupes de disponibilité hébergés
dans le WSFC.
WSFC prend en charge quatre modèles de quorum. Toutefois, certains modèles de quorum ne sont pas
pertinents pour la solution de stockage non partagé telle que décrite dans ce livre blanc. Par conséquent,
les modèles de quorum sur disque partagé (Nœud et disque majoritaire, Aucune majorité - Disque
uniquement) ne sont pas applicables. Cela laisse deux modèles de quorum pour l'architecture de solution
visée : Nœud et partage de fichiers majoritaires ou Nœud majoritaire. Pour plus d'informations sur les
quatre modèles de quorum, consultez Guide pas à pas du cluster de basculement : configuration du
quorum dans un cluster de basculement.
Il est important de prendre en compte le nombre de nœuds votants avant de sélectionner un modèle
de quorum. L'affectation des votes de nœud appropriés joue un rôle important dans la conception de
la haute disponibilité et de la récupération d'urgence. Par défaut, chaque nœud dans un WSFC possède
un vote, mais cette configuration peut ne pas être adaptée à votre solution de haute disponibilité et
de récupération d'urgence spécifique, car cela dépend des nœuds de distribution dans le centre de
données principal et de récupération d'urgence. Un correctif logiciel Windows Server est disponible
(http://support.microsoft.com/kb/2494036) et vous permet d'attribuer 1 vote à certains nœuds et 0 vote
à d'autres nœuds dans le WSFC. La propriété NodeWeight du nœud WSFC représente le vote du nœud
spécifique. La valeur « 0 » signifie que le nœud n'a pas de vote. La valeur « 1 » signifie que le nœud a un
vote de quorum. Ce correctif doit être installé sur chaque nœud de la topologie.
7
Les recommandations générales pour le vote de quorum d'une solution de haute disponibilité et de
récupération d'urgence AlwaysOn sont fournies dans la section Réglages recommandés pour le vote de
quorum de la rubrique Modes de quorum WSFC et configuration de vote dans la documentation en ligne
de SQL Server. Elles doivent être considérées comme des instructions permettant de déterminer le schéma
de vote de la solution AlwaysOn. En prenant en compte ces instructions pour la solution de haute
disponibilité et de récupération d'urgence des groupes de disponibilité présentée à la figure 2, le schéma
de vote est le suivant :


Un vote sur chaque nœud dans le centre de données principal
Zéro vote sur le nœud dans le centre de données de récupération d'urgence
Cette attribution de vote permet de garantir que le quorum des nœuds dans le centre de données
principal ne sera pas affecté en cas de pannes dans le centre de données de récupération d'urgence
ou de perte de connectivité entre les deux centres de données.
Si vous avez un nombre impair de nœuds votants, le modèle de quorum avec nœud majoritaire est
le meilleur choix. Étant donné que la topologie décrite dans ce livre blanc possède un nombre pair
de nœuds votants (les deux nœuds du centre de données principal), vous pouvez choisir librement
l'une des deux options suivantes :

Ajouter un nœud votant supplémentaire au WSFC dans le centre de données principal, puis
utiliser le modèle de quorum Nœud majoritaire. Ce nœud supplémentaire ne requiert pas
l'installation de SQL Server, et n'est pas nécessairement un réplica du groupe de disponibilité.
Cette configuration, avec les votes de nœud appropriés, est illustrée à la Figure 3 (la procédure
d'affectation des votes de nœud est abordée plus loin dans le livre blanc).
Centre de données de
récupération d'urgence
Centre de données principal
Cluster de basculement Windows Server (un cluster WSFC réparti dans deux centres de données)
SQL Server
SQL Server
VOTE
VOTE
AUCUNE VOTE
Secondaire
Principal
SQL Server
Secondaire
Synchrone
Asynchrone
Groupe de disponibilité
VOTE
Serveur supplémentaire
pour le modèle de
quorum Nœud majoritaire
Figure 3 : Affectation des votes de nœud pour le déploiement d'un groupe de disponibilité pour la haute
disponibilité et la récupération d'urgence avec le modèle de quorum Nœud majoritaire
8

Utilisez le modèle de quorum Nœud et partage de fichiers majoritaires avec un témoin de
partage de fichier protégé. Le partage de fichiers fournit un vote supplémentaire pour établir un
quorum, il ne contient pas de données SQL Server. Cette configuration avec les votes de nœud
appropriés est illustrée dans la Figure 4.
Centre de données de
récupération d'urgence
Centre de données principal
Cluster de basculement Windows Server (un cluster WSFC réparti dans deux centres de données)
SQL Server
SQL Server
VOTE
VOTE
AUCUNE VOTE
Secondaire
Secondaire
Principal
SQL Server
Synchrone
Asynchrone
Groupe de disponibilité
VOTE
Partage de fichiers
Figure 4 : Affectation des votes de nœud pour le déploiement d'un groupe de disponibilité pour la haute
disponibilité et la récupération d'urgence avec le modèle de quorum Nœud et partage de fichiers majoritaires
Notez que le témoin de partage de fichiers est en dehors du WSFC qui héberge le groupe
de disponibilité. Un partage de fichiers donné peut servir de témoin à un ou plusieurs WSFC.
Le témoin de partage de fichiers, s'il est utilisé, a toujours un vote. Vous ne pouvez pas affecter
0 vote à un témoin de partage de fichiers.
Le modèle de quorum et les affectations de vote présentés à la figure 3 et à la figure 4 supposent que vous
avez trois réplicas (un réplica principal et deux secondaires) du groupe de disponibilité (deux réplicas dans
le centre de données principal, et un réplica dans le centre de données de récupération d'urgence). Si vous
avez un nombre de nœuds et de réplicas différent, les affectations de vote peuvent différer légèrement,
mais les principes de base restent les mêmes. Par exemple, si vous avez un réplica supplémentaire dans
le centre de données principal (pour réduire la charge de lecture ou de sauvegarde), vous aurez un total
de trois nœuds dans le centre de données principal et vous pourrez par conséquent utiliser le modèle de
quorum Nœud majoritaire sans besoin de nœud supplémentaire (comme illustré dans la figure 3) ni de
témoin de partage de fichiers (comme illustré dans la figure 4). Dans ce scénario, vous affectez un vote
sur chaque nœud dans le centre de données principal, et zéro vote au nœud du centre de données de
récupération d'urgence.
Le modèle de quorum et les affectations de vote présentés à la figure 3 et à la figure 4 supposent
également que la solution s'étend sur deux centres de données. Si vous disposez de davantage de
centres de données, et vous projetez de déplacer une partie de votre solution sur un troisième centre,
les décisions de modèle de quorum et d'affectation de vote peuvent varier.
Outils pour afficher ou modifier le modèle de quorum et les votes de nœud
Il existe plusieurs façons de consulter et de modifier le modèle de quorum du cluster et les votes de
quorum. Les tableaux suivants répertorient les différents outils permettant d'effectuer ces tâches.
9
Pour afficher le modèle de quorum
Gestionnaire du cluster de basculement
Windows
Windows PowerShell
Cluster.exe
Vues de gestion dynamique (DMV) SQL Server
Tableau de bord AlwaysOn dans SQL Server
Management Studio
Pour modifier le modèle de quorum
Gestionnaire du cluster de basculement
Windows
Windows PowerShell
Cluster.exe
Pour afficher les votes de nœud
Windows PowerShell
Cluster.exe
Vues de gestion dynamique (DMV) de SQL
Server
Tableau de bord AlwaysOn
Pour modifier les votes de nœud
Windows PowerShell
Cluster.exe
Configurer le mode de quorum WSFC
Voici des exemples d'utilisation de Windows PowerShell via la ligne de commande pour afficher le
modèle actuel du quorum, ainsi que pour le modifier.
Pour afficher le modèle de quorum existant
Get-ClusterQuorum
Pour configurer le modèle de quorum Nœud majoritaire
Set-ClusterQuorum -NodeMajority
Pour modifier le modèle de quorum en Nœud et partage de fichiers majoritaires
Set-ClusterQuorum -NodeAndFileShareMajority \\EMU-DC\Witness
Le partage de fichiers témoin que vous choisissez ne doit pas figurer sur un nœud qui participe déjà à la
configuration WSFC AlwaysOn. Toutefois, il peut être placé en tant que partage sur une autre configuration
WSFC. Il doit exister dans le même domaine Active Directory que le WSFC. De plus, le compte du service
de cluster WSFC nécessite des autorisations en lecture et en écriture sur le témoin de partage de fichiers.
Le Gestionnaire du cluster de basculement fournit une logique intégrée pour ajouter ces autorisations
au témoin de partage de fichiers, à condition que le compte d'administrateur qui modifie le modèle de
quorum dispose des autorisations appropriées sur le partage de fichiers.
Utilisation des vues de gestion dynamique (DMV) et du tableau de bord AlwaysOn pour
afficher les informations de quorum
Bien que vous ne puissiez pas définir ou modifier le modèle de quorum ou les votes de nœud dans les
outils SQL Server, vous pouvez utiliser des requêtes Transact-SQL sur les vues de gestion dynamique
(DMV) et le tableau de bord AlwaysOn dans SQL Server Management Studio pour afficher les votes
de nœud et le modèle de quorum du cluster Windows qui héberge le groupe de disponibilité.
Pour afficher le modèle de quorum du cluster Windows qui héberge le groupe de disponibilité,
interrogez la vue de gestion dynamique sys.dm_hadr_cluster.
10
SELECT
FROM
cluster_name, quorum_type_desc, quorum_state_desc
sys.dm_hadr_cluster;
Lorsque cette requête est exécutée dans l'exemple d'environnement abordé dans ce livre blanc, elle
retourne les valeurs suivantes.
cluster_name
-----------EMU-AGClstr
quorum_type_desc
---------------NODE_AND_FILE_SHARE_MAJORITY
quorum_state_desc
----------------NORMAL_QUORUM
Pour afficher les votes de nœud, interrogez la vue de gestion dynamique
sys.dm_hadr_cluster_members.
SELECT
FROM
member_name, number_of_quorum_votes
sys.dm_hadr_cluster_members;
Lorsque cette requête est exécutée dans l'exemple d'environnement abordé dans ce livre blanc,
elle retourne les valeurs suivantes. (L'affectation de vote est abordée dans une section ultérieure.)
Member_name number_of_quorum_votes
----------- ---------------------EMU-SQL1
1
EMU-SQL2
1
EMU-SQL3
0
FSWitness
1
Vous pouvez également utiliser le tableau de bord AlwaysOn dans SQL Server Management Studio pour
afficher les votes de quorum et l'état du cluster. La Figure 5 illustre ces informations pour un cluster
Windows avec le modèle de quorum Nœud majoritaire (l'état du cluster et les votes de quorum sont
en surbrillance).
Figure 5 : Affichage des votes de quorum et de l'état du cluster dans le tableau de bord AlwaysOn pour le modèle de quorum
Nœud majoritaire
11
Bien que la colonne Votes de quorum ne soit pas affichée par défaut, vous pouvez l'ajouter dans le tableau
de bord en cliquant avec le bouton droit sur l'en-tête de colonne de la table Réplica de disponibilité,
puis en sélectionnant la colonne spécifique à afficher.
Pour un modèle de quorum Nœud et partage de fichiers majoritaires, ce tableau de bord AlwaysOn
affichera uniquement les nœuds, pas le partage de fichiers. Pour afficher des informations de quorum
complètes, cliquez sur Afficher des informations de quorum de cluster à droite. Une fenêtre indépendante
semblable à celle de la Figure 6 s'affiche.
Figure 6 : Informations sur le quorum du cluster pour le modèle de quorum Nœud et partage de fichiers majoritaires
Configurer les votes de nœud
La propriété NodeWeight du nœud WSFC représente le vote du nœud spécifique. Les exemples suivants
montrent comment configurer le nœud NodeWeight pour un nœud dans un WSFC avec Windows
PowerShell. Pour exécuter Windows PowerShell sur le nœud serveur, cliquez sur Démarrer, pointez
sur Outils d'administration, puis sur Modules Windows PowerShell. Dans cet exemple, EMU-SQL3
représente un nœud WSFC spécifique situé dans le centre de données secondaire.
Pour afficher les paramètres de vote de tous les nœuds
Get-ClusterNode | fl NodeName, NodeWeight
Pour définir le vote d'un nœud sur « 0 »
(Get-ClusterNode "EMU-SQL3").NodeWeight=0
Remarque : la valeur « 0 » signifie que le nœud n'a pas de vote. La valeur « 1 » signifie que le
nœud a un vote de quorum.
12
Connectivité client
Cette section décrit brièvement les problèmes de connectivité client lorsque vous adoptez une solution
de groupe de disponibilité. Pour plus d'informations sur la connectivité client et les éléments à prendre en
compte pour un basculement d'application, consultez Connectivité client et basculement d'application
(groupes de disponibilité AlwaysOn).
Chaînes de connexion pour la mise en miroir de bases de données héritée
Si vous migrez vos connexions d'une solution héritée de mise en miroir de bases de données qui contient
l'attribut de partenaire de basculement, vous pouvez continuer à utiliser votre chaîne de connexion de
mise en miroir de bases de données uniquement si le groupe de disponibilité est configuré avec un seul
réplica secondaire. Le réplica secondaire ne peut pas être activé pour l'activité en lecture seule. Vous pouvez
indiquer le nom du serveur partenaire initial et, éventuellement, le nom du partenaire de basculement.
Gardez à l'esprit qu'il ne s'agit pas d'une solution recommandée à long terme et que ce contournement
ne s'applique pas à la solution de déploiement utilisée dans ce livre blanc, car cette conception spécifique
exige trois réplicas au minimum (un réplica principal et deux réplicas secondaires).
Écouteur de groupe de disponibilité
Pour les groupes de disponibilité, vous pouvez indiquer un nom d'écouteur de groupe de disponibilité
pour l'attribut de serveur. L'écouteur de groupe de disponibilité est un nom de réseau virtuel (VNN)
que vous créez pour l'utiliser avec un groupe de disponibilité spécifique. Ce nom est lié à une ou plusieurs
adresses TCP/IP et ports d'écoute, et est utilisé pour se connecter automatiquement au réplica principal,
où qu'il soit hébergé. Le VNN évite de spécifier un attribut de partenaire de basculement et permet une
topologie mise à l'échelle pouvant comporter jusqu'à cinq emplacements de réplica de disponibilité. Par
exemple, si un groupe de disponibilité bascule sur Node2 à partir de Node1, les nouvelles connexions
à l'écouteur de groupe de disponibilité se connectent automatiquement au réplica qui héberge
actuellement le réplica principal.
De plus, l'écouteur de groupe de disponibilité peut également être utilisé pour router automatiquement
l'activité en lecture seule vers les réplicas en lecture seule secondaires. Pour plus d'informations sur
cette fonctionnalité, consultez Configurer le routage en lecture seule pour un groupe de disponibilité
(SQL Server).
Prise en charge des connexions à plusieurs sous-réseaux
Concernant les autres attributs de connexion liés aux groupes de disponibilité, nous recommandons que
les chaînes de connexion du groupe de disponibilité spécifient l'attribut MultiSubnetFailover pour les
topologies de sous-réseau simple et de sous-réseaux multiples à la fois, lorsqu'elles référencent un nom
d'écouteur de groupe de disponibilité. Lorsque cet attribut de chaîne de connexion est activé, l'option
de connexion MultiSubnetFailover active la prise en charge des connexions à plusieurs sous-réseaux et
ouvre les sockets TCP pour les adresses IP de l'écouteur de groupe de disponibilité en parallèle. Si vous
utilisez d'anciennes bibliothèques clientes qui ne prennent pas en charge l'attribut MultiSubnetFailover,
vous devez envisager d'augmenter le délai de connexion du client dans la chaîne de connexion de
l'application pour tenir compte de la latence de connectivité potentielle dans une topologie à plusieurs
sous-réseaux. Le paramètre de délai d'expiration doit refléter une valeur supérieure au temps de
basculement moyen du groupe de disponibilité, selon l'environnement spécifique. Pour plus d'informations
sur la prise en charge du client, consultez Prise en charge des fonctionnalités de récupération d'urgence,
haute disponibilité par SQL Server Native Client.
13
Générer la solution de groupe de disponibilité
Cette section présente les étapes et le flux de travail requis pour créer un groupe de disponibilité afin de
mettre en œuvre une solution de haute disponibilité locale et de récupération d'urgence distante. Ce
document décrit la création d'un nouvel environnement similaire à la topologie illustrée dans la figure
4 et dans les figures précédentes. N'oubliez pas que ce modèle de conception spécifique suppose qu'un
stockage non partagé est utilisé pour chaque instance de SQL Server.
La configuration minimale requise pour SQL Server 2012 exige Windows Server 2008 R2 avec Service
Pack 1 (SP1) ou Windows Server 2008 avec SP2. Les instructions suivantes supposent que Windows
Server 2008 R2 SP1 Enterprise est le système d'exploitation du nœud du serveur.
Le tableau 1 décrit les étapes requises pour créer un groupe de disponibilité pour la haute disponibilité
locale et la récupération d'urgence distante. Bien que chaque étape ne soit pas reprise ici de façon
détaillée, l'objectif de cette section est d'aider à clarifier la séquence du flux de travail parmi les nombreuses
étapes d'implémentation et les nombreux rôles de travail participants. La documentation afférente est
référencée le cas échéant. Les étapes suivantes sont détaillées par rôle de travail car la plupart des
entreprises de grande taille répartissent les fonctions entre les rôles d'administrateur de base de données,
d'administrateur Windows Server (ou cluster) et d'administrateur réseau. Il est important de mettre en
place une communication efficace et de coordonner les activités entre les rôles.
Étape
Administrateur
de base de
données
Windows Server \
administrateur de
cluster
1. Démarrez le processus en ajoutant la
fonctionnalité de clustering de basculement
aux deux nœuds récemment, configurés
situés dans le centre de données principal,
et au troisième nœud récemment
configuré qui se trouve dans le centre
de données secondaire. Pour plus
d'informations sur ce processus,
consultez Installer la fonctionnalité de
clustering de basculement et Conditions
spécifiques des clusters de basculement.
Oui - Pour la
coordination
des activités
entre les rôles
Oui
14
Administrateur
réseau
Étape
2. Vérifiez que le compte que vous utilisez
pour installer et configurer le WSFC est
un compte de domaine. Ce compte doit
également disposer d'autorisations
administratives sur chaque nœud du
cluster et d'autorisations Créer des objets
ordinateur et Lire toutes les propriétés
pour le conteneur utilisé pour les
comptes d'ordinateur de domaine.
Sinon, vous pouvez préconfigurer les
comptes d'objet de nom Active Directory
à l'avance, ou utiliser un compte
d'administrateur de domaine pour
l'installation. Pour plus d'informations
sur les autorisations requises et les
options de configuration, ainsi que des
instructions détaillées, consultez Guide
pas à pas du cluster de basculement :
configuration de comptes dans Active
Directory.
3. À l'aide du gestionnaire de cluster de
basculement, exécutez la validation de
cluster des trois nœuds serveurs entre les
deux centres de données qui rejoindront
le WSFC. Étant donné que le modèle de
conception que nous abordons dans ce
document n'utilise pas le stockage partagé,
les tests de stockage partagé ne sont pas
effectués pendant la validation.
Après avoir exécuté la validation de cluster,
vérifiez qu'aucune erreur matérielle n'est
détectée avant de créer le WSFC. Même
si vous pouvez passer à l'étape suivante
en dépit des avertissements, il est
important de pousser davantage l'analyse
afin de garantir une configuration stable.
Pour plus d'informations, notamment des
instructions pour effectuer un test de
validation, consultez Validation d'une
configuration de cluster de basculement.
15
Administrateur
de base de
données
Windows Server \
administrateur de
cluster
Administrateur
réseau
Oui
Oui
Oui - Pour tous
les problèmes
qui peuvent
survenir pour la
connexion des
nœuds
Étape
4. Après avoir terminé la validation, utilisez
le gestionnaire de cluster de basculement
pour créer un WSFC à trois nœuds. Pour
plus d'informations sur ce processus,
consultez Créer un cluster de basculement.
En supposant qu'il existe trois nœuds
dans votre WSFC, la configuration par
défaut du mode de quorum sera Nœud
majoritaire à ce stade. Vous pouvez
modifier le modèle de quorum
ultérieurement en Nœud et partage de
fichiers majoritaires, si vous le souhaitez,
ou vous pouvez ajouter un autre nœud en
tant que nœud de vote seul, sans besoin
d'installer SQL Server.
5. Pour empêcher que le nœud du centre de
données de récupération d'urgence affecte
la disponibilité des nœuds du centre de
données principal, installez le correctif
détaillé dans l'article 2494036 de la base
de connaissances Un correctif logiciel est
disponible pour vous permettre de
configurer un nœud de cluster qui n'a pas
de votes de quorum dans Windows
Server 2008 et Windows Server 2008 R2.
Après avoir installé ce correctif sur
chaque nœud WSFC, suivez les étapes
détaillées dans la section Configurer les
votes de nœud de ce document pour
affecter au paramètre NodeWeight du
nœud WSFC du centre de données de
récupération d'urgence la valeur 0 (zéro)
poids. Cela signifie que seuls les deux nœuds
du centre de données principal et le témoin
de partage de fichiers, que vous configurerez
à l'étape suivante, ont des votes.
Ce flux de travail suppose que vous avez
choisi un témoin de partage de fichiers
au lieu d'un serveur supplémentaire pour
la majorité des nœuds. Si vous aviez
sélectionné un serveur supplémentaire
pour fournir un vote, les mêmes
considérations sur le vote de quorum
seraient applicables.
16
Administrateur
de base de
données
Windows Server \
administrateur de
cluster
Administrateur
réseau
Oui
Oui - Pour tous
les problèmes
qui peuvent
survenir pour la
connexion des
nœuds
Oui
Étape
Administrateur
de base de
données
6. Puisque le troisième nœud est dans un
centre de données différent et n'a plus de
vote, vous devez modifier ce modèle de
quorum en Nœud et partage de fichiers
majoritaires. Créez un partage de fichiers
dans le centre de données principal sur
un nœud serveur qui ne participera pas
au WSFC. Ce partage de fichiers se
comportera comme le témoin de partage
de fichiers. Après avoir créé le partage de
fichiers, suivez les instructions décrites
plus haut dans ce document pour modifier
la configuration du quorum en Nœud et
partage de fichiers majoritaires.
Avant de modifier la configuration, assurezvous d'avoir accordé les autorisations en
lecture et en écriture sur le partage de
fichiers témoin au compte de cluster WSFC.
7. Installez une instance autonome de SQL
Server 2012 Enterprise sur chacun des
trois nœuds WSFC. Chaque nœud doit
avoir accès à son propre stockage local et
non partagé pour être utilisé par SQL Server.
Pour chaque nœud WSFC, installez le
moteur de base de données SQL
Server 2012 Enterprise (avec les autres
fonctionnalités facultatives utilisées dans
votre environnement), en suivant les
mêmes étapes que vous suivriez pour
installer une instance autonome de SQL
Server. Bien qu'il s'agisse d'un processus
autonome classique, vous devez vous
assurer que toutes les instances de SQL
Server que vous installez utilisent le même
classement SQL Server pour héberger les
réplicas du groupe de disponibilité (de
plus, vous devez faire en sorte qu'elles
correspondent au classement de votre
environnement de mise en miroir de
bases de données et de copie de journaux
de transaction existant).
Il est également recommandé d'utiliser
des chemins d'accès de fichier identiques
sur chaque nœud.
17
Windows Server \
administrateur de
cluster
Oui
Oui
Administrateur
réseau
Étape
Administrateur
de base de
données
8. Activez les fonctionnalités du groupe
de disponibilité AlwaysOn pour chaque
service SQL Server. Pour plus d'informations
et pour obtenir les étapes détaillées
d'utilisation du Gestionnaire de
configuration SQL Server ou de Windows
PowerShell, consultez Activer et
désactiver les groupes de disponibilité
AlwaysOn.
9. Après avoir activé les trois instances de
SQL Server pour prendre en charge les
groupes de disponibilité AlwaysOn, et
après vous être assuré que les bases de
données qui appartiendront au groupe de
disponibilité sont configurées en mode de
récupération FULL, sauvegardez vos bases
de données utilisateur en production depuis
la topologie héritée, puis restaurez-les
dans un nœud du centre de données
principal dans le WSFC.
Oui
Cette rubrique suppose que vous migrez
une ou plusieurs bases de données
utilisateur vers une instance de SQL Server
dans le centre de données principal.
Le second nœud du centre de données
principal est ensuite utilisé comme réplica
secondaire en mode synchrone.
Vous devez également générer le script
des autres objets SQL Server dans la
topologie héritée, desquels dépendent
vos bases de données utilisateur, mais qui
ne sont pas contenus dans les bases de
données utilisateur restaurées (tels que
les connexions SQL Server, les autorisations
au niveau serveur associées, et les travaux
SQL Server Agent). Ce processus est
similaire à celui que vous suivriez pour
générer le script des objets dépendants
externes sur la base de données mise
en miroir, pour un partenariat de mise
en miroir de bases de données. Il existe
plusieurs méthodes pour transférer des
objets de base de données entre des
instances de SQL Server. La Tâche de
transfert d'objets SQL Server d'Integration
Services est l'une de ces méthodes.
18
Oui
Windows Server \
administrateur de
cluster
Administrateur
réseau
Étape
Administrateur
de base de
données
10. Créez un groupe de disponibilité à l'aide
de l'Assistant de SQL Server Management
Studio (Utiliser l'Assistant Nouveau
groupe de disponibilité), Transact-SQL
ou Windows PowerShell.
Oui
Windows Server \
administrateur de
cluster
Pour plus d'informations sur l'utilisation
de Transact-SQL ou SQL Server PowerShell,
consultez Créer un groupe de disponibilité
(Transact-SQL) ou Créer un groupe de
disponibilité (SQL Server PowerShell).
11. Créez l'écouteur du groupe de disponibilité Oui
(sauf si vous l'avez déjà créé à l'étape
précédente). Vous pouvez créer l'écouteur
du groupe de disponibilité à l'aide d'un
Assistant SQL Server Management Studio,
Transact-SQL ou SQL Server PowerShell.
Pour plus d'informations sur les différentes
méthodes, consultez Créer ou configurer
un écouteur de groupe de disponibilité
(SQL Server).
Oui - Pour
coordonner tous
les paramètres du
pare-feu pour les
adresses IP
sélectionnées
Administrateur
réseau
Oui - Pour
vérifier que
le port de
l'écouteur que
vous désignez
pour le point
de terminaison
du groupe de
disponibilité
est ouvert pour
chacune des
instances
participantes
de SQL Server
Oui - Pour
coordonner les
adresses IP et
les ports
Tableau 1 : Générer la solution de groupes de disponibilité par rôle de travail
À titre de référence, pendant l'installation du groupe de disponibilité, consultez le tableau 2 pour une
description des configurations de réplica qui s'appliquent à la conception spécifique abordée dans ce
document. N'oubliez pas que vous pouvez également choisir d'utiliser les serveurs secondaires en tant
que serveurs lisibles. Il s'agit d'un choix viable qui n'a pas d'impact sur la conception de haute disponibilité
et de récupération d'urgence globale, et qui, de ce fait, n'a pas été inclus dans le tableau.
Centre de
données
Centre de
données
principal
Centre de
données
principal
Centre de
données de
récupération
d'urgence
Réplica Rôle
Mode de disponibilité
Mode de
basculement
Automatique
Nœud 1
Principal
Validation synchrone
Nœud 2
Secondaire Validation synchrone
Automatique
Nœud 3
Secondaire Validation asynchrone (mais un réplica
secondaire synchrone est autorisé ; tenez
compte de la latence du réseau entre les
centres de données, et de son impact sur
les performances de l'application)
Manuel
Tableau 2 : Paramètres de réplica
Une fois les étapes du tableau 1 terminées, dans le gestionnaire du cluster de basculement, vous pouvez
observer qu'un groupe de ressources a été créé pour le groupe de disponibilité. Au sein de ce groupe de
ressources, vous trouverez également la ressource d'écouteur de groupe de disponibilité, les adresses IP
de l'écouteur, et la ressource du groupe de disponibilité. La Figure 7 donne un exemple de l'affichage
dans le gestionnaire du cluster de basculement.
19
Figure 7 : Gestionnaire du cluster de basculement Windows Server : groupe de disponibilité pour la solution de haute
disponibilité et de récupération d'urgence
Éléments à prendre en considération pour l'analyse
Lorsque vous migrez d'une topologie de mise en miroir de bases de données et de copie des journaux de
transaction vers une solution de conception utilisant un groupe de disponibilité, vous devez modifier
votre approche pour analyser la topologie. Les méthodes et les outils disponibles pour surveiller
l'infrastructure du groupe de disponibilité sont les suivants :






Tableau de bord de groupe AlwaysOn dans SQL Server Management Studio
Informations d'état de l'Explorateur d'objets
Compteurs de performances associés au nouveau groupe de disponibilité
Affichages catalogue
Vues de gestion dynamique (DMV)
Une session d'événements étendus qui surveille les exécutions des instructions DDL AlwaysOn
les plus récentes, les problèmes de connectivité WSFC, les événements de basculement,
les changements d'état et les événements de blocage de thread de restauration.
Le tableau de bord de groupe AlwaysOn permet d'identifier efficacement et rapidement l'intégrité d'un
groupe de disponibilité spécifique. À partir du tableau de bord, vous pouvez identifier l'emplacement de
l'instance principale, le mode de basculement des réplicas, leur état de synchronisation et la disponibilité
de basculement des différents réplicas (en d'autres termes, le risque de perte de données d'un réplica
spécifique). Vous pouvez également consulter les données de la session d'événements étendus d'intégrité
AlwaysOn, directement à partir du tableau de bord pour afficher l'activité du groupe de disponibilité, les
changements d'état et les événements les plus récents.
20
Vous pouvez aussi créer des alertes SQL Server Agent et des réponses à un travail en fonction des seuils
du compteur de performances et des changements d'état du groupe de disponibilité. Pour plus
d'informations sur la manière de surveiller un environnement de groupe de disponibilité, consultez
Surveillance des groupes de disponibilité.
Récupération après sinistre
Cette section détaille le flux de travail que vous devez suivre en cas de panne des nœuds WSFC dans le
centre de données principal. Ce scénario spécifique suppose que les nœuds dans le centre de données
principal ne sont pas disponibles. Il suppose également que le seul nœud disponible dans le WSFC se
trouve dans le centre de données de récupération d'urgence secondaire. Notez qu'un véritable sinistre
peut impliquer une grande variété de pannes. Les conseils fournis ici sont adaptés à un scénario où les
nœuds du centre de données principal ne sont pas disponibles. Comme indiqué précédemment, on
suppose que le nœud restant n'a pas (initialement) un vote de quorum et que seuls les nœuds avec des
votes ont été placés dans le centre de données principal (figure 4).
Pour récupérer un groupe de disponibilité en cas de panne du centre de données principal, procédez
comme suit :
1. Le gestionnaire du cluster de basculement exécuté sur le nœud de récupération d'urgence ne
fournira probablement pas d'emblée des informations utiles sur l'état du WSFC, car le cluster
n'a plus le quorum. En outre, le tableau de bord de groupe AlwaysOn sur le nœud de récupération
d'urgence est susceptible de signaler le mode de basculement comme étant inconnu (« unknown »)
et les réplicas de disponibilité comme étant en cours de résolution (« resolving state ») (seul
l'état du réplica local est susceptible d'être affiché lors d'une panne). Les bases de données de
disponibilité peuvent ne pas être visibles dans l'arborescence de l'Explorateur d'objets de SQL
Server Management Studio sur le nœud de récupération d'urgence (reportez-vous à la Figure 8
pour un exemple de vue).
Figure 8 : Sur le second centre de données, lors d'une panne du centre de données principal
2. Pour un scénario où l'état du centre de données principal est incertain et le service doit être
restauré à partir du centre de données de récupération d'urgence secondaire pour répondre
aux objectifs de récupération de l'entreprise, la seule option consiste à démarrer le cluster
Windows après avoir forcé le quorum sur le nœud du centre de données de récupération
d'urgence. Le quorum forcé doit être utilisé en dernier ressort, lorsque le centre de données
principal est susceptible d'être arrêté pour une longue période. Lorsque vous forcez le quorum,
vérifiez que les nœuds dans le centre de données principal ne forment pas leur propre quorum.
21
L'exemple Windows PowerShell suivant illustre le forçage du quorum sur le nœud du centre de
données de récupération d'urgence. Pour commencer, assurez-vous que le service de cluster
n'est pas déjà sur le nœud de récupération d'urgence.
Stop-ClusterNode –Name "EMU-SQL3"
Ensuite, démarrez le service de cluster en forçant le quorum.
Start-ClusterNode –Name "EMU-SQL3" –FixQuorum
Pour plus d'informations sur le forçage du quorum, consultez : Forcer un cluster WSFC
à démarrer sans quorum.
3. À ce stade, le modèle de quorum du cluster est toujours Nœud et partage de fichiers
majoritaires.
Get-ClusterQuorum
Cluster
------EMU-AGClstr
QuorumResource
-------------File Share Witness
QuorumType
---------NodeAndFileShareMajority
Étant donné que le cluster est exécuté sur le nœud de récupération d'urgence dans un état de
quorum forcé, vous devez modifier en conséquence le modèle de quorum et les votes de nœud.
Étant donné qu'il y a un seul nœud dans le centre de données de récupération d'urgence (dans
cet exemple de topologie), modifiez le modèle de quorum en Nœud majoritaire (dans ce cas, la
majorité d'un seul nœud) et affectez un seul vote au nœud de récupération d'urgence et zéro
vote aux nœuds du centre de données principal. Pour définir le modèle de quorum sur Nœud
majoritaire, tapez la commande suivante.
Set-ClusterQuorum -NodeMajority
En modifiant le modèle de quorum, vous rétablissez l'état par défaut des votes de nœud
(un vote sur chaque nœud). Maintenant, modifiez les votes de nœud.
(Get-ClusterNode "EMU-SQL3").NodeWeight=1
(Get-ClusterNode "EMU-SQL1").NodeWeight=0
(Get-ClusterNode "EMU-SQL2").NodeWeight=0
À ce stade, l'environnement a un nœud et un vote, et, par conséquent, un seul point de défaillance.
Avant de continuer, vérifiez que les votes de nœud ont été modifiés comme prévu à l'aide
de la commande Windows PowerShell suivante.
Get-ClusterNode | fl NodeName, NodeWeight
22
Si vous avez modifié les propriétaires « Cluster Group » du WSFC de sorte qu'ils soient contraints
uniquement aux nœuds du centre de données principal, vous devez également modifier les
propriétaires « Cluster Group » du WSFC pour inclure à la place le nœud de récupération d'urgence.
4. Mettez le groupe de disponibilité en ligne sur l'instance SQL Server du nœud de récupération
d'urgence.
Attention : si le réplica est configuré en mode asynchrone, la restauration du service peut
entraîner la perte de tous les enregistrements de journal non envoyés. Vous devez comprendre
parfaitement les conséquences de cette opération avant de restaurer le service. Pour plus
d'informations sur les risques de restauration du service sur les réplicas configurés en mode
asynchrone, consultez Effectuer un basculement manuel forcé d'un groupe de disponibilité.
Si le risque de perte de données est compensé par la possibilité d'atteindre l'objectif de temps
de récupération (RTO) et de restaurer le service sur le centre de données, exécutez la syntaxe
Transact-SQL suivante sur l'instance SQL Server de récupération d'urgence afin de forcer le
basculement (dans cet exemple, EMU-AG1 est le nom du groupe de disponibilité).
ALTER AVAILABILITY GROUP [EMU-AG1]
FORCE_FAILOVER_ALLOW_DATA_LOSS;
À ce stade, les bases de données de votre groupe de disponibilité doivent être disponibles. Vous
devez obligatoirement vous assurer que toutes les connexions d'application entrantes sont
déconnectées de l'ancien réplica principal, ou qu'elles sont totalement déconnectées. Les nouvelles
connexions vers l'écouteur du groupe de disponibilité (qui devrait être de nouveau opérationnel)
doivent être automatiquement acheminées vers l'instance de récupération d'urgence. Vous
devez également vous assurer que les connexions d'application ne tentent de se connecter
au centre de données principal, pour éviter une situation de « partition réseau ».
Notez aussi que même après avoir rétabli le quorum au niveau du centre de données de récupération
d'urgence, vous verrez toujours différents messages d'avertissement signalant que les nœuds
du centre de données principal ne sont pas disponibles dans SQL Server Management Studio.
La Figure 9 illustre un exemple de ces avertissements, et comprend une vue de l'Explorateur
d'objets et du tableau de bord de groupe AlwaysOn.
23
Figure 9 : SQL Server Management Studio après un basculement forcé
Comme indiqué précédemment, dans les entreprises de grande taille, les fonctions sont généralement
réparties entre les rôles d'administrateur de base de données, d'administrateur Windows Server (ou cluster)
et d'administrateur réseau. Le Tableau 3 récapitule le flux de travail de récupération d'urgence décrit
précédemment et indique les secteurs habituellement pris en charge par les différents rôles d'entreprise
à des fins de planification.
Étape
Administrateur de
base de données
Vérifiez l'état actuel du centre de
données principal et du nœud de
récupération d'urgence WSFC
restant, et coordonnez les tâches.
Forcez le service de quorum
sur le nœud de récupération
d'urgence.
Supprimez les votes des nœuds
principaux et ajoutez un vote au
nœud de récupération d'urgence.
Forcez le basculement du groupe
de disponibilité sur l'instance SQL
Server de récupération d'urgence.
Oui
Oui
Oui
Oui
Tableau 3 : Récupération après sinistre par rôle de travail
24
Windows Server \
administrateur de
cluster
Oui
Administrateur
réseau
Oui
Rebasculer sur le centre de données principal
Le scénario ci-après suppose que le service restauré sur le site de récupération d'urgence est
uniquement destiné à exécuter la charge de travail pendant le sinistre, et qu'il est souhaitable de
rebasculer la charge de production sur le site principal dès qu'il est capable de l'assumer. Il existe de
nombreux scénario de panne différents et, par conséquent, de nombreux types de récupération. Dans
le scénario décrit ci-après, les serveurs du centre de données principal sont arrêtés pendant une longue
période. Une fois les problèmes du centre de données principal résolus, et ses nœuds de nouveau
opérationnels, ces derniers tentent de se connecter au WSFC. Après la reconnexion au WSFC et la reprise
des services de cluster, les poids des nœuds affectés au nœud de récupération d'urgence devraient être
actifs. De plus, le scénario suppose que l'instance SQL Server d'origine est installée et que les bases de
données associées sont intactes.
À ce stade, vous devez choisir entre sauver toutes les données (autrement dit, les modifications apportées
aux données dans le réplica principal d'origine qui n'ont pas été envoyées au réplica de récupération
d'urgence juste avant l'incident) ou passer au rétablissement de toutes les sessions de réplica. Les réplicas
sur les nœuds en échec seront dans un état « non synchronisé » après un basculement forcé et le réplica
de récupération d'urgence, dans un état « synchronisé » comme indiqué dans la Figure 10.
25
Figure 10 État des bases de données entre les réplicas avant que le système rebascule sur le centre de données principal
Pour sauvegarder les données du réplica principal d'origine, vous pouvez créer un instantané de base
de données sur la base de données secondaire interrompue (à l'origine, la base de données principale)
afin d'extraire les données appropriées requises pour la resynchronisation avec la version du réplica
de récupération d'urgence des bases de données de disponibilité. L'exemple suivant montre comment
créer un instantané de base de données sur une base de données de disponibilité « non synchronisée ».
-- Create the database snapshot
CREATE DATABASE AppDB_A1 ON
(NAME = AppDB, FILENAME =
'S:\Data\AppDB_A1.ss' )
AS SNAPSHOT OF AppDB;
GO
Étant donné que le scénario d'origine utilise le mode asynchrone pour la base de données de récupération
d'urgence, on suppose que l'objectif de point de récupération (RPO) tolère la perte de données. Les étapes
suivantes supposent que le service sera restauré à l'aide des réplicas du centre de données principal existants :
1. Relancez la migration contrôlée sur le centre de données principal en modifiant correctement le
modèle de quorum (dans ce cas, utilisez Nœud et partage de fichiers majoritaires), puis rajustez
les votes.
2. Après vous être assuré que les instances de serveur SQL du centre de données principal ont
démarré, sur chaque instance de SQL Server dans le centre de données principal, exécutez le
code Transact-SQL suivant à partir du contexte de la base de données master pour reprendre
chaque base de données qui participe au groupe de disponibilité.
USE [master]
GO
ALTER DATABASE AppDB SET HADR RESUME;
GO
ALTER DATABASE ConfigDB SET HADR RESUME;
GO
ALTER DATABASE SecurityDB SET HADR RESUME;
GO
3. Modifiez le groupe de disponibilité pour utiliser temporairement le mode de disponibilité avec
validation synchrone, afin d'effectuer une synchronisation avant le basculement. La commande
Transact-SQL est la suivante (exécutée sur le réplica principal actuel dans le centre de données
de récupération d'urgence, où EMU-AG1 est notre groupe de disponibilité et EMU-SQL3 est le
réplica du centre de données de récupération d'urgence). Idéalement, le paramètre de validation
synchrone doit être appliqué au cours d'une période de faible activité de l'application, afin de
réduire l'impact de la latence des transactions sur les utilisateurs.
26
USE [master]
GO
ALTER AVAILABILITY GROUP [EMU-AG1]
MODIFY REPLICA ON N'EMU-SQL3' WITH (AVAILABILITY_MODE =
SYNCHRONOUS_COMMIT);
GO
4. Vérifiez l'état de synchronisation entre les deux emplacements (tous les états de réplica doivent
indiquer « healthy » avant de passer à l'étape suivante, ce qui signifie que les réplicas sont
synchronisés).
SELECT
role_desc,
synchronization_health_desc
FROM sys.dm_hadr_availability_replica_states;
5. Basculez le groupe de disponibilité du nœud du centre de données de récupération d'urgence
sur le nœud du centre de données principal (c'est-à-dire, connectez et exécutez le script suivant
sur le nœud du centre de données principal, qui deviendra le nouveau réplica principal).
ALTER AVAILABILITY GROUP [EMU-AG1] FAILOVER;
6. Pour respecter le déploiement d'origine, rétablissez la validation asynchrone sur le nœud du
réplica de récupération d'urgence. Exécutez le code Transact-SQL suivant sur le nouveau réplica
principal, où EMU-SQL3 est le nom du réplica de récupération d'urgence et EMU-AG1 est le
nom du groupe de disponibilité.
USE [master]
GO
ALTER AVAILABILITY GROUP [EMU-AG1]
MODIFY REPLICA ON N'EMU-SQL3' WITH
(AVAILABILITY_MODE = ASYNCHRONOUS_COMMIT);
GO
7. Supprimez le vote de quorum du nœud WSFC dans le centre de données de récupération d'urgence.
Le tableau suivant récapitule le flux de travail de récupération d'urgence décrit précédemment et indique
les secteurs habituellement pris en charge par les différents rôles d'entreprise à des fins de planification.
27
Étape
1. Après avoir restauré le service du
centre de données principal,
modifiez le modèle de quorum
de la façon appropriée. Rajoutez
ensuite les votes de quorum aux
nœuds du centre de données
principal.
2. Rétablissez les sessions des bases
de données de disponibilité sur
chaque réplica secondaire.
3. Appliquez la validation synchrone
sur le réplica de récupération
d'urgence.
4. Vérifiez l'état de synchronisation
entre les deux emplacements
(tous les états de réplica doivent
indiquer « healthy » avant de
passer à l'étape suivante).
5. Basculez sur un réplica dans le
centre de données principal.
6. Rétablissez la validation
asynchrone sur le réplica
de récupération d'urgence
(conformément à la configuration
d'origine).
7. Supprimez le vote de quorum du
nœud dans le centre de données
de récupération d'urgence.
Administrateur Windows Server \
de base de
administrateur
données
de cluster
Administrateur
réseau
Oui
Oui
Oui
Oui
Oui
Oui
Oui
Tableau 4 : Rebasculer sur le centre de données principal
Conclusion
SQL Server 2012 AlwaysOn fournit plusieurs options pour générer une solution de haute disponibilité
(HA) et de récupération d'urgence (DR) pour votre application. Ce livre blanc décrit une solution qui
utilise les groupes de disponibilité pour la haute disponibilité et la récupération d'urgence. C'est
purement une solution de stockage non partagé, car chaque instance de SQL Server dans la topologie
possède sa propre copie des données, et n'a pas besoin de partager le stockage. Vous pouvez utiliser
cette solution pour remplacer les topologies héritées qui utilisent la mise en miroir de bases de données
et la copie des journaux de transaction.
Le déploiement réussi d'une telle solution HA/DR sollicite non seulement l'équipe d'administrateurs
de base de données, mais implique également une collaboration étroite entre ces derniers, l'équipe
d'administration Windows Server, et l'équipe de gestion du réseau au sein du service informatique.
Les compétences transversales sont d'une aide précieuse lorsque vous déployez la solution HA/DR.
Références



28
Modèles de conception pour la haute disponibilité et la récupération d'urgence SQL Server 2012
AlwaysOn (http://go.microsoft.com/fwlink/?LinkId=255048)
Guide de solutions Microsoft SQL Server AlwaysOn pour la haute disponibilité et la récupération
d'urgence (http://msdn.microsoft.com/library/hh781257.aspx)
Présentation des groupes de disponibilité AlwaysOn
(http://technet.microsoft.com/library/ff877884(v=SQL.110).aspx)








Conditions préalables requises, restrictions et recommandations pour les groupes de disponibilité
AlwaysOn (http://technet.microsoft.com/library/ff878487(v=sql.110).aspx)
Guide pas à pas du cluster de basculement : configuration du quorum dans un cluster de
basculement (http://technet.microsoft.com/library/cc770620(v=WS.10).aspx)
Correctif logiciel Windows Server pour les votes de quorum
(http://support.microsoft.com/kb/2494036)
Windows PowerShell (http://technet.microsoft.com/library/bb978526)
Mappage des commandes Cluster.exe aux applets de commande Windows PowerShell pour les
clusters de basculement (http://technet.microsoft.com/library/ee619744(v=WS.10).aspx)
Windows PowerShell Survival Guide
(http://social.technet.microsoft.com/wiki/contents/articles/183.windows-powershell-survivalguide-en-us.aspx)
Applets de commande de cluster de basculement dans Windows PowerShell
(http://technet.microsoft.com/library/ee461009.aspx)
SQL Server PowerShell (http://msdn.microsoft.com/fr-fr/library/hh245198.aspx)
Annexe A : Exemple de groupes de disponibilité HA/DR à 3 centres de
données
L'architecture décrite dans ce livre blanc repose sur deux centres de données, ce qui est une topologie
de déploiement courante. Toutefois, occasionnellement, certains clients utilisent un troisième centre
de données pour le déploiement. Dans la plupart des cas, la raison d'un tel choix est qu'il permet le
basculement automatique du groupe de disponibilité entre les centres de données principal et de
récupération d'urgence. Pour y parvenir, vous pouvez, par exemple, déployer les deux réplicas dans
ces deux centres de données et un témoin de partage de fichiers dans le troisième centre de données,
comme le montre la figure 11.
Troisième centre
de données
VOTE
Centre de données
principal
SQL Server
Partage de fichiers
Cluster de basculement Windows Server
VOTE
Centre de données de
récupération d'urgence
VOTE
SQL Server
Secondaire
Principal
Synchrone
Groupe de disponibilité
Figure 11 : Solution de groupes de disponibilité HA/DR utilisant trois centres de données
29
Pour plus d'informations :
http://www.microsoft.com/sqlserver/ : Site Web SQL Server
http://technet.microsoft.com/fr-fr/sqlserver/ : TechCenter SQL Server
http://msdn.microsoft.com/fr-fr/sqlserver/ : Centre de développement SQL Server
Avez-vous trouvé ce document utile ? Nous apprécions vos commentaires. Sur une échelle
de 1 (faible) à 5 (excellent), quelle note donneriez-vous à ce document ? Expliquez pourquoi.
Par exemple :


Avez-vous attribué une bonne note car le document fournit de bons exemples, contient
des captures d'écran très utiles, est clairement rédigé, ou pour d'autres raisons ?
Avez-vous attribué une mauvaise note car le document fournit de mauvais exemples,
contient des captures d'écran pas claires ou est mal rédigé ?
Vos commentaires nous aident à améliorer la qualité des livres blancs que nous publions.
Envoyez vos commentaires
30
Téléchargement