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 :

image

Cet article et les suivants vont traiter des points ci-dessous:

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.

clip_image001

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.

image

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… ».

clip_image004

Dans la partie « Before you Begin », cliquez sur « Next ».

clip_image005

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

clip_image006

Dans la fenêtre « Confirmation », cliquez sur « Next ».

clip_image007

Dans la fenêtre « Summary », cliquez sur « Finish ».

clip_image008

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

image

Dans le menu qui apparaît, cliquez sur « Configure Cluster Quorum settings… ».

clip_image012

Un assistant apparaît. Dans la partie « Before you begin », cliquez sur « Next ».

clip_image013

Dans la partie « Select Quorum Configuration Option », sélectionnez « Advanced quorum configuration ».

Cliquez sur « Next ».

image

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

image

Dans la partie « Select Quorum Witness », sélectionnez « Configure a file share witness ».

Cliquez sur « Next ».

image

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

clip_image020

Dans la fenêtre confirmation, cliquez sur « Next ».

clip_image021

Dans la fenêtre « Summary », cliquez sur « Finish ».

clip_image022

Voici une copie d’écran de la section « Nodes » de mon cluster.

clip_image023

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.

image

Faîtes un clic droit sur un de vos réseaux. Dans le menu contextuel, cliquez sur « Properties ».

image

Dans la fenêtre qui apparaît, renommez votre réseau dans le champ « Name ».

Cliquez sur le bouton « Ok ».

image

Ci-dessous un exemple de mes 2 réseaux.

clip_image031

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

image

Faîtes un clic-droit sur le rôle de votre cluster. Dans le menu contextuel, sélectionnez « Add Resource », puis « Client Access Point ».

image

Un assistant apparaît. Dans la partie « Client Access Point », entrez le nom de votre point d’accès.

Cliquez sur « Next ».

clip_image035

Dans la partie « Confirmation », cliquez sur « Next ».

clip_image036

Dans la partie « Summary », cliquez sur « Finish ».

clip_image037

Ci-dessous, une copie d’écran de mon cluster. Sous le nom de mon « Listener », on peut y voir 2 ressources réseaux.

image

Faîtes un clic-droit sur le nom d’un de vos réseaux. Dans le menu contextuel, sélectionnez « Properties».

image

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

clip_image040

Répétez l’opération pour votre second réseau. Cliquez sur « Ok ».

clip_image041

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.

image

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.

image

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.

clip_image049

Après exécution des scripts, voici la configuration de mon cluster :

image

Faîtes un clic droit, sur le nom de votre listener. Dans le menu contextuel, cliquez sur « Properties ».

image

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

image

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

image

Normalement, vous devez voir un réseau « Online » .

clip_image059

Faîtes un clic-droit sur votre groupe de disponibilité. Dans le menu contextuel, cliquez sur « Properties ».

image

Dans la fenêtre « Properties », sélectionnez l’onglet « Dependencies ». Dans la colonne « Resource », sélectionnez le nom de votre listener.

Cliquez sur « Ok ».

image

 

Dans le prochain et dernier article, nous aborderons la configuration des serveurs SQL ainsi que le test de la bascule.

Franck Mercier

Sessions de formation gratuites :

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 :

SQL Server 2012 :

Evaluation SQL Server 2014 CTP2 :

Evaluation Power BI :

Testez Azure gratuitement pendant un mois :