SQL Always-On et Skype for Business

Cet article a pour but de vous donner une idée de comment déployer un Backend Skype for Business avec la mise en place d’un Cluster SQL Always-On. L’intérêt du Cluster Always-On face au Mirroring est de pouvoir s’affranchir d’une 3eme instance SQL du Witness en ajoutant à la place un Quorum sous la forme de partage de fichier. Les points négatifs du Cluster Always-On avec Skype for Business est le fait de devoir disposer de licences SQL 2014 en version Entreprise. De plus l’installation et la configuration ainsi que la faible intégration du cluster Always-on dans les commandes powershell ou dans la topologie Skype for Business ne permet pas d’avoir un avis uniquement positif sur le nouveau Backend supporté et recommandé par Microsoft.

1. Installation et configuration du Windows Failover Cluster

 Installer le rôle Windows Failover Cluster sur les 2 Nœuds SQL1 (SCUSQL1) et SQL2 (SCUSQL2).  1
Lancer la console du Failover Cluster Manager.  2
Faites un clique droit à la racine du cluster et réaliser dans un premier temps une validation des prérequis à la mise en place du cluster Windows. La batterie de test est indispensable afin de pouvoir terminer les étapes d’installation et de configuration du cluster Windows.  4
 Ajouter les deux noeuds du futur cluster SQL et suivre les différentes étapes de validation.  5
 Au niveau du rapport de validation des prérequis, vous devriez voir apparaître des Warnings en jaune qui ne doivent pas être considéré comme bloquant dans l’installation du cluster.  8
 Dans le cas de machines virtuelles, notamment sur ESX ce qui est mon cas, nous avons des erreurs de détections des caractéristiques des disques durs, mais rien de bloquant dans le bon fonctionnement du cluster SQL. (Il est toujours mieux de se référer aux bonnes pratiques Microsoft concernant la technologie SQL et la virtualisation afin d’optimiser les performances serveurs). 10
 Ensuite, à la suite de cette validation de prérequis obligatoire, crée le Cluster. 11
 Dans mon cas, j’ai crée l’enregistrement DNS du hostname du cluster SQL. 14
 Renseignez les deux nœuds du cluster SQL. 13
 Indiquez le nom du cluster ainsi que l’adresse IP correspondant. 15
Important : Ne pas cocher « Add all eligible storage to the cluster »
puis cliquez sur Next pour finaliser la création du Cluster Windows.
16
 L’objet AD Computer a été crée suite à l’installation du cluster. 18
 Poursuivre avec la création du partage de fichier Quorum dédié au cluster SQL (à ne pas cocaliser sur l’un des 2 nœuds!) 19
 Ajouter les permissions de Full Control pour les objets ordinateurs des 2 noeuds du Cluster ainsi que sur l’object computer du cluster. 20
 Configurer le Quorum du cluster Windows. 21
 Poursuivre en sélectionner l’ajout du Quorum witness. 23
 Indiquez le serveur et le partage de fichier préalablement crée. 25
 Puis finish. 27

2. Configuration du cluster SQL

 Après avoir configuré le cluster Windows, place à l’installation et à la configuration du cluster SQL.

Pour cela, crée une instance SQL sur chacun des 2 noeuds du cluster.

 29
 Poursuivre en choisissant le type de fonctionnalité  31
 Choisir Database Engine et en optionnel Reporting Services qui sera utile dans la génération des rapports de monitoring Lync/Skype.  32
 Vérifier que l’ensemble des étapes d’installation ont été validés.  38
 Puis au niveau de la MMC SQL, faire un clique droit au niveau du moteur SQL correspondant à la nouvelle instance.  39
 Et cocher « Enable AlwaysOn Availability Groups » en indiquant également le nom du Windows failover cluster crée précédemment.  40
A partir de cette étape, vous pouvez publier la topologie Skype for business en indiquant au niveau de la topologie pour le SQL, le FQDN du premier noeud du cluster.
  Puis une fois la topologie publié et les bases Lync / Skype installé, avec l’outil de Gestion SQL Management Studio, faite un clique droit sur chacune des bases puis dans Options changer le Recovery-model de Simple à Full.  modefull
 Réaliser un Backup sur chacune des bases afin de pouvoir satisfaire les prerequis de la configuration du Availability Group SQL. 44
 Ensuite commencer les étapes de l’assistant à la configuration du SQL Availability Group  41
 Cliquez sur Next  42
 Renseignez le nom du Availability group qui sera utilisé au niveau de la topologie Lync / Skype  43
 Au niveau de la rubrique Status, vérifier que l’ensemble des bases sont dans l’état « Meet prerequisites » et cocher les bases correspondantes (mise à part les bases principales du Reporting Server qui ne sont pas supporté par Microsoft dans le cluster Always-On)  46
 Ajouter les serveurs dit « Replicas » qui permettent de réaliser la synchronisation des bases au sein du cluster.  48
 Vous pouvez configurer à cette étape la configuration du port d’écoute  49
 Vous pouvez choisir de préférer 1 noeud en cas de failback du cluster pour que ce soit toujours le même serveur qui soit primaire après redémarrage. 50
 Ajouter à cette étape le Listener avec le Nom DNS utilisé préalablement pour le Availability Group, renseigner l’IP ainsi que le port d’écoute 52
 Ensuite, indiquer le partage de fichier faisant office de Quorum du Cluster utilisé auparavant pour le Failover Cluster Windows 53
 Vérifier que les étapes de prérequis ont été validés 54

Il est probable que vous ayez une erreur lors de la création du Listener :

Creating availability group listener resulted in an error (Create failed for Availability Group Listener, Error SQL : 19471 )

56
Avec l’outil de gestion Utilisateur et Ordinateur Active Directory, ajouter les permissions sur le nouvel objet AD du computer du Availability Group SQL correspondant au 3 objets Computer du cluster SQL (les 2 noeuds + l’objet computer du Failover Cluster Windows)  57
Associer Full Control aux 3 comptes ordinateurs puis essayer renouveler l’étape de configuration du cluster afin de finaliser l’étape de création du Cluster SQL Always-On. 58

 

3. Finalisation avec la topologie Skype for Business

A cette étape, il est probable qu’il y ai une différence de permissions entre le noeud primaire ayant hébergé le déploiement des bases lors de la première publication .. 60
Et le second noeud du Cluster. En effet les logins RTC* n’ont pas été rajouté automatiquement lors de la configuration du Availability Group. 61
Pour cela, basculer les bases du premier vers le second noeud afin de pouvoir la permission en lecture et écriture sur le deuxième noeud. 62
Suivre les étapes du Failover (basculement des bases) 71
Vérifier que les étapes se soit correctement déroulées 75
Publier à nouveau la topologie en renseignant cette fois-ci au niveau du SQL Server le 2eme noeud où il manque des permissions 76
Publier la topologie Skype for Business 77
Executer la commande Powershell Skype / Lync de typpe Install-CsDatabase en précisant le 2eme noeud du Cluster 78

Une fois la vérification des permissions ajustées sur les 2 serveurs qui composent le Cluster SQL Always-On, publier à nouveau la topologie avec cette fois-ci au niveau du SQL Server FQDN, le nom du Availability Group.

 

/!\ Attention si vous devez ajouter de nouvelles bases comme les bases de monitoring ou d’archivage à l’instance en SQL Always-On, il est nécessaire de repasser par la publication de la topologie avec le SQL Server primaire au niveau du SQL Server FQDN puis de renouveler les opérations d’ajout des bases dans le Availability Group (bases en statut Full, puis Backup, étapes de configuration ..) et enfin de revenir à la publication de la topologie à la fin avec le Availability Group Name.

79

Le déploiement du Cluster SQL Always-On avec Skype n’est pas encore documenté sur le Technet ni même automatisé par la publication de la topologie. Il n’y a pas non plus de commandes Powershell permettant de gérer aussi facilement le basculement des bases comme avec le SQL Miroring. En espérant vous avoir aidé dans la configuration de votre Cluster SQL Always-On avec Skype for Business.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *