Créer une FCI avec Espaces de stockage direct (SQL Server sur machines virtuelles Azure)

S’applique à :SQL Server sur la machine virtuelle Azure

Conseil

Il existe de nombreuses méthodes pour déployer un groupe de disponibilité. Simplifiez votre déploiement pour éviter d’utiliser un équilibreur de charge Azure ou un nom de réseau distribué (DNN) pour votre groupe de disponibilité Always On, et créez vos machines virtuelles SQL Server dans plusieurs sous-réseaux au sein du même réseau virtuel Azure. Si vous avez déjà créé votre groupe de disponibilité dans un seul sous-réseau, vous pouvez le migrer vers un environnement multi-sous-réseau.

Cet article explique comment créer une instance de cluster de basculement (FCI) à l’aide d’Espaces de stockage direct avec SQL Server sur des machines virtuelles Azure. Espaces de stockage direct agit comme un réseau de zone de stockage virtuel (VSAN) basé sur logiciel qui synchronise le stockage (disques de données) entre les nœuds (machines virtuelles Azure) dans un cluster Windows.

Pour plus d’informations, consultez une présentation de ICF avec SQL Server sur les machines virtuelles Azure et les meilleures pratiques de cluster.

Notes

Il est maintenant possible d’effectuer un lift-and-shift de votre solution d’instance de cluster de basculement vers SQL Server sur des machines virtuelles Azure à l’aide d’Azure Migrate. Pour en savoir plus, consultez Migrer une instance de cluster de basculement.

Vue d’ensemble

La technologie Espaces de stockage direct (S2D) prend en charge deux types d’architectures : convergée et hyperconvergée. Une infrastructure hyperconvergée place le stockage sur les mêmes serveurs que ceux qui hébergent l’application en cluster, de sorte que le stockage se trouve sur chaque nœud FCI SQL Server.

Le diagramme suivant montre la solution complète, laquelle utilise des espaces de stockage direct hyperconvergés avec SQL Server sur des machines virtuelles Azure :

Diagramme de la solution complète, utilisant des espaces de stockage direct hyperconvergés

Le diagramme précédent montre les ressources suivantes dans le même groupe de ressources :

  • Deux machines virtuelles dans un cluster de basculement Windows Server. Lorsqu’une machine virtuelle se trouve dans un cluster de basculement, elle est également désignée comme nœud ou nœud de cluster.
  • Chaque machine virtuelle possède au moins deux disques de données.
  • La technologie Espaces de stockage direct synchronise les données sur le disque de données et présente le stockage synchronisé en tant que pool de stockage.
  • Le pool de stockage présente un volume partagé de cluster (CSV) au cluster de basculement.
  • Le rôle du cluster de l’instance de cluster de basculement SQL Server utilise le volume partagé de cluster pour les lecteurs de données.
  • Un équilibreur de charge Azure pour contenir l’adresse IP de l’instance de cluster de basculement SQL Server pour un scénario de sous-réseau unique.
  • Un groupe à haute disponibilité Azure contient toutes les ressources.

Notes

Vous pouvez créer la solution complète dans Azure à partir d’un modèle. Un exemple de modèle est disponible sur la page Modèles de démarrage rapide Azure (en anglais) de GitHub. Cet exemple n’est pas conçu ni testé pour une charge de travail spécifique. Vous pouvez exécuter le modèle pour créer une instance de cluster de basculement SQL Server avec le stockage Espaces de stockage direct connecté à votre domaine. Vous pouvez évaluer le modèle et le modifier selon vos besoins.

Prérequis

Avant de suivre les instructions décrites dans cet article, vous devez déjà disposer des éléments suivants :

Créer un cluster de basculement Windows

La procédure de création de votre cluster de basculement Windows Server varie selon que vous avez déployé vos machines virtuelles SQL Server sur un seul ou plusieurs sous-réseaux. Suivez les étapes indiquées dans le tutoriel du scénario à plusieurs sous-réseaux ou celui du scénario à un seul sous-réseau. Ces tutoriels servent à créer un groupe de disponibilité, mais la procédure de création du cluster est la même.

Configurer un quorum

Bien que le témoin de disque soit l’option de quorum la plus résiliente, il n’est pas pris en charge pour les instances de cluster de basculement configurées avec les espaces de stockage direct. Par conséquent, le témoin cloud est la solution de quorum recommandée pour ce type de configuration de cluster pour SQL Server sur les machines virtuelles Azure.

Si vous avez un nombre pair de votes dans le cluster, configurez la Solution de quorum qui correspond le mieux aux besoins de votre entreprise. Pour plus d’informations, consultez Quorum avec les machines virtuelles SQL Server.

Valider le cluster

Validez le cluster dans l’interface utilisateur Gestionnaire du cluster de basculement ou à l’aide de PowerShell.

Pour valider le cluster à l’aide de l’interface utilisateur, procédez comme suit sur l’une des machines virtuelles :

  1. Sous Gestionnaire de serveur, sélectionnez Outils, puis Gestionnaire du cluster de basculement.

  2. Sous Gestionnaire du cluster de basculement, sélectionnez Action, puis Valider la configuration.

  3. Sélectionnez Suivant.

  4. Sous Sélectionner des serveurs ou un cluster, entrez le nom des deux machines virtuelles.

  5. Sous Options de test, sélectionnez Exécuter uniquement les tests que je sélectionne.

  6. Sélectionnez Suivant.

  7. Sous Sélection des tests, sélectionnez tous les tests à l’exception de Stockage, comme illustré ici :

    Sélectionner les tests de validation du cluster

  8. Sélectionnez Suivant.

  9. Sous Confirmation, sélectionnez Suivant.

    L’assistant Valider une configuration exécute les tests de validation.

Pour valider le cluster avec PowerShell, exécutez le script suivant à partir d’une session PowerShell d’administrateur sur l’une des machines virtuelles :

Test-Cluster –Node ("<node1>","<node2>") –Include "Storage Spaces Direct", "Inventory", "Network", "System Configuration"

Ajouter du stockage

Les disques Espaces de stockage direct doivent être vides. Ils ne peuvent pas contenir de partitions ou d’autres données. Pour nettoyer les disques, suivez les instructions de la rubrique Déployer des espaces de stockage direct.

  1. Activer les espaces de stockage direct.

    Le script PowerShell suivant active les Espaces de stockage direct :

    Enable-ClusterS2D
    

    Dans le Gestionnaire du cluster de basculement, vous pouvez maintenant voir le pool de stockage.

  2. Créez un volume.

    La technologie Espaces de stockage direct crée automatiquement un pool de stockage lorsque vous l’activez. Vous êtes maintenant prêt à créer un volume. La cmdlet PowerShell New-Volume automatise le processus de création du volume. Ce processus comprend la mise en forme, l’ajout du volume au cluster et la création d’un CSV. Cet exemple crée un volume partagé de cluster de 800 gigaoctets (Go) :

    New-Volume -StoragePoolFriendlyName S2D* -FriendlyName VDisk01 -FileSystem CSVFS_REFS -Size 800GB
    

    Une fois que vous avez exécuté la commande précédente, un volume de 800 Go est monté en tant que ressource de cluster. Le volume se trouve sous C:\ClusterStorage\Volume1\.

    Cette capture d’écran montre un CSV avec Espaces de stockage direct :

    Capture d’écran d’un volume partagé de cluster avec Espaces de stockage direct

Tester le basculement de cluster

Testez le basculement de votre cluster. Dans le Gestionnaire du cluster de basculement, cliquez avec le bouton droit sur votre cluster et sélectionnez Autres actions>Déplacer une ressource de cluster principale>Sélectionner le nœud et sélectionnez l’autre nœud du cluster. Déplacez la ressource de cluster principale vers chaque nœud du cluster, puis replacez-la sur le nœud principal. Si vous parvenez à déplacer le cluster vers chaque nœud, vous êtes prêt à installer SQL Server.

Testez le basculement du cluster en déplaçant la ressource principale sur les autres nœuds

Créer l’instance de cluster de basculement SQL Server

Après avoir configuré le cluster de basculement et tous les composants du cluster, notamment le stockage, vous pouvez créer l’instance de cluster de basculement SQL Server.

  1. Connectez-vous à la première machine virtuelle avec RDP.

  2. Dans Gestionnaire du cluster de basculement, vérifiez que toutes les ressource de cluster principales se trouvent sur la première machine virtuelle. Si nécessaire, déplacez toutes les ressources vers cette machine virtuelle.

  3. Si la version du système d’exploitation est Windows Server 2019 et que le cluster Windows a été créé à l’aide du nom de réseau DNN (Distributed Network Name) par défaut, l’installation de la technologie FCI pour SQL Server 2017 et les versions antérieures échoue avec l’erreur The given key was not present in the dictionary.

    Lors de l’installation, la configuration SQL Server recherche le nom de réseau virtuel (VNN) existant et ne reconnaît pas le cluster DNN Windows. Le problème a été résolu dans la configuration SQL Server 2019. Pour SQL Server 2017 et les versions antérieures, suivez ces étapes pour éviter l’erreur d’installation :

    • Dans le Gestionnaire de cluster de basculement, connectez-vous au cluster, cliquez avec le bouton droit sur Rôles, puis sélectionnez Créer un rôle vide.
    • Cliquez avec le bouton droit sur le rôle vide créé, sélectionnez Ajouter une ressource, puis sélectionnez Point d’accès client.
    • Entrez un nom et effectuez l’Assistant pour créer le Point d’accès client.
    • Une fois l’installation du FCI SQL Server terminée, le rôle contenant le Point d’accès client temporaire peut être supprimé.
  4. Recherchez le support d’installation. Si la machine virtuelle utilise l’une des images Azure Marketplace, le support se situe sous C:\SQLServer_<version number>_Full. Sélectionnez Configuration.

  5. Dans le Centre d’installation SQL Server, sélectionnez Installation.

  6. Sélectionnez Installation d’un nouveau cluster de basculement SQL Server. Suivez les instructions de l’Assistant pour installer l’instance de cluster de basculement SQL Server.

  7. Sur la page Configuration réseau du cluster, l’adresse IP à indiquer varie selon que vos machines virtuelles SQL Server ont été déployées sur un seul ou plusieurs sous-réseaux.

    1. Pour un environnement à un seul sous-réseau, indiquez l’adresse IP que vous prévoyez d’ajouter à l’instance Azure Load Balancer.
    2. Pour un environnement à plusieurs sous-réseaux, indiquez l’adresse IP secondaire dans le sous-réseau de la première machine virtuelle SQL Server que vous aviez désignée comme adresse IP du nom réseau de l’instance de cluster de basculement :

    Fournissez l’adresse IP secondaire dans le sous-réseau de la première machine virtuelle SQL Server que vous avez précédemment désignée comme adresse IP du nom réseau de l’instance de cluster de basculement

  8. Dans Configuration du moteur de base de données, les répertoires de données de l’instance de cluster de basculement doivent se trouver sur un stockage en cluster. Avec Espaces de stockage direct, il ne s’agit pas d’un disque partagé, mais d’un point de montage vers un volume sur chaque serveur. La technologie Espaces de stockage direct synchronise le volume entre les deux nœuds. Le volume est présenté au cluster en tant que CSV. Utilisez le point de montage du volume partagé de cluster pour les répertoires de données.

    Répertoires de données

  9. Une fois que l’Assistant a terminé, le programme d’installation installe une FCI SQL Server sur le premier nœud.

  10. Une fois l’instance de cluster de basculement installée sur le premier nœud, connectez-vous au deuxième nœud à l’aide du protocole RDP.

  11. Ouvrez le Centre d’installation SQL Server. Sélectionnez Installation.

  12. Sélectionnez Ajouter un nœud à un cluster de basculement SQL Server. Suivez les instructions de l’Assistant pour installer SQL Server et ajouter le nœud à l’instance de cluster de basculement.

  13. Pour un scénario à plusieurs sous-réseaux : dans Configuration réseau du cluster, entrez l’adresse IP secondaire dans le sous-réseau de la deuxième machine virtuelle SQL Server que vous aviez désignée comme adresse IP du nom réseau de l’instance de cluster de basculement

    Entrez l’adresse IP secondaire dans le sous-réseau de la deuxième machine virtuelle SQL Server que vous avez précédemment désignée comme adresse IP du nom réseau de l’instance de cluster de basculement

    Lorsque vous sélectionnez Suivant dans Configuration réseau du cluster, le programme d’installation affiche une boîte de dialogue indiquant que l’installation de SQL Server a détecté plusieurs sous-réseaux (cf. image d’exemple). Sélectionnez Oui pour confirmer.

    Confirmation de sous-réseaux multiples.

  14. Une fois les instructions de l’Assistant suivies, le programme d’installation ajoute le deuxième nœud FCI SQL Server.

  15. Répétez ces étapes sur les autres nœuds que vous voulez ajouter à l’instance du cluster de basculement du SQL Server.

Notes

Les images de la galerie de la Place de marché Azure sont fournies avec SQL Server Management Studio. Si vous n’avez pas utilisé une image de la place de marché, téléchargez SQL Server Management Studio (SSMS).

S’inscrire avec l’extension Agent IaaS SQL

Pour gérer votre machine virtuelle SQL Server à partir du portail, inscrivez-la avec l’extension Agent IaaS SQL. Notez que seules des fonctionnalités limitées sont disponibles sur les machines virtuelles SQL qui ont des instances de cluster de basculement de SQL Server (FCI).

Si votre machine virtuelle SQL Server a déjà été inscrite auprès de l’extension d’agent IaaS SQL et que vous avez activé toutes les fonctionnalités qui nécessitent l’agent, vous devez désinscrire la machine virtuelle SQL Server de l’extension et l’inscrire à nouveau après l’installation de votre FCI.

Inscrire une machine virtuelle SQL Server avec PowerShell (-LicenseType peut être PAYG ou AHUB) :

# Get the existing compute VM
$vm = Get-AzVM -Name <vm_name> -ResourceGroupName <resource_group_name>
         
# Register SQL VM with SQL IaaS Agent extension
New-AzSqlVM -Name $vm.Name -ResourceGroupName $vm.ResourceGroupName -Location $vm.Location `
   -LicenseType <license_type>

Configurer la connectivité

Si vous avez déployé vos machines virtuelles SQL Server dans plusieurs sous-réseaux, ignorez cette étape. Si vous avez déployé vos machines virtuelles SQL Server sur un seul sous-réseau, vous devez configurer un composant supplémentaire pour acheminer le trafic vers votre instance FCI. Vous pouvez configurer un nom de réseau virtuel avec une instance Azure Load Balancer ou un nom de réseau distribué pour une instance de cluster de basculement. Passez en revue les différences entre les deux, puis déployez un nom de réseau distribué ou un nom de réseau virtuel et Azure Load Balancer pour votre instance de cluster de basculement.

Limites

  • Les machines virtuelles Azure prennent en charge Microsoft Distributed Transaction Coordinator (MSDTC) sur Windows Server 2019 avec un stockage sur des CSV et un équilibreur de charge standard. MSDTC n’est pas pris en charge sur Windows Server 2016 ni les versions antérieures.
  • Les disques qui ont été joints en tant que disques au format NTFS peuvent être utilisés avec Espaces de stockage direct uniquement si l’option d’éligibilité du disque est décochée ou désactivée lorsque le stockage est ajouté au cluster.
  • Les FCI SQL Server enregistrés avec l'extension SQL IaaS Agent ne prennent pas en charge les fonctionnalités qui nécessitent l'agent, telles que la sauvegarde automatisée, les correctifs, l'authentification Microsoft Entra et la gestion avancée du portail. Consultez le tableau des avantages pour plus d’informations.
  • Les instances de cluster de basculement utilisant les espaces de stockage direct comme stockage partagé ne prennent pas en charge l’utilisation d’un témoin de disque pour le quorum du cluster. Utilisez un témoin cloud à la place.

Étapes suivantes

Si Espaces de stockage direct n’est pas la solution de stockage FCI appropriée, envisagez de créer votre FCI à l’aide de disques partagés Azure ou de partages de fichiers Premium à la place.

Pour en savoir plus, consultez :