Clustering de sous-réseaux multiples SQL Server (SQL Server)SQL Server Multi-Subnet Clustering (SQL Server)

Un cluster de basculement de sous-réseaux multiples SQL ServerSQL Server est une configuration dans laquelle chaque nœud de cluster de basculement est connecté à un sous-réseau différent ou à un ensemble différent de sous-réseaux.A SQL ServerSQL Server multi-subnet failover cluster is a configuration where each failover cluster node is connected to a different subnet or different set of subnets. Ces sous-réseaux peuvent se trouver au même emplacement ou dans des sites géographiquement dispersés.These subnets can be in the same location or in geographically dispersed sites. En cas de clustering dans des sites géographiquement dispersés, on utilise parfois le terme « clusters étendus ».Clustering across geographically dispersed sites is sometimes referred to as stretch clusters. Comme tous les nœuds ne peuvent pas accéder à un stockage partagé, les données doivent être répliquées entre le stockage des données sur les sous-réseaux multiples.As there is no shared storage that all the nodes can access, data should be replicated between the data storage on the multiple subnets. Avec la réplication de données, il existe plusieurs copies des données disponibles.With data replication, there is more than one copy of the data available. Par conséquent, un cluster de basculement de sous-réseaux multiples fournit une solution de récupération d'urgence en plus d'une haute disponibilité.Therefore, a multi-subnet failover cluster provides a disaster recovery solution in addition to high availability.

Cluster de basculement de sous-réseaux multiples SQL Server (deux nœuds, deux sous-réseaux) SQL Server Multi-Subnet Failover Cluster (Two-Nodes, Two-Subnets)

L'illustration suivante représente une instance de cluster de basculement (FCI) à deux nœuds et deux sous-réseaux dans SQL Server 2016SQL Server 2016.The following illustration represents a two node, two subnet failover cluster instance (FCI) in SQL Server 2016SQL Server 2016.

Architecture de sous-réseaux multiples avec MultiSubnetFailoverMulti-Subnet Architecture with MultiSubnetFailover

Configurations d'une instance de cluster de basculement à plusieurs sous-réseaux Multi-Subnet Failover Cluster Instance Configurations

Voici quelques exemples d'instances de cluster de basculement FCI SQL ServerSQL Server qui utilisent plusieurs sous-réseaux :The following are some examples of SQL ServerSQL Server FCIs that use multiple subnets:

  • SQL ServerSQL Server FCI SQLCLUST1 inclut Node1 et Node2. FCI SQLCLUST1 includes Node1 and Node2. Node1 est connecté à Subnet1.Node1 is connected to Subnet1. Node2 est connecté à Subnet2.Node2 is connected to Subnet2. SQL ServerSQL Server Le programme de configuration considère cette configuration comme un cluster à plusieurs sous-réseaux et définit la dépendance de ressource d’adresse IP sur OR. Setup sees this configuration as a multi-subnet cluster and sets the IP address resource dependency to OR.

  • SQL ServerSQL Server FCI SQLCLUST1 inclut Node1, Node2 et Node3. FCI SQLCLUST1 includes Node1, Node2, and Node3. Node1 et Node2 sont connectés à Subnet1.Node1 and Node2 are connected to Subnet1. Node3 est connecté à Subnet2.Node 3 is connected to Subnet2. SQL ServerSQL Server Le programme de configuration considère cette configuration comme un cluster à plusieurs sous-réseaux et définit la dépendance de ressource d’adresse IP sur OR. Setup sees this configuration as a multi-subnet cluster and sets the IP address resource dependency to OR. Étant donné que Node1 et Node2 se trouvent sur le même sous-réseau, cette configuration fournit une haute disponibilité locale supplémentaire.Because Node1 and Node2 are on the same subnet, this configuration provides additional local high availability.

  • SQL ServerSQL Server FCI SQLCLUST1 inclut Node1 et Node2. FCI SQLCLUST1 includes Node1 and Node2. Node1 se trouve sur Subnet1.Node1 is on Subnet1. Node2 est sur Subnet1 et Subnet2.Node2 is on Subnet1 and Subnet2. SQL ServerSQL Server Le programme de configuration considère cette configuration comme un cluster à plusieurs sous-réseaux et définit la dépendance de ressource d’adresse IP sur OR. Setup sees this configuration as a multi-subnet cluster and sets the IP address resource dependency to OR.

  • SQL ServerSQL Server FCI SQLCLUST1 inclut Node1 et Node2. FCI SQLCLUST1 includes Node1 and Node2. Node1 est connecté à Subnet1 et Subnet2.Node1 is connected to Subnet1 and Subnet2. Node2 est également connecté à Subnet1 et Subnet2.Node2 is also connected to Subnet1 and Subnet2. La dépendance de ressource d’adresse IP est définie sur AND par le programme de configuration de SQL ServerSQL Server .The IP address resource dependency is set to AND by SQL ServerSQL Server Setup.

    REMARQUE : cette configuration n’est pas considérée comme une configuration de cluster de basculement de sous-réseaux multiples car les nœuds de clusters se trouvent sur le même ensemble de sous-réseaux.NOTE: This configuration is not considered as a multi-subnet failover cluster configuration because the clustered nodes are on the same set of subnets.

Considérations relatives aux ressources d'adresses IP IP Address Resource Considerations

Dans une configuration de cluster de basculement de sous-réseaux multiples, les adresses IP ne sont pas détenues par tous les nœuds dans le cluster de basculement et ne peuvent pas être toutes en ligne pendant le démarrage de SQL ServerSQL Server .In a multi-subnet failover cluster configuration, the IP addresses are not owned by all the nodes in the failover cluster, and may not be all online during SQL ServerSQL Server startup. À compter de SQL Server 2012SQL Server 2012, vous pouvez définir la dépendance de ressource d’adresse IP sur OR.Beginning in SQL Server 2012SQL Server 2012, you can set the IP address resource dependency to OR. Cela permet à SQL ServerSQL Server d'être en ligne lorsqu'il y a au moins une adresse IP valide avec laquelle il peut être lié.This enables SQL ServerSQL Server to be online when there is at least one valid IP address that it can bind to.

REMARQUE : dans les versions de SQL ServerSQL Server antérieures à SQL Server 2012SQL Server 2012, une technologie d’étirement V-LAN a été utilisée dans les configurations de clusters multisites pour exposer une adresse IP unique pour le basculement à travers différents sites.NOTE: In the SQL ServerSQL Server versions earlier than SQL Server 2012SQL Server 2012, a stretch V-LAN technology was used in multi-site cluster configurations to expose a single IP address for failover across sites. Avec la nouvelle fonctionnalité de SQL ServerSQL Server permettant de mettre des nœuds de cluster à travers différents sous-réseaux, vous pouvez maintenant configurer des clusters de basculement SQL ServerSQL Server à travers plusieurs sites sans implémenter la technologie d'étirement V-LAN.With the new capability of SQL ServerSQL Server to cluster nodes across different subnets, you can now configure SQL ServerSQL Server failover clusters across multiple sites without implementing the stretch V-LAN technology.

Considérations relatives à la dépendance OR de la ressource d'adresse IPIP Address Resource OR Dependency Considerations

Vous pouvez considérer le comportement du basculement suivant si vous définissez la dépendance de ressource d’adresse IP sur OR:You may want to consider the following failover behavior if you set the IP address resource dependency is set to OR:

  • Lorsqu'il y a un échec de l'une des adresses IP sur le nœud qui possède actuellement le groupe de ressources de cluster SQL ServerSQL Server , aucun basculement n'est déclenché automatiquement tant que toutes les adresses IP valides sur ce nœud n'ont pas échoué.When there is a failure of one of the IP addresses on the node that currently owns the SQL ServerSQL Server cluster resource group, a failover is not triggered automatically until all the IP addresses valid on that node fail.

  • Lorsqu'un basculement se produit, SQL ServerSQL Server est mis en ligne s'il peut créer une liaison avec au moins une adresse IP valide sur le nœud actuel.When a failover occurs, SQL ServerSQL Server will come online if it can bind to at least one IP address that is valid on the current node. Les adresses IP qui n'ont pas créé de liaison avec SQL ServerSQL Server au démarrage apparaîtront dans le journal des erreurs.The IP addresses that did not bind to SQL ServerSQL Server at startup will be listed in the error log.

Lorsqu'une instance de cluster de basculement (FCI) SQL ServerSQL Server est installée côte à côte avec une instance autonome de Moteur de base de données SQL ServerSQL Server Database Engine, prenez soin d'éviter les conflits de numéro de port TCP sur les adresses IP.When a SQL ServerSQL Server FCI is installed side-by-side with a standalone instance of the Moteur de base de données SQL ServerSQL Server Database Engine, take care to avoid TCP port number conflicts on the IP addresses. Les conflits se produisent généralement lorsque deux instances de Moteur de base de donnéesDatabase Engine sont configurées pour utiliser le port TCP par défaut (1433).Conflicts usually occur when two instances of the Moteur de base de donnéesDatabase Engine are both configured to use the default TCP port (1433). Pour éviter des conflits, configurez une instance pour utiliser un port fixe non défini par défaut.To avoid conflicts, configure one instance to use a non-default fixed port. La configuration d'un port fixe est généralement plus simple sur l'instance autonome.Configuring a fixed port is usually easiest on the standalone instance. La configuration de Moteur de base de donnéesDatabase Engine de manière à utiliser des ports différents empêche un conflit inattendu adresse IP/port TCP qui bloque un démarrage de l'instance lorsqu'une instance de cluster de basculement (FCI) SQL ServerSQL Server échoue au nœud en attente.Configuring the Moteur de base de donnéesDatabase Engine to use different ports will prevent an unexpected IP Address/TCP port conflict that blocks an instance startup when a SQL ServerSQL Server FCI fails to the standby node.

Latence de récupération cliente pendant un basculement Client Recovery Latency During Failover

Une instance FCI à plusieurs sous-réseaux active par défaut la ressource de cluster RegisterAllProvidersIP pour son nom réseau.A multi-subnet FCI by default enables the RegisterAllProvidersIP cluster resource for its network name. Dans une configuration à plusieurs sous-réseaux, les adresses IP en ligne et hors connexion du nom réseau seront inscrites sur le serveur DNS.In a multi-subnet configuration, both the online and offline IP addresses of the network name will be registered at the DNS server. L'application cliente récupère ensuite toutes les adresses IP inscrites depuis le serveur DNS, puis tente de se connecter aux adresses dans l'ordre ou en parallèle.The client application then retrieves all registered IP addresses from the DNS server and attempts to connect to the addresses either in order or in parallel. Cela signifie que le temps de récupération client dans les basculements à plusieurs sous-réseaux ne dépend plus des latences de mise à jour DNS.This means that client recovery time in multi-subnet failovers no longer depend on DNS update latencies. Par défaut, le client tente les adresses IP dans l'ordre.By default, the client tries the IP addresses in order. Quand le client utilise le nouveau paramètre facultatif MultiSubnetFailover=True dans sa chaîne de connexion, il tente à la place les adresses IP simultanément et se connecte au premier serveur qui répond.When the client uses the new optional MultiSubnetFailover=True parameter in its connection string, it will instead try the IP addresses simultaneously and connects to the first server that responds. Cela peut réduire la latence de récupération cliente lorsque des basculements se produisent.This can help minimize the client recovery latency when failovers occur. Pour plus d’informations, consultez Connectivité client AlwaysOn (SQL Server) et Créer ou configurer un écouteur de groupe de disponibilité (SQL Server).For more information, see Always On Client Connectivity (SQL Server) and Create or Configure an Availability Group Listener (SQL Server).

Avec les bibliothèques clientes héritées ou les fournisseurs de données tiers, vous ne pouvez pas utiliser le paramètre MultiSubnetFailover dans votre chaîne de connexion.With legacy client libraries or third party data providers, you cannot use the MultiSubnetFailover parameter in your connection string. Pour vous aider à vous assurer que votre application cliente s'exécute de façon optimale avec l'instance FCI à plusieurs sous-réseaux dans SQL Server 2016SQL Server 2016, essayez d'ajuster le délai de connexion dans la chaîne de connexion du client par 21 secondes pour chaque adresse IP supplémentaire.To help ensure that your client application works optimally with multi-subnet FCI in SQL Server 2016SQL Server 2016, try to adjust the connection timeout in the client connection string by 21 seconds for each additional IP address. Cela garantit que la tentative de reconnexion du client n'expire pas avant de pouvoir faire défiler toutes les adresses IP de votre instance FCI à plusieurs sous-réseaux.This ensures that the client’s reconnection attempt does not timeout before it is able to cycle through all IP addresses in your multi-subnet FCI.

Le délai d’expiration de connexion cliente par défaut pour SQL ServerSQL Server Management Studio et sqlcmd est de 15 secondes.The default client connection time-out period for SQL ServerSQL Server Management Studio and sqlcmd is 15 seconds.

Description du contenuContent Description RubriqueTopic
Installation d'un cluster de basculement SQL ServerInstalling a SQL Server Failover Cluster Créer un cluster de basculement SQL Server (programme d'installation)Create a New SQL Server Failover Cluster (Setup)
Mise à niveau sur place de votre cluster de basculement SQL Server existantIn-place upgrade of your existing SQL Server Failover Cluster Mettre à niveau une instance de cluster de basculement SQL Server (programme d’installation)Upgrade a SQL Server Failover Cluster Instance (Setup)
Maintenance de votre cluster de basculement SQL Server existantMaintaining your existing SQL Server Failover Cluster Ajouter ou supprimer des nœuds dans un cluster de basculement SQL Server (programme d’installation)Add or Remove Nodes in a SQL Server Failover Cluster (Setup)
Utiliser le composant logiciel enfichable de gestion du cluster de basculement pour afficher les événements et les journaux WSFCUse the Failover Cluster Management snap-in to view WSFC events and logs Afficher les événements et journaux pour un cluster de basculementView Events and Logs for a Failover Cluster
Utiliser Windows PowerShell pour créer un fichier journal pour tous les nœuds (ou un nœud spécifique) dans un cluster de basculement WSFCUse Windows PowerShell to create a log file for all nodes (or a specific a node) in a WSFC failover cluster Applets de commande de cluster de basculement Get-ClusterLogGet-ClusterLog Failover Cluster Cmdlet