Créer un ICF avec un partage de fichiers premium (SQL Server sur les 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 (ICF) avec SQL Server sur des machines virtuelles (VM) Azure à l’aide d’un partage de fichiers premium.

Les partages de fichiers premium s’appuient sur des disques SSD. Ils fournissent en permanence des partages de fichiers à faible latence entièrement pris en charge pour une utilisation avec des instances de cluster de basculement pour SQL Server 2012 ou version ultérieure sur Windows Server 2012 ou version ultérieure. Les partages de fichiers Premium vous offrent une plus grande flexibilité, ce qui vous permet de redimensionner et de mettre à l’échelle un partage de fichiers sans temps d’arrêt.

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.

Prérequis

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

Monter le partage de fichiers Premium

Pour monter votre partage de fichiers premium, procédez comme suit :

  1. Connectez-vous au portail Azure et accédez à votre compte de stockage.

  2. Accédez à Partages de fichiers sous Stockage de données, puis sélectionnez le partage de fichiers Premium que vous souhaitez utiliser pour votre stockage SQL.

  3. Sélectionnez Connecter pour afficher la chaîne de connexion de votre partage de fichiers.

  4. Dans la liste déroulante, sélectionnez la lettre de lecteur que vous souhaitez utiliser, choisissez la Clé de compte de stockage comme méthode d’authentification, puis copiez le bloc de code dans un éditeur de texte tel que Notepad.

    Screenshot showing how to copy the PowerShell command from the file share connect portal.

  5. Utilisez le protocole bureau distant (RDP) pour établir une connexion à la machine virtuelle SQL Server à l’aide du compte que votre instance de cluster de basculement SQL Server utilisera pour le compte de service.

  6. Ouvrez une console de commande PowerShell d’administration.

  7. Exécutez la commande que vous avez copiée dans votre éditeur de texte sur le portail de partage de fichiers.

  8. Accédez au partage avec l’Explorateur de fichiers ou la boîte de dialogue Exécuter (Windows+R sur votre clavier). Utilisez le chemin d’accès réseau \\storageaccountname.file.core.windows.net\filesharename. Par exemple : \\sqlvmstorageaccount.file.core.windows.net\sqlpremiumfileshare

  9. Créez au moins un dossier sur le partage de fichiers auquel vous venez de vous connecter afin d’y placer vos fichiers de données SQL.

  10. Répétez ces étapes sur chaque machine virtuelle SQL Server qui fera partie du cluster.

Important

Envisagez d’utiliser un partage de fichiers distinct pour les fichiers de sauvegarde pour préserver les opérations d’entrée/sortie par seconde (IOPS) et d’espace de ce partage pour les fichiers de données et les fichiers journaux. Vous pouvez utiliser un partage de fichiers Premium ou Standard pour les fichiers de sauvegarde.

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

Le témoin cloud est la solution de quorum recommandée pour ce type de configuration de cluster pour SQL Server sur 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 sur l’une des machines virtuelles avec l’interface utilisateur du Gestionnaire du cluster de basculement ou 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 et Espaces de stockage direct, comme illustré ici :

    Screenshot showing how to select cluster validation tests.

  8. Cliquez sur 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 "Inventory", "Network", "System Configuration"

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.

Screenshot showing how to test cluster failover by moving the core resource to the other nodes.

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

Après avoir configuré le cluster de basculement, vous pouvez créer l’instance de cluster de basculement SQL Server.

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

  2. Dans le Gestionnaire du cluster de basculement, vérifiez que toutes les ressources principales du cluster 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 en affichant ce message d’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.
    • Faites un clic droit sur le rôle vide nouvellement 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.

  5. Sélectionnez Configuration.

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

  7. Sélectionnez Installation du nouveau cluster de basculement SQL Server, puis suivez les instructions dans l’assistant pour installer l’ICF SQL Server.

  8. 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 :

    Screenshot of the secondary IP address in the subnet of the first VM.

  9. Dans une Configuration de moteur de base de données, les répertoires de données doivent se trouver sur le partage de fichiers premium. Entrez le chemin d’accès complet du partage, sous la forme suivante : \\storageaccountname.file.core.windows.net\filesharename\foldername. Un avertissement s’affiche, vous indiquant que vous avez spécifié un serveur de fichiers comme répertoire de données. Cet avertissement est attendu. Vérifiez que le compte d’utilisateur avec lequel vous avez accédé par RPD à la machine virtuelle lorsque vous avez conservé le partage de fichiers est celui que le service SQL Server utilise pour éviter d’éventuelles défaillances.

    Screenshot showing to use file share as SQL data directories.

  10. Une fois que vous avez terminé les étapes de l’assistant, le programme d’installation installe une instance de cluster de basculement SQL Server sur le premier nœud.

  11. 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.

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

  13. 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.

  14. 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

    Screenshot entering the secondary IP address in the subnet of the second SQL Server VM subnet.

    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.

    Screenshot showing multi subnet confirmation.

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

  16. 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

  • Le MSDTC (Microsoft Distributed Transaction Coordinator) n’est pas pris en charge sur Windows Server 2016 et les versions antérieures.
  • FILESTREAM n’est pas pris en charge pour un cluster de basculement avec un partage de fichiers Premium. Pour utiliser le flux de fichier, déployez votre cluster en utilisant des Espaces de stockage direct ou les Disques partagés Azure à la place.
  • Les FCI SQL Server inscrites auprès de l’extension ne prennent pas en charge les fonctionnalités qui nécessitent l’agent, comme la sauvegarde automatisée, la mise à jour corrective et la gestion avancée du portail. Consultez le tableau des avantages.
  • Les captures instantanées de base de données ne sont actuellement pas prises en charge avec Azure Files en raison des limitations liées aux fichiers partiellement alloués.
  • Étant donné que les instantanés de base de données ne sont pas pris en charge, CHECKDB pour les bases de données utilisateur revient à CHECKDB WITH TABLOCK. TABLOCK limite les vérifications effectuées - DBCC CHECKCATALOG n'est pas exécuté sur la base de données et les données Service Broker n’ont pas été validées.
  • DBCC CHECKDB n’est pas pris en charge sur la base de données master et msdb.
  • Les bases de données utilisant la fonctionnalité OLTP en mémoire ne sont pas prises en charge sur une instance de cluster de basculement déployée avec un partage de fichiers Premium. Si votre entreprise a besoin d’OLTP en mémoire, envisagez de déployer votre FCI avec des disques partagés Azure ou des espaces de stockage direct.

Prise en charge limitée des extensions

À l’heure actuelle, les instances de cluster de basculement SQL Server sur des machines virtuelles Azure inscrites auprès de l’extension d’agent IaaS SQL ne prennent en charge qu’un nombre limité de fonctionnalités. 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 vous désinscrire de l’extension 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.