Installation de SQL 2008 en cluster sur Windows 2008

Pour avoir cherché quelques temps sur Internet de la documentation relative à l’installation de SQL Server 2008 en cluster sur 2 nœuds Windows 2008, il faut bien avouer qu’il n’y a pas grand chose.
Certes, la documentation en ligne de SQL Server fournit quelques informations, certes il y a des blogs et des articles qui traitent de l’installation de SQL Server 2008 sur un cluster Windows 2003, mais vraiment pas grand chose sur le couple Windows & SQL en version 2008.

Voici donc un petit post sur l’installation de SQL Server 2008 en cluster, sur des serveurs Windows 2008. Il s’agit d’un retour d’expérience, totalement personnel. Il est fort possible que cette procédure d’installation soit amenée à évoluer pour coller au mieux aux “Best Practices” …

Tout d’abord, installation de Windows édition Entrerprise ou Datacenter sur les 2 nœuds du cluster. SQL Server, lui aussi devra être en version Enterprise.

Une fois Windows installé (procédure classique non détaillée ici), il faut ajouter la feature “Failover Cluster” sur les 2 noeuds.

image

Première remarque concernant le cluster Windows. Pas mal de nouveautés de ce côté là, je vous laisse découvrir ça ici. En ce qui nous concerne, la chose la plus importante concerne le SCSI-3. En effet, s’il était possible de mettre en place un cluster sous Windows 2003 avec des disques SCSI-2, avec Windows 2008, ce n’est plus possible. Il faut impérativement que votre SAN puisse présenter des LUN en réservation SCSI-3.

Donc, première étape, présenter une LUN, 1Gb peuvent suffire, afin de créer le cluster (Quorum de type Node and Disk Majority).
Et ensuite, il est possible de lancer le Wizard de création du cluster :

image image

image image

Premier remarque : une fois mon cluster créé, dans Active Directory, un objet est ajouté dans le conteneur Computeur. Si vous voulez que l’installation de SQL se passe bien, je vous conseille de donner les droits Full Power à cet objet sur le conteneur.

Deuxième remarque : j’ai choisi de ne pas créer de ressource MSDTC à ce moment. Sous Windows 2003, il était fréquent de monter la ressource MSDTC dans le même groupe de ressource que le Quorum.
Avec Windows 2008, il est maintenant possible d’affecter une ressource MSDTC par groupe de ressource. Autrement dit, pour un cluster Actif/Actif avec 2 instances SQL, chaque instance aura son propre MSDTC. Durant la phase d’installation de SQL Server, un warning mettra en évidence l’absence de MSDTC.

Au niveau disque, j’ai choisi de présenter :

  • 3 LUN pour les données des bases utilisateur (pour répartir les fichiers dans différents groupes de fichiers)
  • 1 LUN pour le journal de transaction des bases utilisateur
  • 1 LUN pour les données TempBD (est-ce que la règle qui disait 1 fichier par processeur reste valide avec 32 cœurs ???)
  • 1 LUN pour le journal de transaction TempDB
  • 1 LUN pour les sauvegardes

Une fois les LUN présentées aux 2 nœuds du cluster, il est important de cliquer sur “Validate Cluster”. En effet, il y a fort à parier que si votre configuration n’est pas “validée”, le support technique ne vous prenne pas en charge, car énormément d’incidents déclarés au support sur des environnements cluster sont dus à des problèmes matériel, même si depuis Windows NT4 la HAL certifiée pour des configurations cluster a bien évoluée… Toujours est-il que le processus d’installation de SQL Server va vérifier si vous avez bien “validé” votre configuration cluster.

Ci-dessous les différentes copies d’écran des étapes de l’installation de SQL Server 2008.

image image image

image image image

image image image

image image image

image image image

image

Le processus d’installation se termine avec succès. Dans la console Failover Cluster Management, nous pouvons voir l’ensemble des ressources de mon groupe SQL Server : les adresses IP des mes 2 réseaux pour les connexions clientes, les disques, le service SQL Server et l’Agent SQL.

image

Contrairement à ce qui pouvait être le cas avec l’installation de SQL Server 2000 ou SQL Server 2005 en cluster, une fois le processus d’installation terminé, nous sommes en présence d’un cluster … 1 nœud. Les précédentes versions nous avaient habituées à ce que les 2 nœuds soient ajoutés lors du setup. Ce n’est plus le cas. Mais, de la même manière, ajouter un nœud à un cluster SQL Server 2000 ou SQL Server 2005 n’était pas trivial. Etant donné qu’il s’agit à présent de la seule possibilité pour obtenir la tolérance de panne sur un cluster (oui, je sais, c’est un peu étrange d’en arriver à écrire ça), il faut espérer que l’ajout d’un nœud soit simple.
Et … oui, c’est le cas.

Enfin, presque.

Si comme moi vous utilisez la version RTM de SQL Server 2008 issue du licensing, vous allez avoir la surprise d’obtenir le message d’erreur suivant : « The current SKU is invalid ».
La clé de mon produit n’est pas valide … Mais l’interface graphique m’interdit d’en saisir un autre … Hum hum.

Google est mon ami, et une petite recherche me fait aboutir sur l’article KB 957459. Dans le mille, c’est mon problème.
Solution : le cumulative update. L’opus numéro 2 étant sorti, je corrige donc mes binaires pour ajouter le second nœud. Mais mon instance, elle, est installée en version 10.0.1600. Comment va se passer l’ajout d’un nœud avec des binaires en version 10.0.1779. Je me décide à appliquer le Cumulative Update 2 sur l’instance en cluster.

Et bien, au premier essai, ce n’est pas possible. Le processus d’installation du CU2 va décompresser le patch sur un disque faisant partie des ressources cluster. Or ce patch va mettre offline les ressources du groupe, donc je n’ai plus accès aux binaires du patch, l’installation échoue. Il suffit dans une invite de commande, de positionner le paramètre /X après le nom du patch pour qu’il se décompresse dans un dossier que vous spécifiez.

Au second essaie, le patch s’installe sans problème.
Mais j’obtiens toujours l’erreur « The current SKU is invalid » … Hum hum … Encore.

Pour corriger le problème, il suffit en fait de renommer le fichier DefaultSetup.ini présent sur le média d’installation. Ce fichier contient la fameuse clé … Et donc, pendant le processus d’installation, il est a présent possible de saisir la clé (celle qui était présente dans le fichier) et l’ajout du nœud se passe alors sans accroc.

image image image

image

Une fois mon second nœud ajouté (visible sur la ligne “Preferred owners”), j’ai terminé mon installation en ajoutant une ressource MSDTC dans mon groupe de ressource SQL Server.

Attention, il est conseillé de ne pas mettre de dépendance entre le service SQL Server et MSDTC.

image

L’installation d’un cluster 2 nœuds est à présent terminée.

Si vous avez des questions ou si vous souhaitez un devis pour mettre en place un cluster, n’hésitez pas à me contacter.

Mise à jour : 11 mars 20011

Hands-On Lab haute Disponibilité : http://conseilit.wordpress.com/2011/03/10/hands-on-lab-haute-disponibilit-sql-server/

À propos de Christophe

Consultant SQL Server Formateur certifié Microsoft MVP SQL Server MCM SQL Server 2008
Ce contenu a été publié dans SQL Server, avec comme mot(s)-clef(s) , , , . Vous pouvez le mettre en favoris avec ce permalien.

7 réponses à Installation de SQL 2008 en cluster sur Windows 2008

  1. Jean-Pierre dit :

    pourquoi ne doit-on pas mettre de dépendance entre SQL Server et MSDTC ? Pour éviter qu\’un problème sur MSDTC ne fasse de failover de l\’instance SQL complète ?

  2. Pierre Erol dit :

    Bonjour, Est-il indispenssable d\’avoir SQL Entreprise ? Peut-on débuter avec un serveur SQL et ensuite passer en Cluster par détachement des bases ? Autrement merci pour cet article. En fait je dois positionner mon SAN, mais je voudrais installer avant le serveur SQL afin de tester ma ferme MOSS sur cette base de donnée (certains points de détails doivent être vu avec le SAN).

  3. Unknown dit :

    Bonjour, j\’ai installé un Windows 2008 serveur avec un SQL Serveur 2008.Mon client de demande de commander un deuxième serveur identique pour créer un cluster.Est-il possible de créer un cluster à postériori ?Merci.

  4. Ping : Denali – Installation d’un cluster 2 nœuds | Christophe LAPORTE – Consultant SQL Server

  5. Procédure très pratique vu la pauvreté des docs trouvées en effet. Merci à vous

  6. Ping : NELITE

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s