Instances de cluster de basculement avec SQL Server sur des machines virtuelles Azure
S’applique à : SQL Server sur la machine virtuelle Azure
Cet article présente les différences de fonctionnalités lorsque vous utilisez des instances de cluster de basculement (FCI) pour SQL Server sur des machines virtuelles Azure.
Pour commencer, préparez votre machine virtuelle.
Vue d’ensemble
SQL Server sur des machines virtuelles Azure utilise la fonctionnalité WSFC (clustering de basculement Windows Server) pour fournir une haute disponibilité locale via la redondance au niveau de l’instance du serveur : une instance de cluster de basculement. Une instance FCI est une instance unique de SQL Server installée sur les nœuds WSFC (ou tout simplement du cluster) et, éventuellement, sur plusieurs sous-réseaux. Sur le réseau, une instance FCI apparaît comme une instance unique de SQL Server s’exécutant sur un seul ordinateur. Toutefois, l’instance FCI permet le basculement d’un nœud WSFC vers un autre si le nœud actuel devient indisponible.
Le reste de cet article se concentre sur les différences entre les instances de cluster de basculement lorsqu’elles sont utilisées avec SQL Server sur des machines virtuelles Azure. Pour en savoir plus sur la technologie de clustering de basculement, consultez :
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.
Quorum
Les instances de cluster de basculement avec SQL Server sur des machines virtuelles Azure prennent en charge l’utilisation d’un témoin de disque, d’un témoin de cloud ou d’un témoin de partage de fichiers pour le quorum du cluster.
Pour plus d’informations, consultez Meilleures pratiques de quorum avec des machines virtuelles SQL Server dans Azure.
Stockage
Dans les environnements en cluster locaux traditionnels, un cluster de basculement Windows utilise un réseau de zone de stockage (SAN) qui est accessible par tous les nœuds en tant que stockage partagé. Les fichiers SQL Server sont hébergés sur le stockage partagé, et seul le nœud actif peut accéder simultanément aux fichiers.
SQL Server sur les machines virtuelles Azure offre différentes options en tant que solution de stockage partagé pour un déploiement d’instances SQL Server de cluster de basculement :
Disques partagés Azure | Partages de fichiers Premium | Espaces de stockage direct (S2D) | Azure Elastic SAN | |
---|---|---|---|---|
Version de système d’exploitation minimale | Tous | Windows Server 2012 | Windows Server 2016 | Windows Server 2022 |
Version minimale de SQL Server | Tous | SQL Server 2012 | SQL Server 2016 | SQL Server 2022 |
Disponibilité des machines virtuelles prises en charge | SSD Premium LRS : groupes à haute disponibilité avec ou sans groupe de placement de proximité SSD Premium ZRS : zones de disponibilité Disques Ultra : même zone de disponibilité |
Groupes à haute disponibilité et zones de disponibilité | Groupes à haute disponibilité | Zones de disponibilité |
Prend en charge FileStream | Oui | No | Oui | Non |
Prend en charge MSDTC | Oui | No | Non | Non |
Le reste de cette section répertorie les avantages et les limitations de chaque option de stockage disponible pour SQL Server sur les machines virtuelles Azure.
Disques partagés Azure
Les disques partagés Azure sont une fonctionnalité des disques managés Azure. Le clustering de basculement Windows Server prend en charge l’utilisation de disques partagés Azure avec une instance de cluster de basculement.
Systèmes d’exploitation pris en charge : Tous
Version de SQL pris en charge : Tous
Avantages :
- Utile pour les applications qui cherchent à migrer vers Azure tout en conservant leur architecture de haute disponibilité et de récupération d’urgence (HADR) telle quelle.
- Peut migrer des applications en cluster vers Azure en raison de la prise en charge des réservations persistantes SCSI (SCSI PR).
- Prend en charge le stockage SSD Premium Azure partagées et Disque Ultra Azure.
- Peut utiliser un seul disque partagé ou entrelacer plusieurs disques partagés pour créer un pool de stockage partagé.
- Prend en charge FILESTREAM.
- Les disques SSD Premium prennent en charge les groupes à haute disponibilité.
- Les disques SSD Premium avec stockage redondant interzone (ZRS) prennent en charge les zones de disponibilité. Les machines virtuelles qui font partie d’une instance FCI peuvent être placées dans différentes zones de disponibilité.
- Prend en charge Microsoft Distributed Transaction Coordinator (MSDTC) à partir de Windows Server 2019.
Remarque
Même si les disques partagés Azure prennent également en charge les tailles de disque SSD Standard, nous vous déconseillons d’utiliser des disques SSD Standard pour les charges de travail SQL Server en raison des limitations de performances.
Limitations :
- La mise en cache des disques SSD Premium n’est pas prise en charge.
- Les disques Ultra ne prennent pas en charge les groupes à haute disponibilité ni le stockage redondant interzone (ZRS).
- Les zones de disponibilité sont prises en charge pour les disques Ultra, mais les machines virtuelles doivent être dans la même zone de disponibilité, ce qui réduit à 99,9 % la disponibilité de la machine virtuelle.
Pour commencer, consultez Configurer une instance de cluster de basculement avec Azure shared disks.
Espaces de stockage direct
Espaces de stockage direct est une fonctionnalité Windows Server prise en charge avec le clustering de basculement sur les machines virtuelles Azure. Il fournit un réseau SAN virtuel basé sur logiciel.
Systèmes d’exploitation pris en charge : Windows Server 2016 et versions ultérieures
Version de SQL pris en charge : SQL Server 2016 et versions ultérieures
Avantages :
- une bande passante réseau suffisante offre une solution de stockage partagé robuste et hautement performante.
- Prend en charge le cache d’objets blob Azure pour que les lectures puissent être effectuées localement à partir du cache. (Les mises à jour sont répliquées simultanément sur les deux nœuds.)
- Prend en charge FileStream.
Limitations :
- Disponible uniquement pour Windows Server 2016 et versions ultérieures.
- Non, les Zones de disponibilité ne sont pas prises en charge.
- Requiert la même capacité de disque attachée aux deux machines virtuelles.
- Une bande passante réseau élevée est nécessaire pour obtenir des performances élevées en raison d’une réplication de disque continue.
- Requiert une plus grande taille de machine virtuelle et le double paiement du stockage, car ce dernier est attaché à chaque machine virtuelle.
- Le MSDTC (Microsoft Distributed Transaction Coordinator) n’est pas pris en charge.
Pour commencer, consultez Configurer l'instance de cluster de basculement avec Espaces de stockage direct.
Partage de fichiers Premium
Les partages de fichiers Premium sont une fonctionnalité d’Azure Files. Les partages de fichiers Premium sont des disques SSD sauvegardés et ont une faible latence. Ils sont entièrement pris en charge pour une utilisation avec les 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é, car vous pouvez redimensionner et mettre à l’échelle un partage de fichiers sans temps d’arrêt.
Systèmes d’exploitation pris en charge : Windows Server 2012 et ultérieur
Version de SQL pris en charge : SQL Server 2012 et versions ultérieures
Avantages :
- Une solution de stockage partagé pour les machines virtuelles s’étend sur plusieurs zones de disponibilité.
- Système de fichiers complètement managé avec des latences à un chiffre et des performances d’e/s expansibles.
- Toutes les fonctionnalités SQL Server ne sont pas prises en charge, telles que les captures instantanées de base de données, le flux de fichiers et CHECKDB sans TABLOCK. Pour plus d’informations, consultez les Limitations.
Limitations :
- Disponible uniquement pour Windows Server 2012 et versions ultérieures.
- FileStream n’est pas pris en charge.
- Le MSDTC (Microsoft Distributed Transaction Coordinator) n’est pas pris en charge.
Pour commencer, consultez Configurer l'instance de cluster de basculement avec partage de fichiers Premium.
Azure Elastic SAN
Azure Elastic SAN est une offre de périphérique de stockage NAS qui fournit aux clients une solution flexible et évolutive avec la possibilité de réduire les coûts grâce à la consolidation du stockage. Azure Elastic SAN offre une solution de stockage de blocs rentable, performante et fiable qui se connecte à un large éventail de services de calcul Azure via le protocole iSCSI. Elastic SAN permet une transition transparente d’un patrimoine de stockage SAN existant vers le cloud sans avoir à refactoriser l’architecture de l’application.
Remarque
La configuration de votre instance de cluster de basculement avec un Azure Elastic SAN est actuellement en préversion pour SQL Server sur des machines virtuelles Azure.
Systèmes d’exploitation pris en charge : Windows Server 2019 et versions ultérieures
Version de SQL pris en charge : SQL Server 2022 et versions ultérieures
Avantages :
- Elastic SAN n’est pas limité par le débit des disques des machines virtuelles, ce qui signifie que vous pouvez réaliser des économies en atteignant le débit souhaité avec des machines virtuelles plus petites.
- Consolidation du stockage et partage de performances dynamiques : il est possible de réduire les coûts en regroupant des charges de travail performantes de bas à niveau intermédiaire avec des charges de travail SQL Server, car le pool de stockage est approvisionné au niveau SAN et les performances sont partagées entre les charges de travail.
- Prend en charge les réservations persistantes SCSI (SCSI PR), ce qui signifie que vous pouvez migrer des applications en cluster vers Azure en l’état.
- Peut utiliser un seul volume partagé ou entrelacer plusieurs volumes partagés pour créer un pool de stockage partagé.
- Le stockage redondant interzone Elastic SAN prend en charge les zones de disponibilité. Les machines virtuelles faisant partie d’une instance de cluster de basculement peuvent être placées dans différentes zones de disponibilité.
Limitations :
- Le témoin cloud n’est actuellement pas pris en charge.
- Ne prend pas en charge les charges de travail de latence de sous-millisecondes.
- Le flux de fichier n’est pas pris en charge.
- Le MSDTC (Microsoft Distributed Transaction Coordinator) n’est pas pris en charge.
Partenaire
Il existe des solutions de clustering de partenaires avec stockage pris en charge.
Systèmes d’exploitation pris en charge : Tous
Version de SQL pris en charge : Tous
Un exemple utilise le stockage DataKeeper SIOS. Pour plus d’informations, consultez l’entrée de blog Cluster de basculement et DataKeeper SIOS.
iSCSI et ExpressRoute
Vous pouvez également exposer un stockage de bloc partagé cible iSCSI via Azure ExpressRoute.
Systèmes d’exploitation pris en charge : Tous
Version de SQL pris en charge : Tous
Par exemple, NPS (NetApp Private Storage) expose une cible iSCSI via ExpressRoute avec Equinix dans les machines virtuelles Azure.
Pour les solutions de stockage partagé et de réplication de données proposées par des partenaires Microsoft, contactez le fournisseur pour tout problème lié à l’accès aux données lors du basculement.
Connectivité
Pour relier l’expérience locale de connexion à votre instance de cluster de basculement, déployez vos machines virtuelles SQL Server sur plusieurs sous-réseaux au sein du même réseau virtuel. Quand vous avez plusieurs réseaux, vous n’avez pas besoin d’une dépendance supplémentaire sur un équilibreur de charge Azure ou d’un nom de réseau distribué (DNN) pour router votre trafic vers votre FCI.
Si vous déployez vos machines virtuelles SQL Server dans un même sous-réseau, vous pouvez configurer un nom de réseau virtuel (VNN) et un équilibreur de charge Azure, ou un nom de réseau distribué (DNN) pour router le trafic vers votre 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 pour votre instance de cluster de basculement.
Le nom de réseau distribué est recommandé si c’est possible, car le basculement est plus rapide, et la surcharge et le coût de la gestion de l’équilibreur de charge sont éliminés.
La plupart des fonctionnalités de SQL Server fonctionnent de façon transparente avec les FCI lors de l’utilisation du DNN, mais certaines fonctionnalités peuvent nécessiter une attention particulière. Pour plus d’informations, consultez la section sur l’interopérabilité entre FCI et DNN.
Remarque
Si vous avez plusieurs groupes de disponibilité ou instances FCI sur le même cluster et que vous utilisez un écouteur DNN ou VNN, chaque groupe de disponibilité ou instance FCI a besoin de son propre point de connexion indépendant.
Limites
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.
MSDTC
La solution Machines virtuelles Azure prend en charge Microsoft Distributed Transaction Coordinator (MSDTC) sur Windows Server 2019, avec un stockage sur les volumes partagés en cluster (CSV) et Azure Standard Load Balancer ou sur des machines virtuelles SQL Server qui utilisent des disques partagés Azure.
Concernant Machines virtuelles Azure, MSDTC n’est pas pris en charge pour Windows Server 2016 ou versions antérieures avec des volumes partagés en cluster pour la raison suivante :
- La ressource MSDTC en cluster n’est pas configurable pour utiliser le stockage partagé. Sur Windows Server 2016, si vous créez une ressource MSDTC, celle-ci n’affiche pas le stockage partagé qui est disponible pour l’utilisation, et cela même si le stockage est disponible. Ce problème a été résolu dans Windows Server 2019.
- L’équilibreur de charge de base ne gère pas les ports RPC.
Contenu connexe
- Bonnes pratiques de configuration de la HADR (SQL Server sur des machines virtuelles Azure)
- Préparer des machines virtuelles pour une instance FCI (SQL Server sur des machines virtuelles Azure)
- Cluster de basculement Windows Server avec SQL Server sur des machines virtuelles Azure
- Vue d’ensemble des instances de cluster de basculement