Dans la partie 1 de cette série, je vous ai montré comment préparer votre cluster multisite, y compris la configuration du Quorum majoritaire du nœud et du partage de fichiers. Dans la partie 2, nous avons vu un exemple vidéo montrant comment intégrer SteelEye DataKeeper, l’une des solutions de réplication de cluster disponibles, avec un cluster de basculement pour configurer un cluster de basculement Hyper-V multisite. Dans la partie 3, nous examinerons comment Microsoft SQL Server 2008 peut être configuré dans un cluster multisite avec le Clustering de basculement Windows Server 2008 et l’édition de cluster SteelEye DataKeeper.
Tout d’abord, pourquoi voudriez-vous déployer un cluster SQL server multisite ? SQL Server est livré avec une variété d’options de haute disponibilité, y compris l’expédition de journaux, la réplication (transactionnelle, fusion, instantané), la mise en miroir de bases de données et les clusters de basculement. Il y a un excellent article qui parle des options de haute disponibilité dans SQL Server 2008, donc je ne réinventerai pas la roue ici. Si vous souhaitez en savoir plus sur toutes les options, consultez cet article de Ross Mistry, Options de haute disponibilité dans SQL Server 2008.
Si vous lisez l’article, le résumé de Ross fait la déclaration suivante…
» De toute évidence, le clustering de basculement est le meilleur choix pour réduire les temps d’arrêt du système et fournir une disponibilité d’application plus élevée pour l’ensemble de l’instance de SQL Server au sein d’un site ; cependant, un cluster de basculement ne protège pas contre les pannes de disque et nécessite un SAN. »
Et si vous pouviez bénéficier de tous les avantages décrits par Ross, vous protéger contre les pannes de disque et éliminer le besoin d’un SAN? Eh bien, la bonne nouvelle est que c’est exactement ce que vous pouvez faire en implémentant un cluster multisite Microsoft SQL Server 2008 sur Windows Server 2008. Le cluster multisite SQL Server 2008 peut être un peu impropre. Il n’a pas nécessairement besoin d’être déployé sur des sites géographiquement dispersés. Les serveurs peuvent être situés dans le même rack, la même pièce, le même bâtiment ou à travers les continents; cela n’a vraiment pas d’importance. L’important est que vous éliminiez votre stockage en tant que point de défaillance unique et si vous choisissez de localiser les nœuds de votre cluster dans différents emplacements physiques, vous avez également intégré la résilience du site.
L’une des questions et des points de confusion les plus courants concernant le clustering de basculement SQL Server 2008 et Windows Server 2008 est la prise en charge de l’échec entre les sous-réseaux. Oui, le clustering de basculement de Windows Server 2008 prend en charge l’échec entre les sous-réseaux pour la plupart des applications, cependant, SQL Server 2008 n’est pas l’une de ces applications. Pour autant que je sache, SQL Server 2008 R2 ne prendra pas en charge l’échec entre les sous-réseaux lorsqu’il sera publié. Ma compréhension est que l’équipe SQL travaille sur la prise en charge du basculement entre sous-réseaux, mais il sera pris en charge quelque temps après la sortie de SQL Server 2008 R2. Donc, pour le moment, vous devrez couvrir votre sous-réseau si vous souhaitez séparer géographiquement vos nœuds.
Maintenant que vous avez décidé de déployer un cluster SQL server multi-nœuds, voici les étapes à suivre.
CONFIGUREZ VOTRE CLUSTER DE BASE
Suivez les étapes de la partie 1 de cette série pour configurer un cluster à 2 nœuds de base avec un Quorum majoritaire de partage de nœuds et de fichiers.
CONFIGUREZ VOTRE RÉPLICATION
Le déploiement d’un cluster multisite nécessite que vous travailliez en étroite collaboration avec votre fournisseur de réplication pendant cette partie de la configuration. Chaque fournisseur aura des instructions très spécifiques sur la configuration de la réplication et la création des ressources de stockage à utiliser dans votre cluster. Aux fins de cette démonstration, j’utiliserai SteelEye DataKeeper Cluster Edition pour répliquer le lecteur E du serveur nommé PRIMAIRE au serveur nommé SECONDAIRE. Le lecteur E sur le PRIMAIRE et le SECONDAIRE ne sont que des volumes attachés locaux et ne font pas partie d’un SAN. Tant que le lecteur E apparaît comme un disque attaché local, DataKeeper peut le répliquer d’un serveur à un autre. Vous pouvez combiner SAS, iSCSI, SAN, VHD ou tout autre type de stockage car DataKeeper est indépendant du stockage.
Après avoir configuré votre cluster de base comme décrit dans la partie 1 de ma série, exécutez la configuration de DataKeeper.exe pour installer SteelEye DataKeeper Cluster Edition sur les deux nœuds du cluster. Vous serez invité à entrer votre clé de licence à la fin de l’installation. Entrez votre licence et redémarrez vos serveurs lorsque vous y êtes invité. Vous êtes maintenant prêt à créer votre miroir. Lancez l’interface graphique DataKeeper et suivez les instructions ci-dessous pour créer votre miroir.
Cliquez sur « Se connecter au serveur ».
Entrez le nom du premier serveur. Cliquez sur Se connecter.
Entrez le nom du deuxième serveur, cliquez sur Connecter
Cliquez maintenant sur Créer une tâche. Cela lancera l’assistant Créer une tâche.
Donnez un nom et une description à votre emploi. Ceux-ci peuvent être tout ce que vous voulez.
Choisissez ce qui suit:
- Serveur source – où les données seront répliquées à partir de la carte réseau
- – le réseau sur lequel le trafic de réplication voyagera Volume
- – le volume que vous souhaitez répliquer
Cliquez sur Suivant pour continuer.
Choisissez les éléments suivants:
- Serveur cible – où les données seront répliquées sur la carte réseau
- – le réseau sur lequel le trafic de réplication voyagera
- Volume – le volume que vous souhaitez répliquer
Cliquez sur Suivant pour continuer.
Choisissez ce qui suit:
- Niveau de compression – Si vous disposez d’un réseau de 100 Mbps ou plus rapide pour la réplication, laissez-le défini sur aucun. Si vous avez un WAN inférieur à 100 Mbps, vous pouvez bénéficier de l’activation de la compression. Les paramètres situés quelque part au milieu ont tendance à vous offrir les meilleures performances de compression par rapport à la surcharge du processeur associée à l’activation de la compression.
- Asynchrone vs. La réplication synchrone-asynchrone est généralement acceptable dans la plupart des environnements et est définitivement requise dans les environnements WAN à latence élevée. J’ai écrit tout un article de blog sur ce sujet, donc si vous avez des questions, consultez mon article sur la réplication asynchrone par rapport à la réplication synchrone.
- Bande passante maximale – vous pouvez considérer cela comme une QOS « pauvre ». Si vous souhaitez vous assurer que la réplication ne dépasse jamais un certain seuil de votre capacité WAN, vous pouvez limiter la quantité de bande passante qu’elle peut consommer. Sauf si vous avez une bonne raison de le régler, il vaut mieux le laisser à 0.
Cliquez sur Terminé pour créer votre miroir.
Maintenant, si vous regardez votre interface graphique DataKeeper, elle ressemblera à ce qui suit.
Une fois que vous avez créé votre miroir, vous devez le rendre disponible dans le cluster Microsoft « Stockage disponible ». Il existe plusieurs façons de le faire, mais le moyen le plus simple consiste à utiliser l’interface de ligne de commande Windows PowerShell. Voici un exemple qui montre comment prendre le miroir existant que nous venons de créer sur le lecteur E et l’ajouter au cluster « Stockage disponible », le déplacer vers le nœud PRINCIPAL et le mettre en service
Import-Module FailoverClusters
Add-ClusterResource-Name « Volume de données E » – ResourceType « Volume de données » – Group « Stockage disponible »
Get-ClusterResource » DataKeeper Volume E »| Set-ClusterParameter VolumeLetter E
Move-ClusterGroup « Stockage disponible » – Nœud primaire
Start-ClusterResource « DataKeeper Volume E »
Pour plus d’informations informations sur PowerShell et les commandes disponibles pour une utilisation avec le Clustering de basculement, consultez cet excellent article de blog de Symon Perriman de l’équipe de clustering de basculement Microsoft.
http://blogs.msdn.com/clustering/archive/2008/12/20/9243367.aspx
Vous allez maintenant répéter les étapes ci-dessus pour ajouter des miroirs supplémentaires que vous utiliserez dans votre cluster. Dans notre cas, nous allons créer un miroir du lecteur F et l’utiliser pour regrouper le MSDTC. Après avoir ajouté vos miroirs supplémentaires et les avoir ajoutés au stockage disponible, votre interface graphique DataKeeper devrait ressembler à ceci.
Et votre interface graphique du gestionnaire de cluster de basculement devrait ressembler à ceci.
REMARQUE IMPORTANTE – Un correctif est nécessaire pour prendre en charge le DTC avec des ressources de disque tierces. Veuillez consulter l’article de base de connaissances suivant et appliquer le howfix à tous les nœuds de cluster. http://support.microsoft.com/kb/978476
SQL 2008 dépend beaucoup de MSDTC, il est donc fortement recommandé de regrouper la ressource MSDTC avant de regrouper votre ressource SQL. Les articles suivants sont fournis à titre de référence pour la configuration et la gestion de votre ressource MSDTC.
http://technet.microsoft.com/en-us/library/cc770748( WS.10).aspx
http://technet.microsoft.com/en-us/library/cc771540( WS.10).aspx
Vous commencerez par ouvrir l’interface graphique du Gestionnaire de cluster de basculement, puis choisissez « Configurer un service ou une application ».
Vous choisirez ensuite « Coordinateur de transactions distribuées » et cliquez sur Suivant
Donne à la ressource MSDTC un nom et une adresse IP unique. Ceux-ci doivent être uniques à MSDTC et non les mêmes que ceux que vous utiliserez plus tard lorsque vous créerez votre ressource SQL.
Choisissez le volume dans lequel vous stockerez les données de la ressource MSDTC. Dans notre cas, nous choisissons le lecteur F répliqué.
Confirmez vos informations et cliquez sur Suivant pour continuer.
Félicitations, vous avez correctement configuré la ressource DTC. Cliquez sur Terminer.
Nous sommes à peu près prêts à commencer l’installation du premier nœud du cluster SQL Server, cependant, il y a une chose que nous devons faire en préparation – Glisser le flux SQL 2008 SP1 sur le support d’installation SQL Server 2008 RTM.
GLISSEZ LE FLUX SQL SP1 SUR VOTRE SUPPORT D’INSTALLATION SQL 2008
Ce que j’ai découvert, c’est que SQL Server 2008 ne s’installera pas sur Windows Server 2008 R2 sans avoir d’abord glissé SQL Server 2008 SP1 sur votre support d’installation SQL 2008. Voici un excellent article qui décrit comment glisser SQL Server 2008 RTM et Service Pack 1. Après avoir lu cet article et glissé avec succès SP1 sur SQL 2008 RTM, j’ai trouvé l’article Microsoft KB suivant qui décrit la même procédure. Vous pouvez obtenir une erreur qui ressemble à ce qui suit si vous essayez d’installer SQL sans d’abord glisser SP1 sur le support.
Il y a eu une erreur définissant la valeur de la propriété privée ‘RequireKerberos’ ‘1’
J’ai suivi les instructions détaillées dans le premier article et copié mon installation SQL 2008 avec SP1 sur le lecteur C: \ des deux nœuds de mon cluster. Dans les instructions ci-dessous, je vais effectuer l’installation à partir du disque local de chaque nœud de cluster.
INSTALLATION DE VOTRE PREMIER NŒUD DE CLUSTER
Maintenant que vous avez votre support d’installation SQL Server 2008 SP1 prêt à l’emploi, vous êtes prêt à installer votre premier nœud SQL. Il y a un « problème » majeur lorsqu’il s’agit d’installer SQL sur un cluster multi-nœuds. Pour que vous puissiez installer SQL sur un cluster multi-nœuds, vous devez d’abord passer le processus de validation du cluster de basculement Windows Server 2008. Malheureusement, un cluster multisite est exempté de passer le test lié au stockage, vous ne pouvez donc jamais réellement « passer » la validation en ce qui concerne SQL. Cela a demandé une petite enquête de ma part, mais ce que je suis venu trouver, c’est qu’il existe un paramètre de ligne de commande qui vous permet d’ignorer le test de validation sur l’installation de SQL 2008. Voici la ligne de commande.
Setup/SkipRules=Cluster_VerifyForErrors/Action=InstallFailoverCluster
Pour lancer la configuration SQL, ouvrez une fenêtre de commande, accédez à votre répertoire d’installation SQL 2008 avec SP1 et tapez la commande comme indiqué ci-dessous.
Si tout se passe comme prévu, vous devriez voir l’écran ci-dessous. Cliquez sur OK pour continuer.
Entrez votre clé de produit et cliquez sur Suivant
Acceptez le contrat de licence et cliquez sur Suivant
Cliquez sur Installer pour installer les fichiers de support d’installation
À la fin de la configuration des fichiers de support, vous recevrez un avertissement. Cliquez sur Afficher les détails et vous verrez le message ci-dessous. Vous pouvez cliquer sur Suivant, en ignorant ce message car il est attendu dans un cluster de stockage multisite ou non partagé.
Choisissez les fonctionnalités que vous souhaitez installer et cliquez sur Suivant. Laissez le répertoire « Fonctionnalité partagée » défini sur le lecteur C car les binaires SQL ne doivent pas être installés sur le volume répliqué.
Sur l’écran suivant, vous choisirez un nom de réseau pour votre serveur SQL. Ce sera le nom auquel tous les clients se connecteront. En supposant qu’il s’agit de l’instance par défaut, laissez l’ID d’instance et le répertoire racine de l’instance définis sur les valeurs par défaut. Ne déplacez pas le répertoire racine de l’instance vers le volume répliqué.
Il est recommandé d’avoir des comptes de domaine distincts pour SQLServer et SQLAgent. Vous pouvez prendre le temps de créer ces comptes maintenant si vous ne l’avez pas déjà fait. Ces comptes ne nécessitent aucune autorisation spéciale, car ce processus d’installation leur donnera les autorisations dont ils ont besoin.
Confirmez que vous disposez de suffisamment d’espace disque et cliquez sur Suivant pour continuer.
Choisissez les paramètres par défaut pour permettre la création d’un nouveau groupe de ressources de cluster nommé » SQL Server (MSSQLSERVER) « .
Choisissez un volume répliqué encore disponible, dans notre cas le lecteur E:\. Cliquez sur Suivant pour continuer.
Maintenant, vous allez choisir l’adresse IP que vous souhaitez associer à la ressource de cluster SQL. Vous pouvez le laisser configuré pour utiliser DHCP si vous le souhaitez.
Choisissez vos paramètres de sécurité et cliquez sur Suivant
Ajoutez des administrateurs SQL Server et choisissez votre mode d’authentification, puis cliquez sur Suivant
Choisissez vos options de rapport d’erreur et d’utilisation et cliquez sur Suivant
Vous verrez à nouveau quelques avertissements liés au processus de validation. Vous pouvez ignorer ces messages car ils sont attendus dans un cluster SQL Server multisite.
Cliquez sur Installer pour lancer le processus d’installation
Si tout s’installe comme prévu, vous devriez voir les écrans suivants. Cliquez sur Suivant puis sur Fermer pour terminer l’installation.
Félicitations, vous avez installé avec succès le premier nœud de votre cluster SQL Server multisite. Nous allons maintenant installer le deuxième nœud du cluster.
INSTALLER LE DEUXIÈME NŒUD DE CLUSTER
L’installation du deuxième nœud de cluster est similaire à l’installation du premier nœud. Nous devons exécuter à nouveau la configuration SQL à partir de la ligne de commande afin de pouvoir ignorer le processus de validation. Ainsi, à partir du 2ème nœud, ouvrez votre invite de commande et exécutez la commande suivante.
-
Installez SQL 2008 SP1 (configuration fusionnée) sur le 2ème nœud à l’aide de la commande suivante :
Setup/SkipRules=Cluster_VerifyForErrors/Action=AddNode/INSTANCENAME= »MSSQLSERVER »
* Remarque : Cela suppose que vous avez installé l’instance par défaut sur le 1er nœud
Cela lancera l’assistant d’installation comme indiqué ci-dessous. Cliquez sur OK pour continuer.
Entrez votre clé de produit et cliquez sur Suivant.
Acceptez les conditions de la licence et cliquez sur Suivant
Cliquez sur Installer pour installer les fichiers de support d’installation.
Vous pouvez à nouveau ignorer l’avertissement indiquant que certains tests de validation de cluster ont été ignorés. Cela est à prévoir dans un cluster multisite et des clusters de stockage non partagés.
Vérifiez que vous ajoutez le nœud à la bonne instance et cliquez sur Suivant.
Ajoutez les mots de passe aux comptes de service et cliquez sur Suivant
Choisissez vos options de rapport d’erreur et d’utilisation et cliquez sur Suivant
Encore une fois, ignorez l’avertissement concernant les opérations ignorées.
Cliquez sur Installer pour lancer le processus d’installation.
Si tout se passe comme prévu, vous devriez voir l’écran suivant.
Maintenant que vous avez un cluster à deux nœuds entièrement fonctionnel, vous devriez probablement tester les choses en effectuant des basculements manuels. Faites un clic droit sur la ressource et choisissez « Déplacer vers le nœud SECONDAIRE ».
Si tout est configuré correctement, l’interface graphique de votre cluster de basculement devrait se présenter comme suit.
CONCLUSION
Je crois que les clusters SQL avec un stockage répliqué ont beaucoup de sens. Le stockage a toujours été un point de défaillance unique des clusters traditionnels. Vous pouvez éliminer ce point de défaillance unique en déployant un cluster SQL Server avec un stockage répliqué à partir de SteelEye ou de tout autre partenaire de réplication de cluster multisite Microsoft. J’espère que vous avez trouvé cet article instructif. Si vous avez des questions ou des suggestions, veuillez ajouter vos commentaires!