Failover Cluster SQL Server sans disque partagé–DataKeeper

Lors des journées SQL Server 2013 (#JSS2013), j’ai eu le plaisir de co-animer avec mes compères David & David une session haute disponibilité sur SQL Server. Cette session présentait les différentes solutions possible en matière de haute disponibilité SQL Server. Probablement lié à mes cheveux grisonnants, j’ai présenté une des technologies les plus anciennes! Pensif A savoir le Failover Cluster. Technologie effectivement maintes fois présentées lors d’évènements type Techdays, JSS ou autres, dont bon nombre où j’étais speaker.

Il fallait donc innover un peu ! Pour ceux qui connaissent le FCI, un des principes de base repose sur la notion de disque partagé. En effet, pour installer une instance virtuelle, il est nécessaire de disposer d’un stockage partagé. Un bon vieux SAN, sur lequel on va créer des RaidGroups qui seront découpés en LUNs présentées à différents nœuds. Ce stockage est partagé et centralisé.

Si l’on souhaite mettre en place du géo-cluster, avec donc une recopie des données sur un second datacenter, il devient alors nécessaire d’utiliser une solution tierce de recopie des données, niveau disque. Les solutions fournies par des constructeurs style HP, EMC, Unisys sont connues. Ces solutions peuvent être relativement onéreuses voire hors de portée de certaines sociétés. Il reste alors la possibilité d’utiliser des solutions logicielles. Les groupes de disponibilité en sont une, fournie par Microsoft, depuis SQL Server 2012 entreprise. Cette solution propose un stockage asymétrique, donc résous le spof du disque partagé. On profite donc d’un stockage local performant, et SQL Server se charge de répercuter sur le journal (ou les journaux) de transaction distants les opérations effectuées sur le réplica primaire.

Mais il manque une solution pour mettre en place une solution de FCI avec stockage asymétrique, qui ne soit pas liée à un constructeur. C’est là qu’interviennent des éditeurs tels que SIOS ou DoubleTake.

Lors des JSS2013, j’ai présenté la solution SIOS DataKeeper. Le temps dont nous disposions durant le session ne permettait pas de montrer la mise en place de bout en bout de la solution. Je m’étais alors contenté de montré comment ajouter un disque local “partagé” dans le groupe de ressource d’une instance virtuelle.

Car c’est bien de cela dont il s’agit. Profiter d’un stockage local, donc asymétrique entre les nœuds n’un cluster pour simuler un stockage partagé. Vous pouvez ainsi tirer parti de de disques SSD, de cartes FusionIO ou autres, afin d’avoir un maximum de performances sans pour autant sacrifier la disponibilité. Grâce à DataKeeper, le stockage local devient partagé, le logiciel de SIOS gère alors la réplication des blocs au niveau des disques tout en rendant disponible ce disque dans la couche cluster Windows.

Pour la mise en place de cette solution, j’ai d’abord installé 2 nœuds Windows 2012R2 (d’autres versions sont possibles) en édition standard (puisque il n’y a plus de différence au niveau des fonctionnalités HA et que l’édition entreprise a disparu). Je ne vais pas revenir sur cette phase dont j’ai déjà parlé ici.

image

Ensuite, vient la phase d’installation de DataKeeper sur les nœuds.

imageimageimageimageimageimage

Pensez à compléter les informations relatives à la licence … Et terminez l’installation.

imageimage

Le process d’installation est plutôt clean, sans surprise. Une fois le setup terminé, il n’y a pas de disques partagés dans la console cluster.

image

Il est temps d’ouvrir l’outil de gestion de DataKeeper. Le style est épuré, version MMC … La première étape consiste à se connecter à un serveur. Notez qu’il est possible d’installer cette console sur un poste client et piloter à distance DataKeeper. D’un point de vue sécurité, pour la communication entre nœuds, il suffit d’ouvrir quelques ports TCP (d’ailleurs la documentation technique présente ici est bien faite … 200 pages a lire avant de s’endormir !).

image

Ensuite, la création d’un Job permettra la synchronisation des données. On sélectionne un nœud et le disque a synchroniser, et ensuite, le second nœud et de la même manière la volume. Je n’ai pas testé avec des points de montage, j’avoue. Je prévois le test pour bientôt.

imageimageimageimage

Un dernier écran nous permet d’affiner les paramètres de synchronisation, comme le taux de compression et le mode, synchrone ou asynchrone.image

Une fois l’assistant terminé, la détection de la fonctionnalité cluster permet l’ajout automatique du disque dans le available storage.

image

Quelques secondes de patience et la synchronisation (volume vide) se met en place.

image

Coté cluster, le volume est disponible, tout comme dans l’assistant d’installation de SQL Server. Je ne vais pas détailler dans ce post l’installation d’une instance virtuelle SQL Server, j’ai déjà posté plusieurs articles à ce sujet, dont celui-ci.

imageimageimage

Une fois l’installation de SQL Server terminée, il est possible de visualiser quelques informations dans la console de gestion du cluster :

image

On voit également que l’intégration avec le cluster est relativement bien faite, car les disques DataKeeper apparaissent en tant que type de ressource :

image

De la même manière qu’il est possible d’ajouter des volumes sur une installation “classique” de SQL Server sur un cluster, il suffit avec DataKeeper d’ajouter du stockage sur chacun des nœuds. Ensuite, on créé un nouveau job de synchronisation, et pour finir on ajoute le stockage au niveau du cluster Windows. J’ai fait cette démo lors des JSS2013, allez jeter un œil à la vidéo lorsqu’elle sera en ligne.

En conclusion, la solution DataKeeper de SIOS comble probablement un vide laissé entre le FCI (le cluster de basculement tel qu’on le connait depuis plus d’une décennie), le geo-cluster avec son cout probablement prohibitif et les groupes de disponibilité a l’heure actuelle réservé à l’édition entreprise de SQL Server.

Cette solution mérite probablement que l’on s’y intéresse …

Rendez-vous sur le site SIOS, téléchargez une version d’évaluation et contactez moi si vous êtes intéressés par un POC.

Happy cluster!

A propos Christophe

Consultant SQL Server Formateur certifié Microsoft MVP SQL Server MCM SQL Server 2008
Cet article, publié dans SQL Server, Windows, est tagué , . Ajoutez ce permalien à vos favoris.

3 commentaires pour Failover Cluster SQL Server sans disque partagé–DataKeeper

  1. Ping : Storage Replica–Windows Server vNext | Christophe LAPORTE – Consultant SQL Server

  2. Ping : SQL Server 2016-Instance en cluster-Storage Spaces Direct | Christophe LAPORTE – Consultant SQL Server

  3. Ping : SQL Server 2016 supporte Windows Server 2016 Storage Spaces Direct | Christophe LAPORTE – Consultant SQL Server

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