Gruppi di disponibilità in Linux Always OnAlways On Availability Groups on Linux

In questo argomento si applica a: SìSQL Server in LinuxnonDatabase SQL di AzurenonAzure SQL Data Warehousenon Parallel Data WarehouseTHIS TOPIC APPLIES TO: yesSQL Server on LinuxnoAzure SQL DatabasenoAzure SQL Data WarehousenoParallel Data Warehouse

In questo articolo descrive le caratteristiche di gruppi di disponibilità AlwaysOn (estensivi) in basati su Linux SQL ServerSQL Server installazioni.This article describes the characteristics of Always On Availability Groups (AGs) under Linux-based SQL ServerSQL Server installations. Vengono inoltre illustrate le differenze tra il cluster di failover di Windows Server (WSFC) e Linux-base estensivi.It also covers differences between Linux- and Windows Server failover cluster (WSFC)-based AGs. Vedere il documentazione basati su Windows per le nozioni di base di estensivi, come funzionano nello stesso modo in Windows e Linux, ad eccezione di WSFC.See the Windows-based documentation for the basics of AGs, as they work the same on Windows and Linux except for the WSFC.

Dal punto di vista di alto livello, dei gruppi di disponibilità in SQL ServerSQL Server in Linux sono uguali a quelli nelle implementazioni basata su WSFC.From a high-level standpoint, availability groups under SQL ServerSQL Server on Linux are the same as they are on WSFC-based implementations. Ciò significa che tutte le limitazioni e le funzionalità sono gli stessi, con alcune eccezioni.That means that all the limitations and features are the same, with some exceptions. Le differenze principali includono:The main differences include:

  • Microsoft Distributed Transaction Coordinator (DTC) non è supportata in Linux in SQL Server 2017SQL Server 2017.Microsoft Distributed Transaction Coordinator (DTC) is not supported under Linux in SQL Server 2017SQL Server 2017. Se le applicazioni richiedono l'uso di transazioni distribuite e un gruppo di disponibilità, distribuire SQL ServerSQL Server in Windows.If your applications require the use of distributed transactions and need an AG, deploy SQL ServerSQL Server on Windows.
  • Le distribuzioni basate su Linux usare Pacemaker invece di un cluster WSFC.Linux-based deployments use Pacemaker instead of a WSFC.
  • La maggior parte delle configurazioni per estensivi in Windows, ad eccezione dello scenario di Cluster del gruppo di lavoro, a differenza di Pacemaker non richiede mai servizi di dominio Active Directory (AD DS).Unlike most configurations for AGs on Windows except for the Workgroup Cluster scenario, Pacemaker never requires Active Directory Domain Services (AD DS).
  • Come eseguire un gruppo di disponibilità da un nodo a un altro è diversa tra Linux e Windows.How to fail an AG from one node to another is different between Linux and Windows.
  • Alcune impostazioni, ad esempio required_synchronized_secondaries_to_commit possono essere modificate solo tramite Pacemaker su Linux, mentre un'installazione basata su WSFC utilizza Transact-SQL.Certain settings such as required_synchronized_secondaries_to_commit can only be changed via Pacemaker on Linux, whereas a WSFC-based install uses Transact-SQL.

Numero di repliche e i nodi del clusterNumber of replicas and cluster nodes

Un gruppo di disponibilità in SQL Server StandardSQL Server Standard può avere due repliche totale: uno primario e uno secondario che può essere utilizzato solo per scopi di disponibilità.An AG in SQL Server StandardSQL Server Standard can have two total replicas: one primary, and one secondary that can only be used for availability purposes. E non può essere utilizzato per altri scopi, ad esempio le query leggibile.It cannot be used for anything else, such as readable queries. Un gruppo di disponibilità in SQL Server EnterpriseSQL Server Enterprise può avere fino a nove repliche totale: una primaria e fino a otto repliche secondarie, dei quali fino a tre (incluso il primario) può essere sincrona.An AG in SQL Server EnterpriseSQL Server Enterprise can have up to nine total replicas: one primary and up to eight secondaries, of which up to three (including the primary) can be synchronous. Se si utilizza un cluster sottostante, può esistere un massimo di 16 nodi totale quando è coinvolto Corosync.If using an underlying cluster, there can be a maximum of 16 nodes total when Corosync is involved. Un gruppo di disponibilità può estendersi al massimo nove di 16 nodi con SQL Server EnterpriseSQL Server Enterprisee due con SQL Server StandardSQL Server Standard.An availability group can span at most nine of the 16 nodes with SQL Server EnterpriseSQL Server Enterprise, and two with SQL Server StandardSQL Server Standard.

Una configurazione di due repliche che richiede la possibilità di eseguire automaticamente il failover a un'altra replica richiede l'utilizzo di una configurazione replica sola, come descritto in quorum e configurazione di replica di sola.A two-replica configuration that requires the ability to automatically fail over to another replica requires the use of a configuration-only replica, as described in Configuration-only replica and quorum. Le repliche di configurazione sono state introdotte in SQL Server 2017SQL Server 2017 aggiornamento cumulativo 1 (CU1), in modo che deve essere la versione minima di distribuzione per questa configurazione.Configuration-only replicas were introduced in SQL Server 2017SQL Server 2017 Cumulative Update 1 (CU1), so that should be the minimum version deployed for this configuration.

Se viene utilizzato il Pacemaker, deve essere configurata correttamente in modo che rimanga in esecuzione.If Pacemaker is used, it must be properly configured so it remains up and running. Ciò significa che quorum e STONITH deve essere implementato correttamente da una prospettiva Pacemaker, oltre a qualsiasi SQL ServerSQL Server requisiti, ad esempio una sola configurazione di replica.That means that quorum and STONITH must be implemented properly from a Pacemaker perspective, in addition to any SQL ServerSQL Server requirements such as a configuration-only replica.

Repliche secondarie leggibili sono supportate solo con SQL Server EnterpriseSQL Server Enterprise.Readable secondary replicas are only supported with SQL Server EnterpriseSQL Server Enterprise.

Modalità di tipo e il failover del clusterCluster type and failover mode

Novità di SQL Server 2017SQL Server 2017 è l'introduzione di un tipo di cluster per estensivi.New to SQL Server 2017SQL Server 2017 is the introduction of a cluster type for AGs. Per Linux, sono disponibili due valori validi: esterno e nessuno.For Linux, there are two valid values: External and None. Un tipo di cluster di esterni significa Pacemaker verrà utilizzato di sotto del gruppo di disponibilità.A cluster type of External means that Pacemaker will be used underneath the AG. Utilizzo esterno per il tipo di cluster, è necessario impostare la modalità di failover su esterno anche (nuova SQL Server 2017SQL Server 2017).Using External for cluster type requires that the failover mode be set to External as well (also new in SQL Server 2017SQL Server 2017). Failover automatico è supportato, ma a differenza di un cluster WSFC, la modalità di failover è impostata su esterno, non è automatica, quando viene utilizzato il Pacemaker.Automatic failover is supported, but unlike a WSFC, failover mode is set to External, not automatic, when Pacemaker is used. A differenza di un cluster WSFC, la parte Pacemaker del gruppo di disponibilità viene creata dopo aver configurato il gruppo di disponibilità.Unlike a WSFC, the Pacemaker portion of the AG is created after the AG is configured.

Un tipo di cluster None indica che non c'è Nessun requisito per né verrà utilizzato il gruppo di disponibilità, Pacemaker.A cluster type of None means that there is no requirement for, nor will the AG use, Pacemaker. Anche nei server che dispongono di Pacemaker configurato, se un gruppo di disponibilità è configurato con un tipo di cluster None, Pacemaker verrà non visualizzare o gestire tale gruppo di disponibilità.Even on servers that have Pacemaker configured, if an AG is configured with a cluster type of None, Pacemaker will not see or manage that AG. Un tipo di cluster None supporta solo il failover manuale da un database primario a una replica secondaria.A cluster type of None only supports manual failover from a primary to a secondary replica. Un gruppo di disponibilità creato con nessuno è destinata principalmente per la lettura con scalabilità orizzontale scenario, nonché gli aggiornamenti.An AG created with None is primarily targeted for the read-scale out scenario as well as upgrades. Anche se può funzionare in scenari di ripristino di emergenza o di disponibilità locale in cui è necessario alcun failover automatico, non è consigliabile.While it can work in scenarios like disaster recovery or local availability where no automatic failover is necessary, it is not recommended. La sequenza di listener è inoltre più complessa senza Pacemaker.The listener story is also more complex without Pacemaker.

Tipo di cluster è archiviato nel SQL ServerSQL Server vista a gestione dinamica (DMV) sys.availability_groups, nelle colonne cluster_type e cluster_type_desc.Cluster type is stored in the SQL ServerSQL Server dynamic management view (DMV) sys.availability_groups, in the columns cluster_type and cluster_type_desc.

obbligatorio_sincronizzato_secondari_a_commitrequired_synchronized_secondaries_to_commit

Novità di SQL Server 2017SQL Server 2017 è un'impostazione che viene utilizzata da estensivi chiamati required_synchronized_secondaries_to_commit.New to SQL Server 2017SQL Server 2017 is a setting that is used by AGs called required_synchronized_secondaries_to_commit. In questo modo il gruppo di disponibilità il numero di repliche secondarie che deve essere in contemporanea con la replica primaria.This tells the AG the number of secondary replicas that must be in lockstep with the primary. Ciò consente ad esempio il failover automatico (solo quando è integrato con Pacemaker con un tipo di cluster di esterni) e controlla il comportamento delle operazioni come la disponibilità del database primario, se il numero di repliche secondarie è online oppure offline.This enables things like automatic failover (only when integrated with Pacemaker with a cluster type of External), and controls the behavior of things like the availability of the primary if the right number of secondary replicas is either online or offline. Per comprendere meglio il funzionamento, vedere elevata disponibilità e protezione dei dati per le configurazioni di gruppo di disponibilità.To understand more about how this works, see High availability and data protection for availability group configurations. Il required_synchronized_secondaries_to_commit valore è impostato per impostazione predefinita e gestita da Pacemaker / SQL ServerSQL Server.The required_synchronized_secondaries_to_commit value is set by default and maintained by Pacemaker/ SQL ServerSQL Server. È possibile eseguire manualmente l'override di questo valore.You can manually override this value.

La combinazione di required_synchronized_secondaries_to_commit e il nuovo numero di sequenza (che viene archiviato sys.availability_groups) informa Pacemaker e SQL ServerSQL Server che, ad esempio, può verificarsi il failover automatico.The combination of required_synchronized_secondaries_to_commit and the new sequence number (which is stored in sys.availability_groups) informs Pacemaker and SQL ServerSQL Server that, for example, automatic failover can happen. In tal caso, una replica secondaria avrebbe lo stesso numero di sequenza del database primario, vale a dire aggiornato con tutte le informazioni di configurazione più recente.In that case, a secondary replica would have the same sequence number as the primary, meaning it is up to date with all the latest configuration information.

Sono disponibili tre valori che possono essere impostati per required_synchronized_secondaries_to_commit: 0, 1 o 2.There are three values that can be set for required_synchronized_secondaries_to_commit: 0, 1, or 2. Controllano il comportamento di ciò che accade quando una replica diventa non disponibile.They control the behavior of what happens when a replica becomes unavailable. I numeri corrispondono al numero di repliche secondarie che devono essere sincronizzati con la replica primaria.The numbers correspond to the number of secondary replicas that must be synchronized with the primary. Il comportamento è come indicato di seguito in Linux:The behavior is as follows under Linux:

  • 0 – il failover automatico non è possibile perché nessuna replica secondaria deve essere sincronizzato.0 – No automatic failover is possible since no secondary replica is required to be synchronized. Il database primario è disponibile in qualsiasi momento.The primary database is available at all times.
  • Da 1 a una replica secondaria deve essere in uno stato sincronizzato con la replica primaria; failover automatico è possibile.1 – One secondary replica must be in a synchronized state with the primary; automatic failover is possible. Il database primario non è disponibile fino a quando non è disponibile una replica secondaria sincrona.The primary database is unavailable until a secondary synchronous replica is available.
  • 2 – sia nelle repliche secondarie in una configurazione di gruppo di disponibilità tre o più nodi deve essere sincronizzati con la replica primaria; failover automatico è possibile.2 – Both secondary replicas in a three or more node AG configuration must be synchronized with the primary; automatic failover is possible.

required_synchronized_secondaries_to_commitControlla non solo il comportamento di failover con repliche sincrone, ma la perdita di dati.required_synchronized_secondaries_to_commit controls not only the behavior of failovers with synchronous replicas, but data loss. Con un valore pari a 1 o 2, una replica secondaria deve sempre essere sincronizzati, pertanto sarà sempre presente la ridondanza dei dati.With a value of 1 or 2, a secondary replica is always required to be synchronized, so there will always be data redundancy. Ciò non significa che perdita di dati.That means no data loss.

Per modificare il valore di required_synchronized_secondaries_to_commit, utilizzare la sintassi riportata di seguito.To change the value of required_synchronized_secondaries_to_commit, use the syntax below.

Nota

La modifica del valore determina la risorsa per il riavvio vale a dire brevi interruzioni.Changing the value causes the resource to restart, meaning a brief outage. L'unico modo per evitare questo problema consiste nell'impostare la risorsa a non essere gestito dal cluster temporaneamente.The only way to avoid this is to set the resource to not be managed by the cluster temporarily.

Red Hat Enterprise Linux (RHEL) e UbuntuRed Hat Enterprise Linux (RHEL) and Ubuntu

sudo pcs resource update <AGResourceName>-master required_synchronized_secondaries_to_commit=<Value>

SUSE Linux Enterprise Server (SLES)SUSE Linux Enterprise Server (SLES)

sudo crm resource param ms-<AGResourceName> set required_synchronized_secondaries_to_commit <value>

dove AGResourceName è il nome della risorsa configurata per il gruppo di disponibilità e valore è 0, 1 o 2.where AGResourceName is the name of the resource configured for the AG, and Value is 0, 1, or 2. Per impostare nuovamente il valore predefinito di gestione il parametro Pacemaker, eseguire la stessa istruzione non prevede alcun valore.To set it back to the default of Pacemaker managing the parameter, execute the same statement with no value.

Failover automatico di un gruppo di disponibilità è possibile quando vengono soddisfatte le condizioni seguenti:Automatic failover of an AG is possible when the following conditions are met:

  • Il database primario e la replica secondaria vengono impostate per lo spostamento di dati sincroni.The primary and the secondary replica are set to synchronous data movement.
  • Il database secondario ha uno stato di sincronizzazione (non in sincronizzazione), ovvero che i due sono nello stesso punto dati.The secondary has a state of synchronized (not synchronizing), meaning the two are at the same data point.
  • Il tipo di cluster è impostato su esterno.The cluster type is set to External. Failover automatico non è possibile con un tipo di cluster None.Automatic failover is not possible with a cluster type of None.
  • Il sequence_number della replica secondaria che diventerà il database primario è il numero di sequenza più alto: in altre parole, la replica secondaria sequence_number corrisponda a quella dalla replica primaria originale.The sequence_number of the secondary replica to become the primary has the highest sequence number – in other words, the secondary replica’s sequence_number matches the one from the original primary replica.

Se queste condizioni vengono soddisfatte e il server che ospita la replica primaria non riesce, il gruppo di disponibilità passerà proprietà a una replica sincrona.If these conditions are met and the server hosting the primary replica fails, the AG will change ownership to a synchronous replica. Il comportamento per le repliche sincrone (di cui è possibile tre totale: uno primario e due repliche secondarie) può essere controllata ulteriormente da required_synchronized_secondaries_to_commit.The behavior for synchronous replicas (of which there can be three total: one primary and two secondary replicas) can further be controlled by required_synchronized_secondaries_to_commit. Funziona con estensivi su Windows e Linux, ma è configurato in modo completamente diverso.This works with AGs on both Windows and Linux, but is configured completely differently. In Linux, il valore viene configurato automaticamente dal cluster della risorsa gruppo di disponibilità se stesso.On Linux, the value is configured automatically by the cluster on the AG resource itself.

Quorum e configurazione di replica di solaConfiguration-only replica and quorum

Nuova SQL Server 2017SQL Server 2017 a partire da CU1 è una sola configurazione di replica.Also new in SQL Server 2017SQL Server 2017 as of CU1 is a configuration-only replica. Poiché Pacemaker è diverso rispetto a un cluster WSFC, soprattutto quando si tratta di quorum e STONITH, richiedere una configurazione di due nodi non funzionerà quando si tratta di un gruppo di disponibilità.Because Pacemaker is different than a WSFC, especially when it comes to quorum and requiring STONITH, having just a two-node configuration will not work when it comes to an AG. Per un'istanza FCI, i meccanismi di quorum forniti da Pacemaker possono costituire un problema, poiché l'arbitraggio di failover tutte le istanza cluster di failover si verifica a livello del cluster.For an FCI, the quorum mechanisms provided by Pacemaker can be fine, because all FCI failover arbitration happens at the cluster layer. Per un gruppo di disponibilità, arbitraggio in Linux avviene SQL ServerSQL Server, in cui vengono archiviati tutti i metadati.For an AG, arbitration under Linux happens in SQL ServerSQL Server, where all the metadata is stored. Si tratta in cui la replica solo configurazione entra in gioco.This is where the configuration-only replica comes into play.

Senza altri elementi, un terzo nodo e almeno una replica sincronizzata sarebbe necessari.Without anything else, a third node and at least one synchronized replica would be required. Questo metodo non funziona per SQL Server StandardSQL Server Standard, dal momento che può avere solo due repliche che partecipano a un gruppo di disponibilità.This would not work for SQL Server StandardSQL Server Standard, since it can only have two replicas participating in an AG. La replica solo configurazione memorizza la configurazione del gruppo di disponibilità nel database master, come le altre repliche nella configurazione del gruppo di disponibilità.The configuration-only replica stores the AG configuration in the master database, same as the other replicas in the AG configuration. La sola configurazione di replica non dispone dei database utente che fanno parte del gruppo di disponibilità.The configuration-only replica does not have the user databases participating in the AG. I dati di configurazione viene inviati in modo sincrono dal database primario.The configuration data is sent synchronously from the primary. Questi dati di configurazione viene quindi utilizzati durante i failover, sia automatico o manuale.This configuration data is then used during failovers, whether they are automatic or manual.

Per un gruppo di disponibilità mantenere il quorum e abilitare i failover automatici con un tipo di cluster di esterni, uno deve essere:For an AG to maintain quorum and enable automatic failovers with a cluster type of External, it either must:

  • Avere tre repliche sincrone ( SQL Server EnterpriseSQL Server Enterprise solo); oHave three synchronous replicas ( SQL Server EnterpriseSQL Server Enterprise only); or
  • Disporre di due repliche (primaria e secondaria), nonché una replica di sola configurazione.Have two replicas (primary and secondary) as well as a configuration only replica.

I failover manuali possono verificarsi se l'utilizzo esterno o nessuno tipi per le configurazioni del gruppo di disponibilità del cluster.Manual failovers can happen whether using External or None cluster types for AG configurations. Mentre una sola configurazione di replica può essere configurata con un gruppo di disponibilità che dispone di un cluster di tipo None, non è consigliabile, poiché complica la distribuzione.While a configuration-only replica can be configured with an AG that has a cluster type of None, it is not recommended, since it complicates the deployment. Per tali configurazioni, modificare manualmente required_synchronized_secondaries_to_commit per avere un valore di almeno 1, in modo che sia presente almeno una replica sincronizzata.For those configurations, manually modify required_synchronized_secondaries_to_commit to have a value of at least 1, so that there is at least one synchronized replica.

Una configurazione replica sola può essere ospitata in qualsiasi edizione di SQL ServerSQL Server, tra cui SQL Server ExpressSQL Server Express.A configuration-only replica can be hosted on any edition of SQL ServerSQL Server, including SQL Server ExpressSQL Server Express. Questo riduce al minimo i costi di licenza e assicura il funzionamento con estensivi in SQL Server StandardSQL Server Standard.This will minimize licensing costs and ensures it works with AGs in SQL Server StandardSQL Server Standard. Ciò significa che il terzo necessari server sufficiente soddisfare i requisiti minimi per SQL ServerSQL Server, dal momento che per il gruppo di disponibilità non riceve traffico transazione utente.This means that the third required server just needs to meet the minimum specification for SQL ServerSQL Server, since it is not receiving user transaction traffic for the AG.

Quando viene utilizzata una sola configurazione di replica, ha il comportamento seguente:When a configuration-only replica is used, it has the following behavior:

  • Per impostazione predefinita, required_synchronized_secondaries_to_commit è impostato su 0.By default, required_synchronized_secondaries_to_commit is set to 0. Questo può essere modificato manualmente su 1 se si desidera.This can be manually modified to 1 if desired.
  • Se il database primario non riesce e required_synchronized_secondaries_to_commit è 0, la replica secondaria diventeranno nel nuovo database primario e disponibile per la lettura e scrittura.If the primary fails and required_synchronized_secondaries_to_commit is 0, the secondary replica will become the new primary and be available for both reading and writing. Se il valore è 1, si verificherà il failover automatico, ma non verrà accettate nuove transazioni fino a quando non è in linea di altra replica.If the value is 1, automatic failover will occur, but will not accept new transactions until the other replica is online.
  • Se ha esito negativo di una replica secondaria e required_synchronized_secondaries_to_commit è 0, la replica primaria è ancora accetta le transazioni, ma se il database primario non riesce a questo punto, non è presente alcuna protezione dati per i dati né di failover possibili (manuale o automatico), poiché una replica secondaria non è disponibile.If a secondary replica fails and required_synchronized_secondaries_to_commit is 0, the primary replica still accepts transactions, but if the primary fails at this point, there is no protection for the data nor failover possible (manual or automatic), since a secondary replica is not available.
  • Se le repliche di sola configurazione non riesce, il gruppo di disponibilità funzionerà normalmente ma il failover automatico non è possibile.If the configuration-only replicas fails, the AG will function normally, but no automatic failover is possible.
  • Se una replica secondaria asincrona sia la replica solo configurazione non riesce, il database primario non può accettare transazioni, e non avere esito negativo per la replica primaria.If both a synchronous secondary replica and the configuration-only replica fail, the primary cannot accept transactions, and there is nowhere for the primary to fail to.

In CU1 nel è presente un bug noto la registrazione nel file che viene generato tramite corosync.log mssql-server-ha.In CU1 there is a known bug in the logging in the corosync.log file that is generated via mssql-server-ha. Se una replica secondaria non è in grado di diventare il database primario a causa del numero di repliche obbligatorie disponibile, viene visualizzato il messaggio corrente "destinati a ricevere i numeri di sequenza 1 ma ricevuti solo 2.If a secondary replica is not able to become the primary due to the number of required replicas available, the current message says "Expected to receive 1 sequence numbers but only received 2. Non sono sufficienti le repliche sono in linea per alzare di livello in modo sicuro la replica locale."Not enough replicas are online to safely promote the local replica." I numeri devono essere annullati e dovrebbe essere visualizzato "destinati a ricevere i numeri di sequenza 2 ma ricevuti solo 1.The numbers should be reversed, and it should say "Expected to receive 2 sequence numbers but only received 1. Non sono sufficienti le repliche sono in linea per alzare di livello in modo sicuro la replica locale."Not enough replicas are online to safely promote the local replica."

Più gruppi di disponibilitàMultiple availability groups

È possibile creare più di un gruppo di disponibilità per ogni cluster Pacemaker o set di server.More than one AG can be created per Pacemaker cluster or set of servers. L'unica limitazione consiste le risorse di sistema.The only limitation is system resources. Proprietà del gruppo di disponibilità viene visualizzata per lo schema.AG ownership is shown by the master. Possono essere di proprietà estensivi diversi da nodi diversi; non tutte devono essere in esecuzione nello stesso nodo.Different AGs can be owned by different nodes; they do not all need to be running on the same node.

Percorso di unità e la cartella per i databaseDrive and folder location for databases

Come in estensivi basati su Windows, la struttura di unità e la cartella per i database utente che fanno parte di un gruppo di disponibilità deve essere identica.As on Windows-based AGs, the drive and folder structure for the user databases participating in an AG should be identical. Ad esempio, se i database utente sono in /var/opt/mssql/userdata sul Server A, tale cartella stessa deve esistere nel Server B. L'unica eccezione è indicato nella sezione interoperabilità con i gruppi di disponibilità basato su Windows e le repliche.For example, if the user databases are in /var/opt/mssql/userdata on Server A, that same folder should exist on Server B. The only exception to this is noted in the section Interoperability with Windows-based availability groups and replicas.

Il listener in LinuxThe listener under Linux

Il listener è una funzionalità facoltativa per un gruppo di disponibilità.The listener is optional functionality for an AG. Fornisce un singolo punto di ingresso per tutte le connessioni (lettura/scrittura per la replica primaria e/o le repliche di sola lettura al database secondario) in modo che le applicazioni e gli utenti finali non è necessario conoscere il server che ospita i dati.It provides a single point of entry for all connections (read/write to the primary replica and/or read-only to secondary replicas) so that applications and end users do not need to know which server is hosting the data. In un cluster WSFC, è la combinazione di una risorsa nome di rete e una risorsa IP, che viene quindi registrata nel dominio di Active Directory (se necessario) e DNS.In a WSFC, this is the combination of a network name resource and an IP resource, which is then registered in AD DS (if needed) as well as DNS. In combinazione con la risorsa del gruppo di disponibilità se stesso, fornisce tale astrazione.In combination with the AG resource itself, it provides that abstraction. Per ulteriori informazioni su un listener, vedere listener, connettività Client e Failover dell'applicazione.For more information on a listener, see Listeners, Client Connectivity, and Application Failover.

Il listener in Linux è configurato in modo diverso, ma la relativa funzionalità è lo stesso.The listener under Linux is configured differently, but its functionality is the same. Non è previsto di una risorsa nome di rete in Pacemaker, né viene creato un oggetto in Active Directory; è solo una risorsa di indirizzo IP creata in Pacemaker eseguibili su uno dei nodi.There is no concept of a network name resource in Pacemaker, nor is an object created in AD DS; there is just an IP address resource created in Pacemaker that can run on any of the nodes. Sarà necessario creare una voce associata alla risorsa IP per il listener in DNS con un "nome descrittivo".An entry associated with the IP resource for the listener in DNS with a “friendly name” will need to be created. La risorsa IP per il listener solo sarà attiva nel server che ospita la replica primaria per tale gruppo di disponibilità.The IP resource for the listener will only be active on the server hosting the primary replica for that availability group.

Se viene utilizzato il Pacemaker e viene creata una risorsa indirizzo IP che è associato il listener, esisterà brevi interruzioni come l'indirizzo IP si arresta in un server e viene avviata da altro, se si tratta di failover automatico o manuale.If Pacemaker is used and an IP address resource is created that is associated with the listener, there will be a brief outage as the IP address stops on the one server and starts on the other, whether it is automatic or manual failover. Sebbene offra astrazione tramite la combinazione di un solo nome e indirizzo IP, non maschera l'interruzione.While this provides abstraction through the combination of a single name and IP address, it does not mask the outage. Un'applicazione deve essere in grado di gestire la disconnessione con un tipo di funzionalità rileva il problema e riconnettersi.An application must be able to handle the disconnect by having some sort of functionality to detect this and reconnect.

Tuttavia, la combinazione del nome DNS e indirizzo IP è ancora non è sufficiente per fornire tutte le funzionalità che fornisce un listener su un cluster WSFC, ad esempio di routing di sola lettura per le repliche secondarie.However, the combination of the DNS name and IP address is still not enough to provide all the functionality that a listener on a WSFC provides, such as read-only routing for secondary replicas. Quando si configura un gruppo di disponibilità, un "listener" ancora deve essere configurato SQL ServerSQL Server.When configuring an AG, a “listener” still needs to be configured in SQL ServerSQL Server. Può essere considerato la procedura guidata, nonché la sintassi Transact-SQL.This can be seen in the wizard as well as the Transact-SQL syntax. Esistono due modi, che può essere configurato per funzionare anche in Windows:There are two ways that this can be configured to function the same as on Windows:

  • Per un gruppo di disponibilità con un tipo di cluster di esterni, l'indirizzo IP associato l'oggetto creato in "listener" SQL ServerSQL Server deve essere l'indirizzo IP della risorsa creata in Pacemaker.For an AG with a cluster type of External, the IP address associated with the “listener” created in SQL ServerSQL Server should be the IP address of the resource created in Pacemaker.
  • Per un gruppo di disponibilità creato con un tipo di cluster None, utilizzare l'indirizzo IP associato con la replica primaria.For an AG created with a cluster type of None, use the IP address associated with the primary replica.

L'istanza associata quindi l'indirizzo IP specificato diventa il coordinatore per elementi come le richieste di routine di sola lettura dalle applicazioni.The instance associated with the provided IP address then becomes the coordinator for things like the read-only routing requests from applications.

Interoperabilità con i gruppi di disponibilità basato su Windows e replicheInteroperability with Windows-based availability groups and replicas

Un gruppo di disponibilità di un cluster di tipo esterno o di un WSFC non può avere le relative repliche tra piattaforme.An AG that has a cluster type of External or one that is WSFC cannot have its replicas cross platforms. È true se il gruppo di disponibilità è SQL Server StandardSQL Server Standard o SQL Server EnterpriseSQL Server Enterprise.This is true whether the AG is SQL Server StandardSQL Server Standard or SQL Server EnterpriseSQL Server Enterprise. Ciò significa che in una configurazione gruppo di disponibilità tradizionali con un cluster sottostante, una replica non può essere in un cluster WSFC e l'altro in Linux con Pacemaker.That means in a traditional AG configuration with an underlying cluster, one replica cannot be on a WSFC and the other on Linux with Pacemaker.

Un gruppo di disponibilità con un tipo di cluster None può avere le relative repliche tra i limiti del sistema operativo, in modo stesso AG possono essere entrambe le repliche basate su Linux e Windows.An AG with a cluster type of None can have its replicas cross OS boundaries, so there could be both Linux- and Windows-based replicas in the same AG. Un esempio è illustrato di seguito in cui la replica primaria è basato su Windows, mentre il database secondario è su una delle distribuzioni di Linux.An example is shown below where the primary replica is Windows-based, while the secondary is on one of the Linux distributions.

Ibrida nessuno

Un gruppo di disponibilità distribuita anche può attraversare i limiti del sistema operativo.A distributed AG can also cross OS boundaries. Gli estensivi sottostante associati dalle regole per la relativa configurazione, ad esempio quello configurato con l'esterno da Linux sola, ma il gruppo di disponibilità unita in join a potrebbe essere configurato utilizzando un cluster WSFC.The underlying AGs are bound by the rules for how they are configured, such as one configured with External being Linux-only, but the AG that it is joined to could be configured using a WSFC. Di seguito è riportato un esempio.An example is shown below.

Gruppo di disponibilità Dist ibrida

Passaggi successiviNext steps

Configurare il gruppo di disponibilità per SQL Server in LinuxConfigure availability group for SQL Server on Linux

Configurare il gruppo di disponibilità a livello di lettura per SQL Server in LinuxConfigure read-scale availability group for SQL Server on Linux

Aggiungere il gruppo di disponibilità risorse Cluster su RHELAdd availability group Cluster Resource on RHEL

Aggiungere il gruppo di disponibilità risorsa Cluster in SLESAdd availability group Cluster Resource on SLES

Aggiungere il gruppo di disponibilità risorsa Cluster in UbuntuAdd availability group Cluster Resource on Ubuntu