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 :
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 :
- Un abonnement Azure. Commencez avec un compte Azure gratuit.
- Deux machines virtuelles Windows préparées ou plus dans un groupe à haute disponibilité.
- Un compte qui dispose des autorisations nécessaires pour créer des objets sur les machines virtuelles Azure et dans Active Directory.
- La dernière version de PowerShell.
Créer un cluster de basculement Windows
Les étapes de création de votre cluster de basculement Windows Server diffèrent entre un sous-réseau unique et des environnements multi-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. Même si ces tutoriels créent un groupe de disponibilité, la procédure de création du cluster est la même pour une instance de cluster de basculement.
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 :
Dans Gestionnaire de serveur, sélectionnez Outils, puis Gestionnaire du cluster de basculement.
Cliquez avec le bouton droit sur le cluster dans le Gestionnaire du cluster de basculement, sélectionnez Valider le cluster pour ouvrir l’Assistant validation d’une configuration.
Dans l’Assistant validation d’une configuration, sélectionnez Suivant.
Dnas la page Sélectionner des serveurs ou un cluster, entrez le nom des deux machines virtuelles.
Sur la page Options de test, sélectionnez Exécuter uniquement les tests que je sélectionne.
Cliquez sur Suivant.
Dans la page Sélection des tests, sélectionnez tous les tests sauf Stockage :
Cliquez sur Suivant.
Dans la page 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.
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.
-
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 :
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.
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.
Créer un premier nœud dans l’instance de cluster de basculement SQL
Pour créer le premier nœud dans l’instance de cluster de basculement SQL Server, procédez comme suit :
Connectez-vous à la première machine virtuelle avec RDP ou Bation.
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.
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é.
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.Dans le Centre d’installation SQL Server, sélectionnez Installation.
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.
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.
- Pour un environnement à un seul sous-réseau, indiquez l’adresse IP que vous prévoyez d’ajouter à l’instance Azure Load Balancer.
- 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 :
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.
Une fois que l’Assistant a terminé, le programme d’installation installe une FCI SQL Server sur le premier nœud.
Ajouter des nœuds supplémentaires à l’instance de cluster de basculement SQL
Pour ajouter un nœud supplémentaire à l’instance de cluster de basculement SQL Server, procédez comme suit :
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 ou de Bastion.
Ouvrez le Centre d’installation SQL Server. Sélectionnez Installation.
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.
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
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.
Une fois les instructions de l’Assistant suivies, le programme d’installation ajoute le deuxième nœud FCI SQL Server.
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 Server qui ont des instances de cluster de basculement de SQL Server (FCI).
Remarque
À ce stade, les instances de cluster de basculement SQL Server sur des machines virtuelles Azure inscrites auprès de l’extension SQL IaaS Agent prennent uniquement en charge un nombre limité de fonctionnalités disponibles via l’inscription de base, et non celles qui nécessitent l’agent, telles que la sauvegarde automatisée, la mise à jour corrective, l’authentification Microsoft Entra et la gestion avancée du portail. Pour en savoir plus, consultez le tableau des avantages.
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 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.
Microsoft Distributed Transaction Coordinator (MSDTC) n’est pas pris en charge par SQL Server sur les instances de cluster de basculement de machine virtuelle Azure déployées sur espaces de stockage direct. Pour plus d’informations, consultez Limitations FCI.
Microsoft Distributed Transaction Coordinator (MSDTC) est pris en charge sur les machines virtuelles Azure à partir de Windows Server 2019 lorsqu'elles sont déployées sur des volumes partagés en cluster (CSV) dédiés et à l'aide d'un équilibreur de charge standard. MSDTC n’est pas pris en charge sur Windows Server 2016 ni les versions antérieures.
Prise en charge limitée des extensions
À ce stade, les instances de cluster de basculement SQL Server sur des machines virtuelles Azure inscrites auprès de l’extension SQL IaaS Agent prennent uniquement en charge un nombre limité de fonctionnalités disponibles via l’inscription de base, et non celles qui nécessitent l’agent, telles que la sauvegarde automatisée, la mise à jour corrective, l’authentification Microsoft Entra et la gestion avancée du portail. Pour en savoir plus, consultez le tableau des avantages.
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 supprimer l’extension de la machine virtuelle SQL Server en supprimant la ressource de machine virtuelle SQL pour les machines virtuelles correspondantes, puis l’inscrire à nouveau auprès de l’extension d’agent IaaS SQL. Quand vous supprimez la ressource Machine virtuelle SQL à partir du portail Azure, décochez la case à côté de la machine virtuelle appropriée pour éviter de supprimer la machine virtuelle.
É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 :