Failover Clustering

Cluster actif/passif avec disque partagé

Comprendre le Failover Clustering

Pré-requis

Deux nœuds identiques

Disque partagé – iSCSI, fibre, SMB

Deux interface réseau – une pour la communication interne, disponible en redondance

Normalement un nœud dort (passif)

Configuration possible en actif-passif croisé. Dans ce cas, attention aux licences et à la RAM.

Cluster actif / passif

Cluster actif / passif croisé

Améliorations en SQL Server 2012

Gestion de tempdb

Depuis 2012, tempdb peut être défini sur un disque local. C’est une bonne nouvelle pour les performances.

Attention, il faut s’assurer que le chemin de tempdb existe sur tous les nœuds.

Configuration des checkpoints indirects

Depuis SQL Server 2012, le contrôle du checkpoint peut se faire individuellement par base de données.

Cela permet de définir le recovery time cible à moins d’une minute, ce qui peut améliorer le temps de basculement d’un cluster de basculement.

La commande par base de données est :

ALTER DATABASE … SET TARGET_RECOVERY_TIME = target_recovery_time { SECONDS | MINUTES }

Mise en œuvre

Installation du cluster

Stockage partagé – iSCSI

Configurer les initiateurs sur les futurs serveurs SQL

Domaine Windows

WSFC – Windows Server Failover Clustering

Permissions sur le DNS

Configurer le cluster WSFC

Configurer le quorum

Installation de SQL Server

Installer SQL Server en cluster sur le premier nœud

SQL Server est opérationnel

Installer SQL Server en cluster sur le second nœud

Le cluster est monté

Configurer les paramètres de basculement

Notes sur la sécurité

Pour assurer une authentification Windows sécurisée, SQL Server essaie d’enregistrer le Service Principal Name (SPN) du service auprès de l’Active Directory du domaine lors de son démarrage, et de supprimer l’enregistrement à l’arrêt.

Cet enregistrement automatique n’est pas recommandé dans les environnements où SQL Server est en cluster, car cet enregistrement et suppression peuvent prendre trop de temps, et bloquer la première connexion de WSFC à SQL Server.

Dans ce cas, il vaut mieux enregistrer manuellement le SPN du service, à l’aide de la commande setspn ou de l’outil de configuration Kerberos de SQL Server11https://docs.microsoft.com/en-us/troubleshoot/sql/connect/using-kerberosmngr-sqlserver.