Préparer des machines virtuelles pour une FCI (instance de cluster de basculement SQL Server sur des machines virtuelles Azure)

S'applique à :SQL Server sur Azure Machine Virtuelle

Cet article explique comment préparer les machines virtuelles Azure pour les utiliser avec une instance de cluster de basculement de SQL Server (FCI). Les paramètres de configuration varient en fonction de la solution de stockage FCI. Par conséquent, vérifiez que vous avez choisi la configuration adaptée à votre environnement et à votre entreprise.

Pour plus d’informations, consultez une vue d’ensemble de FCI avec le SQL Server sur les machines virtuelles Azure et des meilleures pratiques pour les clusters.

Note

Il est désormais possible de lever et de déplacer votre solution d'instance de cluster de basculement vers SQL Server sur des machines virtuelles Azure à l'aide de Azure Migrate. Pour en savoir plus, consultez Migrer l’instance du cluster de basculement.

Prérequis

  • Un abonnement Microsoft Azure. Commencez avec un compte Azure gratuit.
  • Un domaine Windows sur des machines virtuelles Azure ou un annuaire active local étendu à Azure avec le jumelage de réseaux virtuels.
  • Un compte disposant des autorisations nécessaires pour créer des objets sur Azure machines virtuelles et dans Active Directory.
  • Un réseau virtuel Azure et un ou plusieurs sous-réseaux avec suffisamment d’espace d’adressage IP pour les composants suivants :
    • Les deux machines virtuelles.
    • Une adresse IP pour le cluster de basculement Windows
    • Une adresse IP pour chaque FCI
  • DNS configuré sur le réseau Azure, pointant vers les contrôleurs de domaine.

Choisir une option de stockage FCI

Les paramètres de configuration de votre machine virtuelle varient en fonction de l'option de stockage que vous envisagez d'utiliser pour votre instance de cluster de basculement SQL Server. Avant de préparer la machine virtuelle, passez en revue les options de stockage FCI disponibles et choisissez l’option la mieux adaptée aux besoins de votre environnement et de votre entreprise. Sélectionnez ensuite avec soin les options de configuration de machine virtuelle appropriées dans cet article en fonction du stockage sélectionné.

Choisir la disponibilité des machines virtuelles

La fonctionnalité de cluster de basculement nécessite que les machines virtuelles soient placées dans un groupe à haute disponibilité ou dans une zone de disponibilité.

Sélectionnez avec soin l’option de disponibilité de la machine virtuelle qui correspond à la configuration souhaitée pour votre cluster :

  • Azure disques partagés : l'option de disponibilité varie si vous utilisez un disque SSD Premium ou Ultra :

    • Disque SSD Premium avec stockage redondant interzone (ZRS) : zone de disponibilité dans différentes zones. Un SSD Premium ZRS réplique votre disque managé Azure de manière synchrone à travers trois zones de disponibilité Azure dans la région sélectionnée. Les machines virtuelles faisant partie du cluster de basculement peuvent être placées dans différentes zones de disponibilité, ce qui vous permet d’obtenir une instance FCI SQL Server redondante interzone qui fournit un contrat SLA de disponibilité de machine virtuelle. La latence de disque pour le ZRS est plus élevée en raison de la copie de données interzonale.

    • Disque SSD Premium avec stockage localement redondant (LRS) : ensemble de disponibilité dans différents domaines de défaillance/mise à jour pour disque SSD Premium LRS. Vous pouvez également choisir de placer les machines virtuelles au sein d’un groupe de placement de proximité pour les localiser plus près les unes des autres. La combinaison d’un ensemble de disponibilité et d’un groupe de placement de proximité offre la latence la plus faible pour les disques partagés, car les données sont répliquées localement dans un datacenter, et cela fournit un SLA de disponibilité de VM.

    • Disque Ultra avec stockage localement redondant (LRS) : zones de disponibilité, mais les machines virtuelles doivent être placées dans la même zone de disponibilité. Les disques Ultra offrent une latence de disque la plus faible et sont les meilleurs pour les charges de travail nécessitant beaucoup d’E/S. Étant donné que toutes les VM qui font partie du FCI doivent se trouver dans la même zone de disponibilité, la disponibilité des VM est réduite.

  • Partages de fichiers Premium : groupe à haute disponibilité ou zones de disponibilité.

  • Storage Spaces Direct : Availability Set.

  • Azure Elastic SAN : zones de disponibilité.

Important

Vous ne pouvez pas définir ou modifier le groupe à haute disponibilité après avoir créé une machine virtuelle.

Sous-réseaux

Pour SQL Server sur des machines virtuelles Azure, vous pouvez déployer vos machines virtuelles SQL Server sur un seul sous-réseau ou sur plusieurs sous-réseaux.

Le déploiement de vos machines virtuelles sur plusieurs sous-réseaux tire parti de la dépendance OR du cluster pour les adresses IP et correspond à l’expérience locale lors de la connexion à votre instance de cluster de basculement. L’approche multi-sous-réseau est recommandée pour SQL Server sur les machines virtuelles Azure pour simplifier la gestion et accélérer les temps de basculement.

Le déploiement de vos machines virtuelles sur un seul sous-réseau nécessite une dépendance supplémentaire sur un Azure Load Balancer ou un nom de réseau distribué (DNN) pour acheminer le trafic vers votre instance de cluster de basculement (FCI).

Si vous déployez vos machines virtuelles SQL Server sur plusieurs sous-réseaux, suivez les étapes décrites dans cette section pour créer vos réseaux virtuels avec des sous-réseaux supplémentaires, puis une fois les machines virtuelles SQL Server créées, assigner des adresses IP secondaires dans ces sous-réseaux aux machines virtuelles. Le déploiement de vos machines virtuelles SQL Server sur un seul sous-réseau ne nécessite aucune configuration réseau supplémentaire.

Placez les deux machines virtuelles dans un sous-réseau unique doté de suffisamment d’adresses IP pour ces machines virtuelles et toutes les instances FCI que vous pourriez souhaiter installer sur le cluster. Cette approche nécessite un composant supplémentaire pour router les connexions à votre FCI, comme un Azure Load Balancer ou un nom de réseau distribué (DNN).

Si vous choisissez de déployer vos machines virtuelles SQL Server sur un seul sous-réseau, vérifiez les différences entre les options de connectivité Azure Load Balancer et DNN. Utilisez ces informations pour décider quelle option est la mieux adaptée avant de préparer le reste de votre environnement pour votre instance de cluster de basculement.

Le déploiement de vos machines virtuelles SQL Server sur un seul sous-réseau ne nécessite aucune configuration réseau supplémentaire.

Configurer DNS

Configurez votre réseau virtuel pour qu’il utilise votre serveur DNS. Tout d’abord, identifiez l’adresse IP DNS, puis ajoutez-la à votre réseau virtuel.

Identifier l’adresse IP DNS

Identifiez l’adresse IP du serveur DNS, puis ajoutez-la à la configuration du réseau virtuel. Cette section montre comment identifier l’adresse IP DNS si le serveur DNS se trouve sur une machine virtuelle dans Azure.

Pour identifier l’adresse IP de la machine virtuelle du serveur DNS dans le portail Azure, procédez comme suit :

  1. Accédez à votre groupe de ressources dans le portail Azure et sélectionnez la machine virtuelle du serveur DNS.
  2. Dans la page de la machine virtuelle, choisissez Réseau sous le volet Paramètres.
  3. Notez l’adresse IP privée de la carte réseau . Utilisez cette valeur comme adresse IP du serveur DNS. Dans l’exemple d’image, l’adresse IP privée est 10.38.0.4.

Capture d’écran de l’écran Mise en réseau de la machine virtuelle DC-VM-1. Le champ IP privée de la carte réseau avec la valeur 10.38.0.4 est mis en surbrillance.

Configurer le DNS du réseau virtuel

Configurez le réseau virtuel pour utiliser la valeur que vous avez identifiée à l’étape précédente en tant qu’adresse IP du serveur DNS.

Pour configurer votre réseau virtuel pour le DNS, procédez comme suit :

  1. Accédez à votre groupe de ressources dans le portail Azure et sélectionnez votre réseau virtuel.
  2. Sélectionnez Serveurs DNS sous Paramètres, puis Personnalisé.
  3. Entrez l’adresse IP privée que vous avez identifiée précédemment dans le champ Adresse IP, par exemple 10.38.0.4, ou fournissez l’adresse IP interne de votre serveur DNS interne.
  4. Cliquez sur Enregistrer.

Capture d’écran de l’écran Serveurs DNS pour le réseau virtuel SQLHAVNET. L’option « Personnalisé » est sélectionnée et « Ajouter un serveur DNS » est mise en surbrillance sous Adresse IP.

Créer les machines virtuelles

Après avoir configuré le réseau virtuel de vos machines virtuelles ainsi que la disponibilité de ces dernières, vous êtes prêt à créer vos machines virtuelles. Vous pouvez choisir d'utiliser une image Azure Marketplace avec ou sans SQL Server déjà installé. Toutefois, si vous choisissez une image pour SQL Server sur des VMs Azure, vous devez désinstaller SQL Server de la machine virtuelle avant de configurer l'instance de cluster de basculement.

Note

Avant de déployer vos machines virtuelles SQL Server, veillez à vérifier que votre version de SQL Server est prise en charge pour l’option de stockage FCI que vous avez sélectionnée.

Considérations relatives à la carte réseau

Sur un cluster de basculement invité de machine virtuelle Azure, nous vous recommandons une seule carte réseau par serveur (nœud de cluster). Le réseau Azure a une redondance physique, ce qui rend les cartes d'interface réseau supplémentaires (NIC) inutiles sur un cluster invité de machine virtuelle IaaS Azure. Bien que le rapport de validation de cluster émette un avertissement indiquant que les nœuds sont accessibles uniquement sur un seul réseau, vous pouvez ignorer cet avertissement en toute sécurité sur les clusters de basculement d'invités de VM IaaS sur Azure.

Placez les deux machines virtuelles :

  • Dans le même groupe de ressources Azure que votre groupe à haute disponibilité, si vous utilisez des groupes à haute disponibilité.
  • Sur le même réseau virtuel que votre contrôleur de domaine et votre serveur DNS, ou sur un réseau virtuel disposant d’une connectivité appropriée à votre contrôleur de domaine.
  • Dans le groupe à haute disponibilité Azure ou zone de disponibilité.

Vous pouvez créer une machine virtuelle Azure en utilisant une image avec ou sans SQL Server préinstallé. Si vous choisissez l’image SQL Server, vous devez désinstaller manuellement l’instance SQL Server avant d’installer l’instance de cluster de basculement.

Attribuer des adresses IP secondaires

Si vous avez déployé vos machines virtuelles SQL Server sur un seul sous-réseau, ignorez cette étape.

Si vous avez déployé vos machines virtuelles SQL Server sur plusieurs sous-réseaux pour améliorer la connectivité à votre instance de cluster de basculement (FCI), vous devez affecter les adresses IP secondaires à chaque machine virtuelle.

Attribuez des adresses IP secondaires à chaque machine virtuelle SQL Server à utiliser comme nom réseau de l’instance de cluster de basculement. Pour Windows Server 2016 et les versions antérieures, attribuez également des adresses IP secondaires à chaque machine virtuelle SQL Server pour le nom du réseau de cluster. Cela annule la nécessité d'un Azure Load Balancer, comme c'est requis dans un environnement limité à un seul sous-réseau.

Sur Windows Server 2016 et versions antérieures, vous devez affecter une adresse IP secondaire supplémentaire à chaque machine virtuelle SQL Server à utiliser pour l’adresse IP du cluster Windows, car le cluster utilise le nom réseau Cluster Network Name plutôt que le nom de réseau distribué par défaut introduit dans Windows Server 2019. Avec un DNN, l’objet nom de cluster (CNO) est automatiquement inscrit aux adresses IP de tous les nœuds du cluster, ce qui évite d’utiliser une adresse IP de cluster Windows dédiée.

Si vous êtes sur Windows Server 2016 et avant, suivez les étapes décrites dans cette section pour affecter une adresse IP secondaire à chaque machine virtuelle SQL Server pour both le nom du réseau FCI, and le cluster.

Si vous êtes sur Windows Server 2019 ou version ultérieure, affectez uniquement une adresse IP secondaire pour le nom de réseau FCI. Ignorez les étapes d’affectation d’une adresse IP de cluster Windows, sauf si vous envisagez de configurer votre cluster avec un nom de réseau virtuel (VNN), auquel cas attribuez les deux adresses IP à chaque machine virtuelle SQL Server comme vous le feriez pour Windows Server 2016.

Pour attribuer des IP secondaires supplémentaires aux machines virtuelles, procédez comme suit :

  1. Accédez à votre groupe de ressources dans le portail Azure et sélectionnez la première machine virtuelle SQL Server.

  2. Sélectionnez Réseau dans le volet Paramètres, puis l’Interface réseau :

    Capture d’écran de l’écran Mise en réseau de la machine virtuelle SQL-VM-1. Le champ d’interface réseau est mis en surbrillance.

  3. Dans la page Interface réseau, sélectionnez Configurations IP dans le volet Paramètres, puis choisissez + Ajouter pour ajouter une adresse IP supplémentaire :

    Capture d’écran de la page Interface réseau. Dans le menu de gauche, « Configurations IP » est sélectionnée sous « Paramètres », et « + Ajouter » est mis en surbrillance sur l’écran configurations IP.

  4. Dans la page Ajouter une configuration IP, effectuez les opérations suivantes :

    1. Spécifiez le Name pour l’adresse IP du cluster Windows, par exemple windows-cluster-ip pour Windows 2016 et versions antérieures. Ignorez cette étape si vous êtes sur Windows Server 2019 ou une version ultérieure.
    2. Définissez l’Allocation sur Statique.
    3. Entrez une adresse IP inutilisée dans le même sous-réseau (SQL-subnet-1) comme machine virtuelle SQL Server, telle que 10.38.1.10.
    4. Laissez l’Adresse IP publique à la valeur par défaut de Dissocier.
    5. Sélectionnez OK pour terminer l’ajout de la configuration IP.

    Capture d’écran de l’écran Ajouter une configuration IP. Le nom est défini sur windows-cluster-ip. L’allocation est définie sur Statique. L’adresse IP est définie sur « 10.38.1.10 » et l’adresse IP publique est définie sur Dissocier.

  5. Resélectionnez + Ajouter pour configurer une adresse IP supplémentaire pour le nom réseau de l’instance FCI (avec un nom tel que FCI-network-name), et spécifiez une adresse IP inutilisée dans SQL-subnet-1, par exemple, 10.38.1.11 :

    Capture d’écran de l’écran Ajouter une configuration IP. Le champ Nom est défini sur FCI-network-name. L’allocation est définie sur Statique. L’adresse IP est définie sur « 10.38.1.11 » et l’adresse IP publique est définie sur Dissocier.

  6. Répétez ces étapes pour la deuxième machine virtuelle SQL Server. Attribuez deux adresses IP secondaires inutilisées dans SQL-subnet-2. Utilisez les valeurs du tableau suivant pour ajouter la configuration IP (les adresses IP sont de simples exemples et les vôtres peuvent varier) :

    Champ Entrée Entrée
    Nom IP de cluster Windows FCI-network-name
    Affectation statique statique
    Adresse IP 10.38.2.10 10.38.2.11

Désinstaller SQL Server

Dans le cadre du processus de création de l'instance FCI, vous installez SQL Server en tant qu'instance en cluster pour le cluster de basculement. Si vous avez déployé une machine virtuelle avec une image Azure Marketplace sans SQL Server, vous pouvez ignorer cette étape. Si vous avez déployé une image avec SQL Server préinstallée, vous devez supprimer l’extension de la machine virtuelle SQL Server, puis désinstaller SQL Server.

Supprimer l’extension de l’agent IaaS SQL Server

Les images de machine virtuelle SQL Server d'Azure Marketplace sont automatiquement enregistrées auprès de l'extension SQL IaaS Agent. Avant de désinstaller l’instance de SQL Server préinstallée, vous devez d’abord delete l’extension à partir de la machine virtuelle SQL Server.

Pour supprimer l’extension de votre machine virtuelle SQL Server avec Azure PowerShell, utilisez l’exemple de code suivant :

Remove-AzSqlVM -ResourceGroupName <resource_group_name> -Name <SQL VM resource name>

Désinstaller SQL Server

Une fois l’extension supprimée, vous pouvez désinstaller SQL Server. Procédez comme suit sur chaque machine virtuelle :

  1. Connectez-vous à la machine virtuelle à l’aide de Bastion. Lorsque vous vous connectez pour la première fois à une machine virtuelle à l’aide de Bastion, une invite vous demande si vous souhaitez autoriser le PC à être détectable sur le réseau. Cliquez sur Oui.

  2. Ouvrez Programs et fonctionnalités dans le Control Panel.

  3. Dans Programs et fonctionnalités, cliquez avec le bouton droit sur Microsoft SQL Server 201_ (64 bits) et sélectionnez Uninstall/Change.

  4. Sélectionnez Supprimer.

  5. Sélectionnez l’instance par défaut.

  6. Dans l’écran Select Features, supprimez toutes les fonctionnalités sous Database Engine Services, Analysis Services et Reporting Services - Native. Ne supprimez rien sous Fonctionnalités partagées. Il doit ressembler à la capture d’écran suivante :

    Screenshot montrant les fonctionnalités à sélectionner pour désinstaller SQL Server.

  7. Sélectionnez Suivant, puis Supprimer.

  8. Une fois l’instance supprimée, redémarrez la machine virtuelle.

Ouvrir le pare-feu

Sur chaque machine virtuelle, ouvrez le port TCP du pare-feu Windows qui SQL Server utilise. Par défaut, SQL Server utilise le port 1433, mais si vous avez modifié ce paramètre dans votre environnement, ouvrez le port que vous avez configuré votre instance de SQL Server à utiliser. Le port 1433 est automatiquement ouvert sur les images SQL Server déployées à partir de l'Azure Marketplace.

Si vous utilisez un équilibreur de charge pour un scénario de sous-réseau unique, vous devez également ouvrir le port utilisé par la sonde d’intégrité. Par défaut, la sonde d’intégrité utilise le port 59999, mais il peut s’agir de n’importe quel port TCP que vous spécifiez lorsque vous créez l’équilibreur de charge.

Ce tableau détaille les ports que vous devrez peut-être ouvrir, en fonction de la configuration de votre FCI :

Objectif Port Notes
SQL Server TCP 1433 Port normal pour les instances par défaut de SQL Server. Si vous avez utilisé une image de la galerie, ce port s’ouvre automatiquement.

Utilisé par : toutes les configurations FCI.
Sonde de santé TCP 59999 Tout port TCP ouvert. Configurez la sonde d’intégrité de l’équilibreur de charge et le cluster pour qu’ils utilisent ce port.

Utilisé par : FCI avec équilibreur de charge dans un scénario de sous-réseau unique.
Partage de fichiers UDP 445 Port utilisé par le service de partage de fichiers.

Utilisé par : FCI avec partage de fichiers Premium.

Joindre le domaine

Vous devez également joindre vos machines virtuelles au domaine. Pour ce faire, vous pouvez utiliser un modèle de démarrage rapide.

Passer en revue la configuration de stockage

Les machines virtuelles créées à partir de Azure Marketplace sont fournies avec un stockage attaché. Si vous envisagez de configurer votre stockage FCI à l'aide de partages de fichiers Premium ou de disques partagés Azure, vous pouvez supprimer le stockage attaché pour économiser sur les coûts, car le stockage local n'est pas utilisé pour l'instance de cluster de basculement. Toutefois, il est possible d'utiliser le stockage attaché pour les solutions FCI Storage Spaces Direct, donc les supprimer dans ce cas peut être inutile. Passez en revue votre solution de stockage FCI pour déterminer si la suppression du stockage attaché est optimale pour faire des économies.