SQL Server 2014 : AlwaysON Availability Group dans plusieurs régions Azure (Partie 3)
Après avoir monté une solution SQL AlwaysON dans des machines virtuelles Azure (IaaS), nous allons voir maintenant comment étendre cette infrastructure vers une autre région Azure. L’idée est d’y déployer un serveur SQL, intégré au groupe disponibilité en mode asynchrone, afin d’y réaliser une bascule vers une autre région Azure si besoin. Ci-dessous, une illustration de l’architecture que nous obtiendrons à la fin de cette série d’articles :
Cet article et les suivants vont traiter des points ci-dessous:
- Création de l’infrastructure Azure
- Ajout d’un serveur SQL dans la région USA
- Intégration du serveur SQL USA dans le groupe de disponibilité AlwaysON
- Configuration des serveurs SQL et test de la bascule
Ce billet va traiter de l’intégration du serveur SQL USA dans le groupe de disponibilité AlwaysON
Intégration du serveur SQL USA dans le groupe de disponibilité AlwaysON
Maintenant que notre machine virtuelle USA est configurée, nous allons l’intégrer au groupe de disponibilité AlwaysON existant.
Paramétrage du cluster pour ajouter le nouveau nœud du second VNET
Ajout d’un point de terminaison
Comme pour les autres machines SQL, nous allons ouvrir un point de terminaison sur notre machine virtuelle SQL USA.
Ci-dessous, une copie d’écran de mon portail Azure, pour les points de terminaison de ma machine virtuelle.
Nous allons rajouter le point de terminaison via le script PowerShell ci-dessous:
# Création des end points
$AGNodes = "A-FranmerSQLUSA" # all availability group nodes should be included, separated by commas
$ServiceName = "demosqlao-usa" # the name of the cloud service that contains the availability group nodes
$EndpointName = "SQLAOEndpoint" # name of the endpoint
$EndpointPort = "55569" # public port to use for the endpoint
# Configure a load balanced endpoint for each node in $AGNodes, with direct server return enabled
ForEach ($node in $AGNodes)
{
Get-AzureVM -ServiceName $ServiceName -Name $node | Add-AzureEndpoint -Name $EndpointName -Protocol "TCP" -PublicPort $EndpointPort -LocalPort $EndpointPort -LBSetName "$EndpointName-LB" -ProbePort 59999 -ProbeProtocol "TCP" -DirectServerReturn $true | Update-AzureVM
}
Une fois le script exécuté, le point de terminaison apparaît au niveau du portail Azure.
Modification du WSFC
Maintenant nous allons modifier notre cluster pour intégrer le nouveau nœud dedans.
Ajout d’un nouveau nœud
Au niveau du Failover Cluster Manager, faîtes un clic droit sur « Nodes ». Dans le menu contextuel, cliquez sur « Add Node… ».
Dans la partie « Before you Begin », cliquez sur « Next ».
Dans la partie « Select Servers », cliquez sur le bouton « Browse » pour afficher la fenêtre de recherche d’objets. Dans cette fenêtre, entrez le nom du serveur à rajouter.
Ici, j’ai rajouté le server USA.
Cliquez sur le bouton « Next ».
Dans la fenêtre « Confirmation », cliquez sur « Next ».
Dans la fenêtre « Summary », cliquez sur « Finish ».
Retrait du droit de vote du serveur SQL USA
Dans notre scénario, le serveur USA se trouve dans une autre région Vnet Azure. Comme nous ne maitrisons pas les temps de latences entre nos 2 régions (Europe et USA), nous allons retirer le droit de vote au serveur USA.
Dans le Failover Cluster Manager, dans la partie gauche, cliquez sur le nom de votre cluster.
Dans la partie droite, Actions, cliquez sur « More Actions ».
Dans le menu qui apparaît, cliquez sur « Configure Cluster Quorum settings… ».
Un assistant apparaît. Dans la partie « Before you begin », cliquez sur « Next ».
Dans la partie « Select Quorum Configuration Option », sélectionnez « Advanced quorum configuration ».
Cliquez sur « Next ».
Dans la partie «Select Voting Configuration », sélectionnez « Select Nodes ».
Décochez la case à gauche du nœud que vous souhaitez retirer du vote. Dans mon cas, je retire le serveur USA du vote.
Cliquez sur « Next ».
Dans la partie « Select Quorum Witness », sélectionnez « Configure a file share witness ».
Cliquez sur « Next ».
Dans la partie « Configure File Share Witness », définissez le chemin vers un partage réseau.
Dans cet exemple, j’ai créé un dossier partagé sur mon domaine contrôleur, qui est visible pour toutes mes machines.
Cliquez sur « Next ».
Dans la fenêtre confirmation, cliquez sur « Next ».
Dans la fenêtre « Summary », cliquez sur « Finish ».
Voici une copie d’écran de la section « Nodes » de mon cluster.
Configuration des réseaux
Nommage des réseaux
Au niveau du « Failover Cluster Manager », dans la partie gauche, cliquez sur « Networks ».
Vous devez voir apparaître 2 réseaux dans la partie centrale.
Faîtes un clic droit sur un de vos réseaux. Dans le menu contextuel, cliquez sur « Properties ».
Dans la fenêtre qui apparaît, renommez votre réseau dans le champ « Name ».
Cliquez sur le bouton « Ok ».
Ci-dessous un exemple de mes 2 réseaux.
Modification des points d’accès
Connectez-vous sur une machine appartenant au cluster. Ici je me connecte sur la machine SQL1.
Dans le Failover Cluster Manager , dans la partie centrale, cliquez sur le nom de votre « listener » et faîtes un clic droit. Dans le menu contextuel, cliquez sur « Remove ».
Faîtes un clic-droit sur le rôle de votre cluster. Dans le menu contextuel, sélectionnez « Add Resource », puis « Client Access Point ».
Un assistant apparaît. Dans la partie « Client Access Point », entrez le nom de votre point d’accès.
Cliquez sur « Next ».
Dans la partie « Confirmation », cliquez sur « Next ».
Dans la partie « Summary », cliquez sur « Finish ».
Ci-dessous, une copie d’écran de mon cluster. Sous le nom de mon « Listener », on peut y voir 2 ressources réseaux.
Faîtes un clic-droit sur le nom d’un de vos réseaux. Dans le menu contextuel, sélectionnez « Properties».
Dans la fenêtre qui apparaît, cliquez sur l’onglet General. Dans le champ « Name », entrez un nom pour ce réseau.
Cliquez sur « Ok ».
Répétez l’opération pour votre second réseau. Cliquez sur « Ok ».
Configuration des points d’accès
Nous allons configurer nos points d’accès pour qu’ils fonctionnent avec nos réseaux virtuels Azure. Dans un premier temps, il est nécessaire de récupérer l’adresse IP de notre service de Cloud.
Depuis le portail Azure, sélectionnez le service de Cloud qui héberge vos machines virtuelles. Ici je sélectionne le service de Cloud qui contient mes machines du réseau Europe.
Une fois l’adresse récupérée, nous allons modifier le script PowerShell suivant :
# Define variables
$ClusterNetworkName = "Cluster NetWork DemoSQLAO" # the cluster network name
$IPResourceName = "Network" # the IP Address resource name
$CloudServiceIP = "23.100.52.115" # IP address of your cloud service
Import-Module FailoverClusters
Get-ClusterResource $IPResourceName | Set-ClusterParameter -Multiple @{"Address"="$CloudServiceIP";"ProbePort"="59999";SubnetMask="255.255.255.255";"Network"="$ClusterNetworkName";
"OverrideAddressMatch"=1;"EnableDhcp"=0}
Nous allons faire la même chose avec notre second service de Cloud. Ci-dessous, je sélectionne le tableau de bord du service de Cloud USA.
Je modifie le script ci-dessous avec les valeurs USA de mon cluster et l’adresse IP de mon service de Cloud USA.
# Define variables USA
$ClusterNetworkName = "Cluster Network DemoSQL USA" # the cluster network name
$IPResourceName = "Network_USA" # the IP Address resource name
$CloudServiceIP = "23.101.131.223" # IP address of your cloud service
Import-Module FailoverClusters
Get-ClusterResource $IPResourceName | Set-ClusterParameter -Multiple @{"Address"="$CloudServiceIP";"ProbePort"="59999";SubnetMask="255.255.255.255";"Network"="$ClusterNetworkName";
"OverrideAddressMatch"=1;"EnableDhcp"=0}
J’exécute les scripts dans l’interface PowerShell ISE.
Après exécution des scripts, voici la configuration de mon cluster :
Faîtes un clic droit, sur le nom de votre listener. Dans le menu contextuel, cliquez sur « Properties ».
Dans la fenêtre « Properties », cliquez sur l’onglet « Dependencies ». Rajoutez vos 2 réseaux et assurez-vous de bien avoir le mot « OR » dans la colonne « AND/OR ».
Cliquez sur « Ok ».
De retour dans la fenêtre principale du Failover Cluster Manager, faîtes un clic droit sur le nom de votre listener et cliquez sur « Bring Online ».
Normalement, vous devez voir un réseau « Online » .
Faîtes un clic-droit sur votre groupe de disponibilité. Dans le menu contextuel, cliquez sur « Properties ».
Dans la fenêtre « Properties », sélectionnez l’onglet « Dependencies ». Dans la colonne « Resource », sélectionnez le nom de votre listener.
Cliquez sur « Ok ».
Dans le prochain et dernier article, nous aborderons la configuration des serveurs SQL ainsi que le test de la bascule.
Sessions de formation gratuites :
-
- Microsoft Virtual Academy : https://www.microsoftvirtualacademy.com/
Pour tester Windows Server 2012, Windows 8, SQL Server 2012 et SQL Server 2014 CTP2, vous pouvez télécharger gratuitement la version d’évaluation disponible sous la forme :
Windows Server 2012 :
-
- d'une image ISO : https://aka.ms/jeveuxwindows2012
- d'un fichier VHD avec un système préinstallé : https://aka.ms/jeveuxwindows2012
SQL Server 2012 :
Evaluation SQL Server 2014 CTP2 :
Evaluation Power BI :
Testez Azure gratuitement pendant un mois :
Comments
- Anonymous
October 02, 2014
Après avoir monté une solution SQL AlwaysON dans des machines virtuelles Azure (IaaS), nous allons voir