SQL Server 2014 – Instance en cluster sur fichier VHDX partagé

Lors d’un précédent article je détaillais une des nouveautés SQL Server 2014 et Windows server 2012 R2 (SQL Server 2014 – Instance en cluster sur disque CSV) : la possibilité de créer une cluster Guest (des VMs donc) dont le stockage partagé est un disque CSV sur l’hyperviseur.

Ainsi, plusieurs instances FCI (instances virtuelles) peuvent partager un et un seul volume issu du SAN, et enregistré comme disque CSV dans le cluster Guest.

Il existe également une autre possibilité : le fichier VHDX partagé … Un article à venir devrait récapituler les différentes possibilités pour construire un cluster dans des machines virtuelles.

Pour partager un fichier VHDX entre machines virtuelles, rien de plus simple. Afin de bénéficier du support Microsoft, ce ou ces fichiers VHDX partagés (shared VHDX) doivent être stockés sur un disque CSV (donc une LUN issue d’un stockage partagé) du cluster Hyper-V ou bien sur un partage réseau SMB3, tel que le Scale-Out File serveur dont j’ai parlé précédemment.

Let’s go.

Sur mon cluster de voyage, j’ai créé un Target iSCSI avec un volume présenté aux deux nœuds du cluster Hyper-V.

Je vais a présent créer les fichiers VHDX directement sur le volume CSV.

Soit vous utilisez l’interface graphique, dans Hyper-V manager :

image

Soit vous commencez à vous dire qu’un bout de script PowerShell peut vous simplifier la vie et accélérer cette opération :

New-VHD -Path C:\ClusterStorage\Volume1\SQLData1.VHDX -Dynamic -SizeBytes 5GB 
New-VHD -Path C:\ClusterStorage\Volume1\SQLData2.VHDX -Dynamic -SizeBytes 5GB
New-VHD -Path C:\ClusterStorage\Volume1\SQLData3.VHDX -Dynamic -SizeBytes 5GB

Vous constatez que j’ai opté pour 3 disques partagé pour mon cluster Guest. J’ai par ailleurs créé un disque dynamique, vous pouvez bien évidement utiliser le paramètre Fixed pour un disque de taille fixe.

Ensuite, il suffit d’attacher ces 3 disques aux machines virtuelles crées pour l’occasion soit par l’interface graphique en sélectionnant le fichier VHDX créé précédemment :

image

et ensuite aller dans les fonctionnalités avancées afin d’activer le partage du disque entre VMs (notez au passage la possibilité de limiter la bande passante sur chaque disque et même de réserver une bande passante minimum : une QoS pour les disques)

image

Ou bien utiliser une ligne de script :

Add-VMHardDiskDrive -VMName Guest1 -Path C:\ClusterStorage\Volume1\SQLData1.vhdx -SupportPersistentReservations
Add-VMHardDiskDrive -VMName Guest1 -Path C:\ClusterStorage\Volume1\SQLData2.vhdx -SupportPersistentReservations
Add-VMHardDiskDrive -VMName Guest1 -Path C:\ClusterStorage\Volume1\SQLData3.vhdx -SupportPersistentReservations
Add-VMHardDiskDrive -VMName Guest2 -Path C:\ClusterStorage\Volume1\SQLData1.vhdx -SupportPersistentReservations
Add-VMHardDiskDrive -VMName Guest2 -Path C:\ClusterStorage\Volume1\SQLData2.vhdx -SupportPersistentReservations
Add-VMHardDiskDrive -VMName Guest2 -Path C:\ClusterStorage\Volume1\SQLData3.vhdx -SupportPersistentReservations

Sachant que l’opération doit être effectuée sur chacune des VMs du cluster guest, et pour chaque VHDX partagé, cette solution me semble plus appropriée, car économe en temps. La nouveauté de Windows 2012 R2 apparait ici au niveau du CommandLet, avec l’option SupportPersistentReservations qui permet de partager le VHDX.

Notez également que je n’ai pas cherché à ajouter un contrôleur iSCSI supplémentaire dans les paramètres de la VM, ce que j’aurais aussi pu faire au travers de PowerShell dans la même ligne de commande.

Okay, les disques sont maintenant attachés aux VMs de mon Guest Cluster. Reste à initialiser les disques, les formater pour les ajouter dans l’available storage du cluster guest. Rien de nouveau, je vous laisse vous reporter à cet article. Juste 2 / 3 captures pour la route :

imageimage

A ce moment là de l’installation, il faut faire un choix entre utiliser els disques de manière standard, ou bien les mettre sous forme de disque CSV.

SQL Server 2014 supportant a présent l’installation d’une instance FCI sur disque CSV, ces disques permettant alors de supporter plusieurs instances, je vais cumuler les nouveautés : des instances SQL sur un guest cluster utilisant des disques CSV issus de Shared VHDX hostés sur un disque CSV du cluster Hyper-V ! tout el monde à suivi ? Sachant que ce disque CSV est une LUN produite par un target iSCSI !!!

image

Reste à présent à installer une instance virtuelle de SQL Server, ce que j’ai à maintes reprises détaillé dans ce blog. Je ne vais pas détailler plus, référez vs à cet article.

imageimage

Le AddNode pour l’autre VM ne pose pas plus de problème, tout comme l’ajout d’une seconde instance sur ce cluster guest, en réutilisant les 3 disques CSV.

image

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

Happy Shared VHDX !

A propos Christophe

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

2 commentaires pour SQL Server 2014 – Instance en cluster sur fichier VHDX partagé

  1. Ping : SQL Server – Les solutions pour créer un Guest Cluster | Christophe LAPORTE – Consultant SQL Server

  2. Ping : Posters stockage Windows Server 2012 R2 | Christophe LAPORTE – Consultant SQL Server

Laisser un commentaire