Configurare Cluster di RHEL per il gruppo di disponibilità di SQL ServerConfigure RHEL Cluster for SQL Server Availability Group

QUESTO ARGOMENTO SI APPLICA A: SìSQL Server (solo Linux)nonDatabase SQL di AzurenonAzure SQL Data Warehousenon Parallel Data Warehouse THIS TOPIC APPLIES TO: yesSQL Server (Linux only)noAzure SQL DatabasenoAzure SQL Data WarehousenoParallel Data Warehouse

Questo documento illustra come creare un cluster del gruppo di disponibilità di tre nodi per SQL Server su Red Hat Enterprise Linux.This document explains how to create a three-node availability group cluster for SQL Server on Red Hat Enterprise Linux. Per la disponibilità elevata, un gruppo di disponibilità in Linux richiede tre nodi, vedere la elevata disponibilità e protezione dei dati per le configurazioni di gruppo di disponibilità.For high availability, an availability group on Linux requires three nodes - see High availability and data protection for availability group configurations. Il livello di clustering si basa su Red Hat Enterprise Linux (RHEL) componente aggiuntivo a disponibilità elevata costruita basandosi su Pacemaker.The clustering layer is based on Red Hat Enterprise Linux (RHEL) HA add-on built on top of Pacemaker.

Nota

Accesso alla documentazione completa di Red Hat richiede una sottoscrizione valida.Access to Red Hat full documentation requires a valid subscription.

Per altre informazioni su configurazione del cluster, le opzioni degli agenti delle risorse e gestione, visitare documentazione di riferimento RHEL.For more information on cluster configuration, resource agents options, and management, visit RHEL reference documentation.

Nota

SQL Server non è come strettamente integrato con Pacemaker in Linux con Windows Server failover clustering.SQL Server is not as tightly integrated with Pacemaker on Linux as it is with Windows Server failover clustering. Un'istanza di SQL Server non è a conoscenza del cluster.A SQL Server instance is not aware of the cluster. Pacemaker fornisce l'orchestrazione della risorsa cluster.Pacemaker provides cluster resource orchestration. Inoltre, il nome di rete virtuale è specifico per Windows Server failover clustering, è disponibile un equivalente in Pacemaker.Also, the virtual network name is specific to Windows Server failover clustering - there is no equivalent in Pacemaker. Disponibilità gruppo viste a gestione dinamica (DMV) che le informazioni del cluster di query restituiscono righe vuote nei cluster Pacemaker.Availability group dynamic management views (DMVs) that query cluster information return empty rows on Pacemaker clusters. Per creare un listener per la riconnessione dopo il failover trasparente, registrare manualmente il nome del listener in DNS con l'indirizzo IP usato per creare la risorsa IP virtuale.To create a listener for transparent reconnection after failover, manually register the listener name in DNS with the IP used to create the virtual IP resource.

Le sezioni seguenti illustrano i passaggi per configurare un cluster Pacemaker e aggiungere un gruppo di disponibilità come risorsa nel cluster per la disponibilità elevata.The following sections walk through the steps to set up a Pacemaker cluster and add an availability group as resource in the cluster for high availability.

Guida di orientamentoRoadmap

I passaggi per creare un gruppo di disponibilità nei server Linux per la disponibilità elevata sono diversi dai passaggi in un cluster di failover di Windows Server.The steps to create an availability group on Linux servers for high availability are different from the steps on a Windows Server failover cluster. L'elenco seguente descrive i passaggi generali:The following list describes the high-level steps:

  1. Configurare SQL Server nei nodi del cluster.Configure SQL Server on the cluster nodes.

  2. Creare il gruppo di disponibilità.Create the availability group.

  3. Configurare un cluster di resource manager, ad esempio Pacemaker.Configure a cluster resource manager, like Pacemaker. Queste istruzioni sono in questo documento.These instructions are in this document.

    Il modo per configurare un gestore di risorse cluster dipende la distribuzione Linux specifica.The way to configure a cluster resource manager depends on the specific Linux distribution.

    Importante

    Gli ambienti di produzione richiedono un agente di isolamento, ad esempio STONITH per la disponibilità elevata.Production environments require a fencing agent, like STONITH for high availability. Le dimostrazioni in questa documentazione non usano gli agenti di fencing.The demonstrations in this documentation do not use fencing agents. Le dimostrazioni sono per i test e convalida solo.The demonstrations are for testing and validation only.

    Un cluster Linux Usa l'isolamento per restituire il cluster a uno stato noto.A Linux cluster uses fencing to return the cluster to a known state. Il modo per configurare l'isolamento varia a seconda della distribuzione e l'ambiente.The way to configure fencing depends on the distribution and the environment. Attualmente, l'isolamento non è disponibile in alcuni ambienti cloud.Currently, fencing is not available in some cloud environments. Per altre informazioni, vedere criteri di supporto per RHEL cluster disponibilità elevata - piattaforme di virtualizzazione.For more information, see Support Policies for RHEL High Availability Clusters - Virtualization Platforms.

  4. Aggiungere il gruppo di disponibilità come una risorsa in cluster.Add the availability group as a resource in the cluster.

Configurare la disponibilità elevata per RHELConfigure high availability for RHEL

Per configurare la disponibilità elevata per RHEL, abilitare la sottoscrizione di un'elevata disponibilità e quindi configurare Pacemaker.To configure high availability for RHEL, enable the high availability subscription and then configure Pacemaker.

Abilitare la sottoscrizione di disponibilità elevata per RHELEnable the high availability subscription for RHEL

Ogni nodo nel cluster deve avere una sottoscrizione appropriata per RHEL e la disponibilità elevata Add.Each node in the cluster must have an appropriate subscription for RHEL and the High Availability Add on. Esaminare i requisiti nel come installare i pacchetti di cluster di disponibilità elevata in Red Hat Enterprise Linux.Review the requirements at How to install High Availability cluster packages in Red Hat Enterprise Linux. Seguire questi passaggi per configurare la sottoscrizione e il repository:Follow these steps to configure the subscription and repos:

  1. Registrare il sistema.Register the system.

    sudo subscription-manager register
    

    Specificare nome utente e password.Provide your user name and password.

  2. Elencare i pool disponibili per la registrazione.List the available pools for registration.

    sudo subscription-manager list --available
    

    Dall'elenco dei pool disponibile, prendere nota dell'ID del pool per la sottoscrizione di disponibilità elevata.From the list of available pools, note the pool ID for the high availability subscription.

  3. Aggiornare lo script seguente.Update the following script. Sostituire <pool id> con l'ID del pool per la disponibilità elevata dal passaggio precedente.Replace <pool id> with the pool ID for high availability from the preceding step. Eseguire lo script per collegare la sottoscrizione.Run the script to attach the subscription.

    sudo subscription-manager attach --pool=<pool id>
    
  4. Abilitare il repository.Enable the repository.

    sudo subscription-manager repos --enable=rhel-ha-for-rhel-7-server-rpms
    

Per altre informazioni, vedere Pacemaker – The Open Source, il Cluster a disponibilità elevata.For more information, see Pacemaker – The Open Source, High Availability Cluster.

Dopo aver configurato la sottoscrizione, completare i passaggi seguenti per configurare Pacemaker:After you have configured the subscription, complete the following steps to configure Pacemaker:

Configurare PacemakerConfigure Pacemaker

Dopo aver registrato la sottoscrizione, completare i passaggi seguenti per configurare Pacemaker:After you register the subscription, complete the following steps to configure Pacemaker:

  1. In tutti i nodi del cluster, aprire le porte del firewall di Pacemaker.On all cluster nodes, open the Pacemaker firewall ports. Per aprire queste porte con firewalld, eseguire il comando seguente:To open these ports with firewalld, run the following command:

    sudo firewall-cmd --permanent --add-service=high-availability
    sudo firewall-cmd --reload
    

    Se il firewall non ha una configurazione a disponibilità elevata predefinita, aprire le porte seguenti per Pacemaker.If the firewall doesn’t have a built-in high-availability configuration, open the following ports for Pacemaker.

    • TCP: porte 2224, 3121, 21064TCP: Ports 2224, 3121, 21064
    • UDP: porta 5405UDP: Port 5405
  2. Installare i pacchetti Pacemaker in tutti i nodi.Install Pacemaker packages on all nodes.

    sudo yum install pacemaker pcs fence-agents-all resource-agents
    
  3. Impostare la password per l'utente predefinito creato durante l'installazione dei pacchetti Pacemaker e Corosync.Set the password for the default user that is created when installing Pacemaker and Corosync packages. Usare la stessa password in tutti i nodi.Use the same password on all nodes.

    sudo passwd hacluster
    
  4. Per riaggiungere i nodi al cluster dopo il riavvio, abilitare e avviare il servizio pcsd e Pacemaker.To allow nodes to rejoin the cluster after the reboot, enable and start pcsd service and Pacemaker. Eseguire il comando seguente in tutti i nodi.Run the following command on all nodes.

    sudo systemctl enable pcsd
    sudo systemctl start pcsd
    sudo systemctl enable pacemaker
    
  5. Creare il cluster.Create the Cluster. Per creare il cluster, eseguire il comando seguente:To create the cluster, run the following command:

    sudo pcs cluster auth <node1> <node2> <node3> -u hacluster -p <password for hacluster>
    sudo pcs cluster setup --name <clusterName> <node1> <node2> <node3> 
    sudo pcs cluster start --all
    

    Nota

    Se in precedenza è stato configurato un cluster negli stessi nodi, è necessario usare l'opzione --force quando si esegue pcs cluster setup.If you previously configured a cluster on the same nodes, you need to use --force option when running pcs cluster setup. Questa opzione equivale a eseguire pcs cluster destroy.This option is equivalent to running pcs cluster destroy. Per abilitare nuovamente pacemaker, eseguire sudo systemctl enable pacemaker.To re-enable pacemaker, run sudo systemctl enable pacemaker.

  6. Installare l'agente delle risorse SQL Server per SQL Server.Install SQL Server resource agent for SQL Server. Eseguire i comandi seguenti in tutti i nodi.Run the following commands on all nodes.

    sudo yum install mssql-server-ha
    

Dopo aver configurato Pacemaker, usare pcs per interagire con il cluster.After Pacemaker is configured, use pcs to interact with the cluster. Eseguire tutti i comandi in un nodo dal cluster.Execute all commands on one node from the cluster.

Configurare l'isolamento (STONITH)Configure fencing (STONITH)

I fornitori del cluster pacemaker richiedono STONITH deve essere abilitata e un dispositivo di fencing configurato per l'installazione del cluster supportate.Pacemaker cluster vendors require STONITH to be enabled and a fencing device configured for a supported cluster setup. STONITH è l'acronimo di "girare in altro nodo nell'intestazione".STONITH stands for "shoot the other node in the head." Se cluster resource manager non è possibile determinare lo stato di un nodo o di una risorsa in un nodo, fencing porta nuovamente il cluster a uno stato noto.When the cluster resource manager cannot determine the state of a node or of a resource on a node, fencing brings the cluster to a known state again.

Isolamento a livello di risorse garantisce che non vi sia alcun danneggiamento dei dati in caso di interruzione tramite la configurazione di una risorsa.Resource level fencing ensures that there is no data corruption in case of an outage by configuring a resource. Ad esempio, è possibile utilizzare l'isolamento a livello di risorsa per contrassegnare il disco in un nodo come obsoleta quando il collegamento di comunicazione si arresta.For example, you can use resource level fencing to mark the disk on a node as outdated when the communication link goes down.

Isolamento a livello di nodo assicura che un nodo non viene eseguita alcuna risorsa.Node level fencing ensures that a node does not run any resources. In tal caso, reimpostare il nodo.This is done by resetting the node. Pacemaker supporta una vasta gamma di dispositivi di conflitti.Pacemaker supports a great variety of fencing devices. Gli esempi includono un uninterruptible power supply o gestione schede di interfaccia di per i server.Examples include an uninterruptible power supply or management interface cards for servers.

Per informazioni su STONITH e l'isolamento, vedere gli articoli seguenti:For information about STONITH, and fencing, see the following articles:

Poiché il livello del nodo recinzioni configurazione dipende principalmente dall'ambiente, disabilitarlo per questa esercitazione (può essere configurato in un secondo momento).Because the node level fencing configuration depends heavily on your environment, disable it for this tutorial (it can be configured later). Lo script seguente disabilita isolamento a livello di nodo:The following script disables node level fencing:

sudo pcs property set stonith-enabled=false

Importante

La disabilitazione di STONITH è solo a scopo di test.Disabling STONITH is just for testing purposes. Se si prevede di utilizzare Pacemaker in un ambiente di produzione, è necessario pianificare un'implementazione di STONITH a seconda dell'ambiente e lasciarla abilitata.If you plan to use Pacemaker in a production environment, you should plan a STONITH implementation depending on your environment and keep it enabled. RHEL non fornisce gli agenti di fencing per ambienti cloud (tra cui Azure) o Hyper-V.RHEL does not provide fencing agents for any cloud environments (including Azure) or Hyper-V. Consequentially, il fornitore del cluster non offre il supporto per l'esecuzione di cluster di produzione in questi ambienti.Consequentially, the cluster vendor does not offer support for running production clusters in these environments. Microsoft sta lavorando a una soluzione per questo divario che sarà disponibile nelle versioni future.We are working on a solution for this gap that will be available in future releases.

Impostare proprietà di cluster del cluster-Ricontrolla-intervalloSet cluster property cluster-recheck-interval

cluster-recheck-interval indica l'intervallo di polling in corrispondenza del quale il cluster controlla modifiche nei parametri delle risorse, i vincoli o altre opzioni di cluster.cluster-recheck-interval indicates the polling interval at which the cluster checks for changes in the resource parameters, constraints or other cluster options. Se una replica diventa inattiva, il cluster tenta di riavviare la replica in base all'intervallo è associato mediante il failure-timeout valore e il cluster-recheck-interval valore.If a replica goes down, the cluster tries to restart the replica at an interval that is bound by the failure-timeout value and the cluster-recheck-interval value. Ad esempio, se failure-timeout è impostato su 60 secondi e cluster-recheck-interval è impostato su 120 secondi, il riavvio viene eseguito un tentativo in base all'intervallo è maggiore di 60 secondi ma inferiore a 120 secondi.For example, if failure-timeout is set to 60 seconds and cluster-recheck-interval is set to 120 seconds, the restart is tried at an interval that is greater than 60 seconds but less than 120 seconds. È consigliabile impostare timeout errore 60s e controlla di nuovo-cluster-interval su un valore maggiore di 60 secondi.We recommend that you set failure-timeout to 60s and cluster-recheck-interval to a value that is greater than 60 seconds. Non è consigliabile impostare intervallo-cluster-nuova verifica su un valore ridotto.Setting cluster-recheck-interval to a small value is not recommended.

Per aggiornare il valore della proprietà da 2 minutes eseguire:To update the property value to 2 minutes run:

sudo pcs property set cluster-recheck-interval=2min

Importante

Tutte le distribuzioni, inclusi RHEL 7.3 e 7.4, che usano la versione più recente disponibile Pacemaker pacchetto 1.1.18-11.el7 introducono un cambiamento di comportamento per l'impostazione di start-errore-è-errore irreversibile cluster quando il relativo valore è false.All distributions (including RHEL 7.3 and 7.4) that use the latest available Pacemaker package 1.1.18-11.el7 introduce a behavior change for the start-failure-is-fatal cluster setting when its value is false. Questa modifica interessa il flusso di lavoro di failover.This change affects the failover workflow. Se una replica primaria si verifica un'interruzione, il cluster è previsto per il failover su una delle repliche secondarie disponibili.If a primary replica experiences an outage, the cluster is expected to failover to one of the available secondary replicas. Al contrario, gli utenti noteranno che il cluster insiste avviare la replica primaria non riuscita.Instead, users will notice that the cluster keeps trying to start the failed primary replica. Se tale database primario non torna online (a causa di un'interruzione dell'alimentazione permanente), il cluster mai effettua il failover a un'altra replica secondaria disponibile.If that primary never comes online (because of a permanent outage), the cluster never fails over to another available secondary replica. Grazie a questa modifica, una configurazione consigliata in precedenza per impostare start-errore-è-errore irreversibile non è più valida e l'impostazione deve essere ripristinato il valore predefinito di true.Because of this change, a previously recommended configuration to set start-failure-is-fatal is no longer valid and the setting needs to be reverted back to its default value of true. Inoltre, la risorsa del gruppo di disponibilità deve essere aggiornato per includere il failover-timeout proprietà.Additionally, the AG resource needs to be updated to include the failover-timeout property.

Per aggiornare il valore della proprietà da true eseguire:To update the property value to true run:

sudo pcs property set start-failure-is-fatal=true

Per aggiornare il ag1 proprietà della risorsa failure-timeout a 60s eseguire:To update the ag1 resource property failure-timeout to 60s run:

pcs resource update ag1 meta failure-timeout=60s

Per informazioni sulla proprietà del cluster Pacemaker, vedere proprietà cluster Pacemaker.For information on Pacemaker cluster properties, see Pacemaker Clusters Properties.

Creare un account di accesso di SQL Server per PacemakerCreate a SQL Server login for Pacemaker

  1. In tutte le istanze di SQL Server creare un account di accesso server per Pacemaker.On all SQL Servers, create a Server login for Pacemaker. Il codice Transact-SQL seguente crea un account di accesso:The following Transact-SQL creates a login:

    USE [master]
    GO
    CREATE LOGIN [pacemakerLogin] with PASSWORD= N'ComplexP@$$w0rd!'
    
    ALTER SERVER ROLE [sysadmin] ADD MEMBER [pacemakerLogin]
    

    In alternativa, è possibile impostare le autorizzazioni a un livello più granulare.Alternatively, you can set the permissions at a more granular level. L'account di accesso Pacemaker richiede l'autorizzazione ALTER, CONTROL e VIEW DEFINITION per gestire il gruppo di disponibilità. Richiede anche l'autorizzazione VIEW SERVER STATE perché l'account di accesso possa eseguire sp_server_diagnostics.The Pacemaker login requires ALTER, CONTROL, and VIEW DEFINITION PERMISSION for managing the availability group as well as VIEW SERVER STATE for the login to be able to run sp_server_diagnostics. Per altre informazioni, vedere GRANT, autorizzazioni del gruppo di disponibilità (Transact-SQL) e le autorizzazioni sp_server_diagnostic.For more information, see GRANT Availability Group Permissions (Transact-SQL) and sp_server_diagnostic permissions.

    Il codice Transact-SQL seguente concede solo le autorizzazioni necessarie per l'account di accesso di Pacemaker.The following Transact-SQL grants only the required permission to the Pacemaker login. Nell'istruzione seguente "ag1" è il nome del gruppo di disponibilità che verrà aggiunto come risorsa cluster.In the statement below 'ag1' is the name of the availability group that will be added as a cluster resource.

    GRANT ALTER, CONTROL, VIEW DEFINITION ON AVAILABILITY GROUP::ag1 TO pacemakerLogin
    GRANT VIEW SERVER STATE TO pacemakerLogin
    
  2. In tutte le istanze di SQL Server salvare le credenziali per l'account di accesso di SQL Server.On all SQL Servers, save the credentials for the SQL Server login.

    echo 'pacemakerLogin' >> ~/pacemaker-passwd
    echo 'ComplexP@$$w0rd!' >> ~/pacemaker-passwd
    sudo mv ~/pacemaker-passwd /var/opt/mssql/secrets/passwd
    sudo chown root:root /var/opt/mssql/secrets/passwd
    sudo chmod 400 /var/opt/mssql/secrets/passwd # Only readable by root
    

Crea risorsa gruppo di disponibilitàCreate availability group resource

Per creare la risorsa del gruppo di disponibilità, usare pcs resource create comando e impostare le proprietà della risorsa.To create the availability group resource, use pcs resource create command and set the resource properties. Il comando seguente crea una ocf:mssql:ag tipo di risorsa per il gruppo di disponibilità con nome master/slave ag1.The following command creates a ocf:mssql:ag master/slave type resource for availability group with name ag1.

sudo pcs resource create ag_cluster ocf:mssql:ag ag_name=ag1 meta failure-timeout=30s master notify=true

Nota

Quando si crea la risorsa, e periodicamente dopo la creazione, l'agente delle risorse Pacemaker imposta automaticamente il valore di REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT nel gruppo di disponibilità in base alla configurazione del gruppo di disponibilità.When you create the resource, and periodically afterwards, the Pacemaker resource agent automatically sets the value of REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT on the availability group based on the availability group's configuration. Se ad esempio il gruppo di disponibilità contiene tre repliche sincrone, l'agente imposterà REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT su 1.For example, if the availability group has three synchronous replicas, the agent will set REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT to 1. Per informazioni dettagliate e altre opzioni di configurazione, vedere High availability and data protection for availability group configurations (Disponibilità elevata e protezione dati per le configurazioni del gruppo di disponibilità).For details and additional configuration options, see High availability and data protection for availability group configurations.

Creare una risorsa IP virtualeCreate virtual IP resource

Per creare la risorsa indirizzo IP virtuale, eseguire il comando seguente in un nodo.To create the virtual IP address resource, run the following command on one node. Usare un indirizzo IP statico disponibile dalla rete.Use an available static IP address from the network. Sostituire l'indirizzo IP tra <10.128.16.240> con un indirizzo IP valido.Replace the IP address between <10.128.16.240> with a valid IP address.

sudo pcs resource create virtualip ocf:heartbeat:IPaddr2 ip=<10.128.16.240>

Non c'è Nessun nome server virtuale equivalente in Pacemaker.There is no virtual server name equivalent in Pacemaker. Per usare una stringa di connessione che punta al nome del server stringa anziché un indirizzo IP, registrare l'indirizzo risorsa IP virtuale e il nome del server virtuale desiderato nel DNS.To use a connection string that points to a string server name instead of an IP address, register the virtual IP resource address and desired virtual server name in DNS. Per le configurazioni di ripristino di emergenza, registrare il nome del server virtuale desiderato e l'indirizzo IP con i server DNS primario sia il sito di ripristino di emergenza.For DR configurations, register the desired virtual server name and IP address with the DNS servers on both primary and DR site.

Aggiungi vincolo di condivisione del percorsoAdd colocation constraint

Quasi ogni decisione di in un cluster Pacemaker, come scegliere in cui deve essere eseguita una risorsa, viene eseguita confrontando i punteggi.Almost every decision in a Pacemaker cluster, like choosing where a resource should run, is done by comparing scores. I punteggi vengono calcolati per ogni risorsa.Scores are calculated per resource. Cluster resource manager sceglie il nodo con il punteggio più alto per una determinata risorsa.The cluster resource manager chooses the node with the highest score for a particular resource. Se un nodo ha un punteggio negativo per una risorsa, la risorsa non è possibile eseguire su tale nodo.If a node has a negative score for a resource, the resource cannot run on that node.

In un cluster pacemaker, è possibile modificare le decisioni del cluster con vincoli.On a pacemaker cluster, you can manipulate the decisions of the cluster with constraints. I vincoli hanno un punteggio.Constraints have a score. Se un vincolo ha un punteggio minore INFINITY, Pacemaker lo considera come indicazioni.If a constraint has a score lower than INFINITY, Pacemaker regards it as recommendation. Un punteggio pari a INFINITY è obbligatorio.A score of INFINITY is mandatory.

Per assicurarsi che la replica primaria e le risorse di indirizzo ip virtuale eseguiti nello stesso host, definire un vincolo di condivisione del percorso con un punteggio pari a infinito.To ensure that primary replica and the virtual ip resources run on the same host, define a colocation constraint with a score of INFINITY. Per aggiungere il vincolo di condivisione del percorso, eseguire il comando seguente in un nodo.To add the colocation constraint, run the following command on one node.

sudo pcs constraint colocation add virtualip ag_cluster-master INFINITY with-rsc-role=Master

Aggiungi vincolo di ordinamentoAdd ordering constraint

Il vincolo di condivisione percorso ha un vincolo di ordinamento implicito.The colocation constraint has an implicit ordering constraint. Sposta la risorsa IP virtuale prima di spostare la risorsa del gruppo di disponibilità.It moves the virtual IP resource before it moves the availability group resource. Per impostazione predefinita è la sequenza di eventi:By default the sequence of events is:

  1. Problemi degli utenti pcs resource move al gruppo di disponibilità primario da node1 a node2.User issues pcs resource move to the availability group primary from node1 to node2.
  2. La risorsa IP virtuale viene arrestata nel nodo 1.The virtual IP resource stops on node 1.
  3. La risorsa IP virtuale verrà avviata nel nodo 2.The virtual IP resource starts on node 2.

    Nota

    A questo punto, l'indirizzo IP temporaneamente punti al nodo 2 mentre il nodo 2 è ancora un pre-failover secondario.At this point, the IP address temporarily points to node 2 while node 2 is still a pre-failover secondary.

  4. Il gruppo di disponibilità primario nel nodo 1 viene abbassato di livello a quello secondario.The availability group primary on node 1 is demoted to secondary.

  5. Il gruppo di disponibilità secondario nel nodo 2 viene promossa a primaria.The availability group secondary on node 2 is promoted to primary.

Per evitare temporaneamente che puntano al nodo con il database secondario pre-failover l'indirizzo IP, aggiungere un vincolo di ordinamento.To prevent the IP address from temporarily pointing to the node with the pre-failover secondary, add an ordering constraint.

Per aggiungere un vincolo di ordinamento, eseguire il comando seguente in un nodo:To add an ordering constraint, run the following command on one node:

sudo pcs constraint order promote ag_cluster-master then start virtualip

Importante

Dopo aver configurato il cluster e aggiungere il gruppo di disponibilità come risorsa cluster, è possibile usare Transact-SQL per eseguire il failover le risorse di gruppo di disponibilità.After you configure the cluster and add the availability group as a cluster resource, you cannot use Transact-SQL to fail over the availability group resources. Risorse del cluster SQL Server in Linux non sono collegate come strettamente con il sistema operativo perché sono in un Server Failover Cluster WSFC (Windows).SQL Server cluster resources on Linux are not coupled as tightly with the operating system as they are on a Windows Server Failover Cluster (WSFC). Servizio SQL Server non riconosce la presenza del cluster.SQL Server service is not aware of the presence of the cluster. Tutte le orchestrazioni vengono eseguite mediante gli strumenti di gestione di cluster.All orchestration is done through the cluster management tools. In Ubuntu o RHEL, usare pcs e in uso SLES crm strumenti.In RHEL or Ubuntu use pcs and in SLES use crm tools.

Eseguire manualmente il failover il gruppo di disponibilità con pcs.Manually fail over the availability group with pcs. Non avviare il failover con Transact-SQL.Do not initiate failover with Transact-SQL. Per istruzioni, vedere Failover.For instructions, see Failover.

Passaggi successiviNext steps

Funzionamento di gruppo di disponibilità elevataOperate HA availability group