Focus sur la Haute Disponibilité SQL

Focus sur la Haute Disponibilité SQL

18 mars 2015 Non Par Stefan Plizga

L’arrivée de Skype for Business Server amène des nouveaux au niveau des mécanismes de haute disponibilité SQL supportés. Globalement, ce qui ne change pas :

  • Le cluster SQL « traditionnel » est toujours supporté.
  • Le Database Mirroring est toujours supporté.

Ce qui change, c’est que la solution AlwaysOn Availability Groups de SQL Server est dorénavant supportée et devient celle qui est recommandée par Microsoft car :

  • Cette technologie va être pérenne tandis que le Database Mirroring va être amené à disparaître dans une future version de SQL Server.
  • AlwaysOn permet d’avoir un réplica primaire et jusqu’à 2 réplicas secondaires synchrones.
  • Grâce aux Availability Groups de AlwaysOn, toutes les bases de données basculent en même temps, ce qui évite de se retrouver avec quelques bases actives sur un nœud et les autres bases restantes sur un autre nœud.

Je ne vais pas entrer dans le détail concernant le cluster SQL traditionnel ou le Database Mirroring car il n’y a rien de neuf. Par contre il convient de s’attarder un peu sur AlwaysOn.

Versions SQL et Licensing

  • Un serveur SQL seul peut être version Standard ou Enterprise mais ce scénario ne fournit aucune haute disponibilité.
  • Le Database Mirroring requiert la version Standard ou Enterprise de SQL Server.
  • Le mode AlwaysOn Availability Groups nécessite une licence Enterprise de SQL Server.

Support de AlwaysOn Availability Groups

  • Ce mode n’est possible qu’avec Skype for Business Server 2015, aucunement avec Lync Server.
  • Tous les réplicas doivent être dans le même sous-réseau.
  • Les réplicas doivent être en mode de réplication synchrone.
  • Tous les nœuds SQL doivent faire partie du même domaine Active Directory.
  • Le mode de bascule doit être automatique.
  • Skype for Business ne supporte pas la lecture sur le réplica secondaire ni l’accès à un réplica dans Azure.

Mise en place de AlwaysOn Availability Groups pour Skype for Business Server 2015

Dans le cas d’un nouveau pool à installer, la configuration de Skype for Business Server 2015 se passe, de manière macroscopique, de la manière suivante :

  1. L’infrastructure SQL doit être fonctionnelle mais AlwaysOn Availability Groups n’est pas encore installé
  2. Dans la topologie Skype for Business, ajouter un SQL Store avec une configuration particulière qui permettra de pointer vers le listener AlwaysOn Availability Group tout en référençant dans un premier temps le nœud primaire du futur Availability Group, et indiquer que le mode de haute disponibilité est AlwaysOn Availability Groups.
  3. Terminer la configuration du nouveau pool Skype for Business et publier la topologie. Cette dernière operation va créer les bases de données Skype for Business Server sur le nœud primaire du futur Availability Group.
  4. Ensuite, réaliser les operations de preparation de AlwaysOn sur SQL Server, à savoir ajouter le composant Windows Server Failover Clustering sur les différents nœuds SQL, valider la configuration, créer le cluster, configure les paramètres du quorum et activer la fonctionnailté AlwaysOn Availability Groups.
  5. Créer un Availability Group pour Skype for Business et réaliser les operations de sauvegarde/restauration nécessaires à la mise en place des replicas de bases de données sur les serveurs secondaires à partir des bases existantes sur le serveur primaire.
  6. Mettre à jour la topologie Skype for Business Server en remplaçant la reference au nœud primaire de l’Availability Group par le nom du listener en place, puis publier la topologie.

Mise à jour de l’environnement existant

Etant donné qu’il est possible de mettre à jour ses pools Lync Server 2013 vers Skype for Business Server 2015 simplement, Microsoft documente aussi la méthode pour passer de SQL Server seul ou avec Database Mirroring vers AlwaysOn Availability Groups.

Le principe de passage de SQL Server seul vers AlwaysOn Availability Group est simple :

  • Pour un serveur SQL seul :
    • Installer un 2e serveur SQL permettant de créer un cluster et un AlwaysOn Availability Group.
    • Suivre la même procedure que celle décrite plus haut.
  • Pour une infrastructure Database Mirroring :
    • Vérifier que toutes les bases de données sont sur le serveur SQL primaire.
    • Supprimer les bases sur le serveur secondaire et modifier la topologie en consequence.
    • Suivre la même procedure que celle décrite plus haut pour créer un AlwaysOn Availability Group et mettre à jour la topologie.

Voici un aperçu approfondi de la partie infrastructure SQL pour Skype for Business.

— Stefan