Condividi tramite


Configurare un gruppo di disponibilità tra aree Azure: SQL Server nelle macchine virtuali Azure

Applies to:SQL Server su macchina virtuale di Azure

Questa esercitazione illustra come configurare una replica del gruppo di disponibilità AlwaysOn per SQL Server in macchine virtuali (VM) Azure in un'area Azure remota alla replica primaria. È possibile usare questa configurazione allo scopo del ripristino di emergenza (DR).

È anche possibile usare i passaggi descritti in questo articolo per estendere un gruppo di disponibilità locale esistente a Azure.

Questa esercitazione si basa sull'esercitazione per distribuire manualmente un gruppo di disponibilità in una singola subnet in una singola area. Le menzioni dell'area locale in questo articolo fanno riferimento alle macchine virtuali e al gruppo di disponibilità già configurati nella prima area. L'area remota è la nuova infrastruttura che verrà aggiunta in questa esercitazione.

Seguendo la procedura descritta in questa esercitazione viene aggiunta una replica a una singola subnet, che richiede l'uso di un servizio di bilanciamento del carico. La distribuzione di repliche in più subnet elimina la necessità di un servizio di bilanciamento del carico. Per informazioni su come distribuire una replica del gruppo di disponibilità in più subnet, vedere Configurare un gruppo di disponibilità su più subnet tra aree Azure.

Panoramica

L'immagine seguente mostra una distribuzione comune di un gruppo di disponibilità su macchine virtuali Azure.

Diagramma che mostra un bilanciatore di carico di Azure e un set di disponibilità con un cluster di failover di Windows Server e un gruppo di disponibilità Always On.

Nella distribuzione illustrata nel diagramma tutte le macchine virtuali si trovano in un'unica area Azure. Le repliche del gruppo di disponibilità possono avere un commit sincrono con failover automatico su SQL-1 e SQL-2. Per creare questa architettura, vedere Gruppo di disponibilità Always On su SQL Server in macchine virtuali Azure.

Questa architettura è vulnerabile ai tempi di inattività se l'area Azure diventa inaccessibile. Per risolvere questa vulnerabilità, aggiungere una replica in un'area Azure diversa. Il diagramma seguente illustra l'aspetto della nuova architettura:

Diagramma di uno scenario di ripristino di emergenza per un gruppo di disponibilità.

Il diagramma illustra una nuova macchina virtuale denominata SQL-3. SQL-3 si trova in un'area Azure diversa. Viene aggiunto al cluster di failover di Windows Server e può ospitare una replica del gruppo di disponibilità.

L'area Azure per SQL-3 include un nuovo servizio di bilanciamento del carico Azure. In questa architettura la replica nell'area remota viene in genere configurata con la modalità di disponibilità commit asincrono e la modalità di failover manuale.

Nota

Un set di disponibilità Azure è necessario quando più macchine virtuali si trovano nella stessa area. Se nell'area si trova una sola macchina virtuale, il set di disponibilità non è obbligatorio.

È possibile inserire una macchina virtuale in un set di disponibilità solo al momento della creazione. Se la macchina virtuale è già in un set di disponibilità, è possibile aggiungere una macchina virtuale per un'altra replica in seguito.

Quando le repliche del gruppo di disponibilità si trovano in macchine virtuali Azure in regioni Azure diverse, è possibile connettere le reti virtuali usando peering di rete virtuale o un gateway VPN da sito a sito.

Importante

Questa architettura comporta addebiti per i dati in uscita replicati tra aree Azure. Vedere Prezzi per la larghezza di banda.

Creare la rete e le subnet

Prima di creare una rete virtuale e una subnet in una nuova area, decidere lo spazio degli indirizzi, la subnet, l'IP del cluster e gli indirizzi IP del listener del gruppo di disponibilità da utilizzare nella regione remota.

Nella tabella seguente sono elencati i dettagli per l'area locale (corrente) e i valori configurati nella nuova area remota.

TIPO Locale Area remota
Spazio indirizzi 192.168.0.0/16 10.36.0.0/16
Rete subnet 192.168.15.0/24 10.36.1.0/24
Cluster IP 192.168.15.200 10.36.1.200
IP del listener del gruppo di disponibilità 192.168.15.201 10.36.1.201

Per creare una rete virtuale e una subnet nella nuova area nel portale di Azure:

  1. Passare al gruppo di risorse nel portale Azure e selezionare + Crea.

  2. Cercare Rete virtuale nella casella di ricerca del Marketplace e quindi selezionare il riquadro Rete virtuale di Microsoft.

  3. Nella pagina Crea rete virtuale, selezionare Crea. Nella scheda Informazioni di base digitare le informazioni seguenti:

    1. Nei Dettagli del progetto, per Sottoscrizione selezionare la sottoscrizione Azure appropriata. Per Gruppo di risorse, selezionare il gruppo di risorse creato in precedenza, ad esempio SQL-HA-RG.
    2. In Dettagli istanza, specificare un nome per la rete virtuale, ad esempio remote_HAVNET. Scegliere quindi una nuova area remota.

    Screenshot del portale di Azure che mostra le selezioni per la creazione di una rete virtuale in un'area remota.

  4. Nella scheda Indirizzi IP, selezionare i puntini di sospensione (...) a fianco di + Aggiungi una subnet. Selezionare Elimina spazio indirizzi per rimuovere lo spazio indirizzi esistente, se è necessario un intervallo di indirizzi diverso.

    Screenshot del portale di Azure che mostra le selezioni per eliminare lo spazio indirizzi esistente in una rete virtuale.

  5. Selezionare Aggiungi uno spazio indirizzi IP per aprire il riquadro per creare lo spazio indirizzi necessario. Questa esercitazione usa lo spazio degli indirizzi dell'area remota: 10.36.0.0/16. Seleziona Aggiungi.

    Screenshot del portale di Azure che mostra le selezioni per l'aggiunta di uno spazio indirizzi per una rete virtuale.

  6. Selezionare + Aggiungi una subnet e quindi:

    1. Specificare un valore per Nome subnet, ad esempio admin.

    2. Specificare un intervallo di indirizzi di subnet univoco all'interno dello spazio indirizzi della rete virtuale.

      Ad esempio, se l'intervallo di indirizzi è 10.36.0.0/16, immettere questi valori per la subnet admin: 10.36.1.0 per Indirizzo iniziale e /24 per Dimensioni subnet.

    3. Selezionare Aggiungi per aggiungere la nuova subnet.

    Screenshot del portale di Azure che mostra le selezioni per l'aggiunta di una subnet a una rete virtuale.

Connettere le reti virtuali nelle due aree Azure

Dopo aver creato la nuova rete virtuale e la nuova subnet, è possibile connettersi alle due aree in modo che possano comunicare tra loro. Per stabilire questa connessione è possibile usare due metodi:

Questa esercitazione utilizza il peering di reti virtuali. Per configurare il peering di reti virtuali:

  1. Nella casella di ricerca nella parte superiore del portale di Azure digitare autoHAVNET, ovvero la rete virtuale nell'area locale. Quando autoHAVNET viene visualizzato nei risultati della ricerca, selezionalo.

  2. In Impostazioni, selezionare Peering e quindi + Aggiungi.

    Screenshot del portale di Azure che mostra le selezioni per l'aggiunta di un peering di rete virtuale.

  3. Immettere o selezionare le informazioni seguenti, accettare le impostazioni predefinite rimanenti e quindi selezionare Aggiungi.

    Impostazione Valore
    Questa rete virtuale
    Nome del collegamento di peering Immettere autoHAVNET-remote_HAVNET come nome del peering da autoHAVNET alla rete virtuale remota.
    Rete virtuale remota
    Nome del collegamento di peering Immettere remote_HAVNET-autoHAVNET per il nome del peering dalla rete virtuale remota a autoHAVNET.
    Abbonamento Selezionare la sottoscrizione per la rete virtuale remota.
    Rete virtuale Selezionare remote_HAVNET per il nome della rete virtuale. La rete virtuale remota può trovarsi nella stessa area di autoHAVNET o in un'area diversa.

    Screenshot del portale di Azure che mostra le impostazioni di peering.

  4. Nella pagina Peering lo stato del peering è Connesso.

    Screenshot del portale di Azure che mostra lo stato di connessione per il peering di rete virtuale.

    Se non viene visualizzato uno stato Connesso, selezionare il pulsante Aggiorna.

Creare un controller di dominio

Un controller di dominio nella nuova area è necessario per fornire l'autenticazione se il sito primario non è disponibile. Per creare un controller di dominio nella nuova area:

  1. Tornare al gruppo di risorse SQL-HA-RG.
  2. Seleziona + Crea.
  3. Digitare Windows Server 2016 Datacenter e quindi selezionare il risultato Windows Server 2016 Datacenter.
  4. In Windows Server 2016 Datacenter verificare che il modello di distribuzione sia Resource Manager e quindi selezionare Crea.

La tabella seguente descrive le impostazioni per queste due macchine:

Impostazione Valore
Nome Controller di dominio remoto: ad-remote-dc
Tipo di disco VM SSD
Nome utente DomainAdmin
Parola d’ordine Password sicura
Abbonamento Il tuo abbonamento
Gruppo di risorse SQL-HA-RG
Ubicazione La tua posizione
Dimensione DS1_V2
Spazio di archiviazione Usare il servizio Managed Disks:
Rete virtuale remote_HAVNET
Subnet admin
Indirizzo IP pubblico Stesso nome della VM
Gruppo di sicurezza di rete Stesso nome della VM
Diagnostica Attivata
Account di archiviazione di diagnostica Creato automaticamente

Azure crea le macchine virtuali.

Configurare il controller di dominio

Nei passaggi seguenti configurare la macchina virtuale ad-remote-dc come controller di dominio per corp.contoso.com.

Impostare l'indirizzo del server DNS preferito

Quando si aggiorna il server DNS preferito, usare il portale di Azure, PowerShell o il Azure CLI. Non aggiornare il server DNS direttamente all'interno della macchina virtuale.

Per impostare l'indirizzo del server DNS preferito usando il portale di Azure, seguire questa procedura:

  1. Accedere al portale Azure.

  2. Nella casella di ricerca nella parte superiore del portale immettere Interfaccia di rete. Selezionare Interfacce di rete nei risultati della ricerca.

  3. Selezionare dall'elenco l'interfaccia di rete per il secondo controller di dominio di cui si vogliono visualizzare o modificare le impostazioni.

  4. In Impostazioni, selezionare Server DNS.

  5. Poiché questo controller di dominio non si trova nella stessa rete virtuale del controller di dominio primario, selezionare Personalizzato e immettere l'indirizzo IP del controller di dominio primario, ad esempio 192.168.15.4. L'indirizzo del server DNS specificato viene assegnato solo a questa interfaccia di rete e sostituisce tutte le impostazioni DNS per la rete virtuale a cui è assegnata l'interfaccia di rete.

  6. Seleziona Salva.

  7. Tornare alla macchina virtuale nel portale di Azure e riavviare la macchina virtuale. Dopo il riavvio della macchina virtuale, è possibile aggiungere la macchina virtuale al dominio.

Accedere al dominio

Quindi, aggiungere il dominio corp.contoso.com. A tale scopo, effettuare i passaggi seguenti:

  1. Connettersi in remoto alla macchina virtuale con Bastion usando l'account BUILTIN\DomainAdmin .
  2. Aprire Server Manager e selezionare Local Server.
  3. Selezionare GRUPPO DI LAVORO.
  4. Nella sezione Nome computer selezionare Cambia.
  5. Selezionare la casella di controllo Dominio e digitare corp.contoso.com nella casella di testo. Seleziona OK.
  6. Nella finestra di dialogo popup Windows Security specificare le credenziali per l'account amministratore di dominio predefinito (CORP\DomainAdmin).
  7. Quando viene visualizzato il messaggio di benvenuto nel dominio corp.contoso.com, selezionare OK.
  8. Selezionare Chiudi e quindi Riavvia ora nella finestra di dialogo popup.

Configurare il controller di dominio

Dopo aver aggiunto il server al dominio, è possibile configurarlo come secondo controller di dominio. A tale scopo, effettuare i passaggi seguenti:

  1. Se non si è già connessi, aprire una sessione Bastion al controller di dominio secondario e aprire Server Manager Dashboard (che potrebbe essere aperto per impostazione predefinita).

  2. Selezionare il collegamento Aggiungi ruoli e funzionalità sul dashboard.

    Screenshot del Server Manager - Aggiungi ruoli.

  3. Selezionare Avanti fino a visualizzare la sezione Ruoli server.

  4. Selezionare i ruoli Active Directory Domain Services e DNS Server. Quando richiesto, aggiungere altre funzionalità necessarie per questi ruoli.

  5. Al termine dell'installazione delle funzionalità, tornare al dashboard Server Manager.

  6. Selezionare la nuova opzione Servizi di dominio di Active Directory nel riquadro di sinistra.

  7. Selezionare il collegamento Altro sulla barra di avviso gialla.

  8. Nella colonna Azione della finestra di dialogo Dettagli attività tutti i server selezionare Alza di livello il server a controller di dominio.

  9. In Configurazione distribuzione selezionare Aggiungi un controller di dominio a un dominio esistente.

  10. Seleziona Seleziona.

  11. Connettersi usando l'account amministratore (CORP\DomainAdmin).

  12. In Seleziona un dominio dalla foresta, scegli il tuo dominio e quindi seleziona OK.

  13. In Opzioni controller di dominio, usare i valori predefiniti e impostare una password DSRM.

    Nota

    Nella pagina Opzioni DNS è possibile che venga visualizzato un avviso indicante che non è possibile creare una delega per questo server DNS. È possibile ignorare questo avviso in ambienti non di produzione.

  14. Selezionare Avanti fino a quando non viene visualizzato il controllo Prerequisiti. Quindi selezionare Installa.

Quando il server completa le modifiche alla configurazione, riavviare il server.

Creare una macchina virtuale SQL Server

Dopo il riavvio del controller di dominio, il passaggio successivo consiste nel Creare una macchina virtuale SQL Server nella nuova area.

Prima di procedere, considerare le seguenti decisioni di progettazione:

  • Storage: Azure Managed Disks

    Per l'archiviazione della macchina virtuale, usare Azure Managed Disks. È consigliabile usare dischi gestiti per SQL Server macchine virtuali. Managed Disks gestisce automaticamente le risorse di archiviazione. Inoltre, quando le macchine virtuali con dischi gestiti si trovano nello stesso set di disponibilità, Azure distribuisce le risorse di archiviazione per garantire la ridondanza appropriata.

    Per altre informazioni, vedere Introduzione a Azure Managed Disks. Per informazioni dettagliate sui dischi gestiti in un set di disponibilità, vedere Usare Managed Disks per le macchine virtuali nel set di disponibilità.

  • Rete - Indirizzi IP privati nell'ambiente di produzione

    Per le macchine virtuali, in questa esercitazione si usano indirizzi IP pubblici. Un indirizzo IP pubblico consente che la connessione remota avvenga direttamente alla macchina virtuale tramite Internet, semplificando la procedura di configurazione. Negli ambienti di produzione è consigliabile solo indirizzi IP privati. Gli indirizzi IP privati riducono il footprint di vulnerabilità della macchina virtuale SQL Server.

  • Rete: NIC singola per server

    Usare una singola scheda di interfaccia di rete (NIC) per server (nodo del cluster) e una singola subnet. La rete di Azure ha ridondanza fisica, il che rende superflua l'aggiunta di schede di rete e subnet in un cluster guest di una macchina virtuale di Azure. Il report di convalida del cluster avvisa che i nodi sono raggiungibili solo in una singola rete. È possibile ignorare questo avviso nei cluster di failover guest della macchina virtuale Azure.

Creare e configurare la macchina virtuale SQL Server

Per creare la macchina virtuale SQL Server, tornare al gruppo di risorse SQL-HA-RG e quindi selezionare Aggiungi. Si prega di cercare l'elemento della raccolta appropriato, selezionare Macchina virtuale e quindi selezionare Da raccolta. Per creare la macchina virtuale, usare le informazioni nella tabella seguente:

Pagina Impostazione
Selezionare l'elemento della raccolta appropriato SQL Server 2016 SP1 Enterprise in Windows Server 2016
Configurazione della macchina virtuale: Elementi di base Nome = sqlserver-2

Nome utente = DomainAdmin

Password = Password sicura

Sottoscrizione = la propria sottoscrizione

Gruppo di risorse = SQL-HA-RG

Località = Area remota
Configurazione della macchina virtuale: ‭Dimensioni Grandezza = DS2_V2 (2 vCPU, 7 GB)

Le dimensioni devono supportare l'archiviazione su unità SSD (Supporto disco Premium).
Configurazione della macchina virtual: Impostazioni Archiviazione: Usare dischi gestiti

Rete virtuale = remote_HAVNET

Sottorete = amministratore (10.36.1.0/24)

Indirizzo IP pubblico generato automaticamente

Gruppo di sicurezza di rete = Nessuno

Monitoraggio e diagnostica = abilitato

Account di archiviazione di diagnostica = Utilizzare un account di archiviazione generato automaticamente
Configurazione macchina virtuale: SQL Server impostazioni connettività SQL = Privato (entro Rete Virtuale)

Porta = 1433

Autenticazione SQL = disabilitata

Configurazione di archiviazione = Generale

Applicazione automatica delle patch = Domenica alle 02:00

Backup automatico = Disabilitato

Integrazione Azure Key Vault = Disabilitata

Nota

Le dimensioni del computer suggerite in questa tabella sono destinate ai test dei gruppi di disponibilità nelle macchine virtuali Azure. Per ottenere prestazioni ottimali nei carichi di lavoro di produzione, vedere le raccomandazioni per le dimensioni e la configurazione dei computer SQL Server in Checklist: Procedure consigliate per SQL Server nelle macchine virtuali Azure.

Dopo aver effettuato il provisioning completo della macchina virtuale, sarà necessario aggiungerle al dominio corp.contoso.com e concedere alle macchine i diritti amministrativi di CORP\Install.

Aggiungere il server al dominio

Per aggiungere la macchina virtuale a corp.contoso.com, seguire questa procedura per la macchina virtuale SQL Server:

  1. Connettersi in remoto alla macchina virtuale con Bastion usando l'account BUILTIN\DomainAdmin .
  2. In Server Manager selezionare Local Server.
  3. Selezionare il collegamento WORKGROUP.
  4. Nella sezione Nome computer selezionare Cambia.
  5. Selezionare la casella di controllo Dominio e digitare corp.contoso.com nella casella di testo. Quindi, seleziona OK.
  6. Nella finestra di dialogo popup Windows Security specificare le credenziali per l'account amministratore di dominio predefinito (CORP\DomainAdmin).
  7. Quando viene visualizzato il messaggio di benvenuto nel dominio corp.contoso.com, selezionare OK.
  8. Selezionare Chiudi e quindi Riavvia ora nella finestra di dialogo popup.

Aggiungi account

L'attività successiva consiste nell'aggiungere l'account di installazione come amministratore nella macchina virtuale SQL Server, quindi concedere l'autorizzazione a tale account e agli account locali all'interno di SQL Server. È quindi possibile aggiornare l'account del servizio SQL Server.

Aggiungere l'utente CORP\Install come amministratore in ogni VM del cluster

Dopo il riavvio della macchina virtuale SQL Server come membro del dominio, aggiungere CORP\Install come membro del gruppo administrators locale:

  1. Attendere il riavvio della macchina virtuale e quindi aprire una connessione RDP (Remote Desktop Protocol) dal controller di dominio primario. Accedere a sqlserver-2 usando l'account CORP\DomainAdmin.

    Suggerimento

    Nei passaggi precedenti è stato usato l'account amministratore BUILTIN. Ora che il server è nel dominio, assicurarsi di accedere con l'account di amministratore di dominio. Nella sessione RDP specificare DOMINIO\NOME UTENTE.

  2. In Server Manager selezionare Tools e quindi selezionare Gestione computer.

  3. Nella finestra Gestione computer espandere Utenti e gruppi locali, quindi selezionare Gruppi.

  4. Fare doppio clic sul gruppo Administrators .

  5. Nella finestra di dialogo Proprietà Amministratori selezionare il pulsante Aggiungi.

  6. Immettere l'utente CORP\Install e quindi selezionare OK.

  7. Selezionare OK per chiudere la finestra di dialogo Proprietà Amministratori.

Crea un accesso su ogni macchina virtuale SQL Server per l'account di installazione.

Usare l'account di installazione (CORP\install) per configurare il gruppo di disponibilità. Questo account deve essere membro del ruolo predefinito del server sysadmin in ogni macchina virtuale SQL Server. La procedura seguente crea un account di accesso per l'account di installazione. Completarli in entrambe le macchine virtuali SQL Server.

  1. Connettersi al server tramite Bastion usando l'account <MachineName>\DomainAdmin .

  2. Aprire SQL Server Management Studio e connettersi all'istanza locale di SQL Server.

  3. In Object Explorer selezionare Security.

  4. Fare clic con il pulsante destro del mouse su Logins. SelezionareNuovo account di accesso.

  5. In Login - Nuovo, seleziona Cerca.

  6. Seleziona Posizione.

  7. Immettere le credenziali di rete dell'amministratore di dominio. Usare l'account di installazione (CORP\Install).

  8. Impostare l'accesso come membro del ruolo predefinito del server sysadmin.

  9. Seleziona OK.

Configurare le autorizzazioni dell'account di sistema

Per creare un account di sistema e concedere le autorizzazioni appropriate, completare i passaggi seguenti in ogni istanza di SQL Server:

  1. Creare uno account per [NT AUTHORITY\SYSTEM] usando lo script seguente:

    USE [master]
    GO
    CREATE LOGIN [NT AUTHORITY\SYSTEM] FROM WINDOWS WITH DEFAULT_DATABASE=[master]
    GO
    
  2. Concedere le autorizzazioni seguenti a [NT AUTHORITY\SYSTEM]:

    • ALTER ANY AVAILABILITY GROUP
    • CONNECT SQL
    • VIEW SERVER STATE

    Lo script seguente concede queste autorizzazioni:

    GRANT ALTER ANY AVAILABILITY GROUP TO [NT AUTHORITY\SYSTEM]
    GO
    GRANT CONNECT SQL TO [NT AUTHORITY\SYSTEM]
    GO
    GRANT VIEW SERVER STATE TO [NT AUTHORITY\SYSTEM]
    GO
    

Impostare gli account del servizio SQL Server

In ogni macchina virtuale SQL Server completare la procedura seguente per impostare l'account del servizio SQL Server. Usare gli account creati in fase di configurazione degli account di dominio.

  1. Aprire SQL Server Configuration Manager.
  2. Fare clic con il pulsante destro del mouse sul servizio SQL Server, quindi scegliere Proprietà.
  3. Impostare l'account e la password.

Per i gruppi di disponibilità di SQL Server, ogni macchina virtuale SQL Server deve essere eseguita come account di dominio.

Creare un servizio di bilanciamento del carico Azure

Un servizio di bilanciamento del carico è necessario nell'area remota per supportare il gruppo di disponibilità SQL Server. Il bilanciatore del carico contiene gli indirizzi IP per i listener del gruppo di disponibilità e il cluster di failover di Windows Server. Questa sezione riepiloga come creare il servizio di bilanciamento del carico nel portale di Azure.

Il load balancer deve:

  • Essere nella stessa rete e nella stessa sottorete della nuova macchina virtuale.
  • È necessario disporre di un indirizzo IP statico per il listener del gruppo di disponibilità.
  • Includere un pool back-end costituito solo dalle macchine virtuali nella stessa area del servizio di bilanciamento del carico.
  • Usare una sonda di porta TCP specifica per l'indirizzo IP.
  • Avere una regola di bilanciamento del carico specifica per l'istanza di SQL Server nella stessa area.
  • Utilizza un Load Balancer Standard se le macchine virtuali nel pool di back-end non fanno parte né di un unico set di disponibilità né di un set di scalabilità di macchine virtuali. Per altre informazioni, vedere Che è Azure Load Balancer?
  • Essere un bilanciatore di carico standard se le due reti virtuali in due regioni diverse sono collegate tramite il peering globale della rete virtuale. Per altre informazioni, vedere Azure Virtual Network domande frequenti (FAQ).

I passaggi per creare il servizio di bilanciamento del carico sono:

  1. Nel portale di Azure passare al gruppo di risorse in cui si trova l'istanza di SQL Server e quindi selezionare + Aggiungi.

  2. Cerca Load Balancer. Scegliere il servizio di bilanciamento del carico pubblicato da Microsoft.

  3. Fare clic su Crea.

  4. Configurare i parametri seguenti per il servizio di bilanciamento del carico.

    Impostazione Valore
    Abbonamento Usare la stessa sottoscrizione della macchina virtuale.
    Gruppo di risorse Usare lo stesso gruppo di risorse della macchina virtuale.
    Nome Usare un nome in formato testo per il servizio di bilanciamento del carico, ad esempio remoteLB.
    Area geografica Usare la stessa area della macchina virtuale.
    SKU Selezionare Standard.
    Tipo Selezionare Interno.

    Il riquadro del portale di Azure dovrebbe essere simile al seguente:

    Screenshot del portale di Azure che mostra informazioni di base per la creazione di un servizio di bilanciamento del carico.

  5. Selezionare Avanti: Configurazione IP front-end.

  6. Selezionare Aggiungi una configurazione IP front-end.

    Screenshot del portale di Azure che mostra il pulsante per l'aggiunta di una configurazione IP front-end.

  7. Configurare l'indirizzo IP front-end usando i valori seguenti:

    • Nome: Usare un nome che identifica la configurazione IP front-end.
    • Rete virtuale: Usare a stessa rete delle macchine virtuali.
    • Subnet: Usare la stessa subnet delle macchine virtuali.
    • Assegnazione: Selezionare Statico.
    • Indirizzo IP: usare un indirizzo disponibile nella subnet. Usa questo indirizzo per il listener del gruppo di disponibilità. Questo indirizzo è diverso dall'indirizzo IP del cluster.
    • Zona di disponibilità: in alternativa, scegliere una zona di disponibilità in cui distribuire l'indirizzo IP.

    Screenshot del portale di Azure che mostra la finestra di dialogo per l'aggiunta di una configurazione IP front-end.

  8. Seleziona Aggiungi.

  9. Selezionare Rivedi e crea per convalidare la configurazione e quindi selezionare Crea per creare il servizio di bilanciamento del carico e l'indirizzo IP front-end.

Per configurare il servizio di bilanciamento del carico, è necessario creare un pool back-end e un probe e impostare le regole di bilanciamento del carico.

Aggiungere un pool back end per il listener del gruppo di disponibilità

  1. Nel portale di Azure, vai al tuo gruppo di disponibilità. Potrebbe essere necessario aggiornare la visualizzazione per vedere il servizio di bilanciamento del carico appena creato.

  2. Selezionare il sistema di bilanciamento del carico, selezionare Pool back-end e quindi + Aggiungi.

  3. In Nome, specificare un nome per il pool back-end.

  4. Per Configurazione pool back-end, selezionare NIC.

  5. Selezionare Aggiungi per associare il pool back-end alla macchina virtuale SQL Server appena creata.

  6. In Macchina virtuale, selezionare la macchina virtuale che ospiterà la replica del gruppo di disponibilità.

  7. Selezionare Aggiungi per aggiungere la macchina virtuale al pool back-end.

  8. Seleziona Salva.

Impostare la sonda

  1. Nel portale di Azure, selezionare il bilanciamento del carico, selezionare sonde di integrità e quindi selezionare +Aggiungi.

  2. Impostare la sonda di integrità del listener nel modo seguente:

    Impostazione Descrizione Esempio
    Nome Testo SQLAlwaysOnEndPointProbe
    Protocollo Scegliere TCP TCP
    Porto Qualsiasi porta non usata 59999
    Intervallo Intervallo di tempo tra i tentativi del probe, in secondi 5
  3. Seleziona Aggiungi.

Impostare le regole di bilanciamento del carico

  1. Nel portale di Azure selezionare il bilanciatore del carico, selezionare Regole di bilanciamento del carico e quindi selezionare +Aggiungi.

  2. Impostare le regole di bilanciamento del carico del listener come segue:

    Impostazione Descrizione Esempio
    Nome Testo SQLAlwaysOnEndPointListener
    Indirizzo IP front-end Scegliere un indirizzo Usare l'indirizzo creato quando si è creato il bilanciatore di carico.
    Pool di backend Scegliere il pool back-end Selezionare il pool back-end che contiene le macchine virtuali destinate al servizio di bilanciamento del carico.
    Protocollo Scegliere TCP TCP
    Porto Usare la porta per il listener del gruppo di disponibilità 1433
    Porta backend Questo campo non viene usato quando si imposta un IP flottante per il ritorno diretto del server 1433
    Sonda di salute Il nome che hai specificato per la sonda SQLAlwaysOnEndPointProbe
    Persistenza della sessione Elenco a discesa Nessuno
    Timeout di inattività Minuti in cui tenere aperta una connessione TCP 4
    IP flottante (ritorno diretto del server) Abilitare questa impostazione.

    Avviso

    Direct Server Return viene impostato durante la creazione. Non è possibile modificarlo.

  3. Seleziona Salva.

Aggiungere il clustering di failover alle macchine virtuali SQL Server

Per aggiungere funzionalità di clustering di failover, completare i passaggi seguenti in entrambe le macchine virtuali SQL Server:

  1. Connettersi alla macchina virtuale SQL Server tramite Bastion usando l'account CORP\Install. Aprire il dashboard Server Manager.

  2. Selezionare il collegamento Aggiungi ruoli e funzionalità sul dashboard.

    Screenshot del dashboard di Server Manager che mostra il collegamento per l'aggiunta di ruoli e funzionalità.

  3. Selezionare Avanti fino a visualizzare la sezione Funzionalità server.

  4. In Funzionalità selezionare Clustering di failover.

  5. Aggiungere le funzionalità necessarie.

  6. Selezionare Installa.

Nota

È ora possibile usare Azure CLI e Azure Modelli di avvio rapido per automatizzare questa attività, oltre a unire effettivamente le macchine virtuali SQL Server al cluster di failover.

Regolare le soglie di rete per un cluster di failover

Quando si eseguono nodi del cluster di failover di Windows in macchine virtuali Azure con gruppi di disponibilità di SQL Server, configurare il cluster su uno stato di monitoraggio più rilassato. Questa modifica rende il cluster più stabile e affidabile. Per informazioni dettagliate, vedere IaaS con SQL Server: Ottimizzazione delle soglie di rete del cluster di failover.

Configurare il firewall in ogni macchina virtuale SQL Server

La soluzione richiede che le seguenti porte TCP siano aperte nel firewall:

  • SQL Server VM: porta 1433 per un'istanza predefinita di SQL Server.
  • Probe di Azure Load Balancer: Qualsiasi porta disponibile. Negli esempi si usa spesso 59999.
  • Probe di integrità dell'indirizzo IP del bilanciamento del carico principale del cluster: Qualsiasi porta disponibile. Negli esempi si usa spesso 58888.
  • Endpoint del mirroring del database: Qualsiasi porta disponibile. Negli esempi si usa spesso 5022.

Le porte del firewall devono essere aperte nella nuova macchina virtuale SQL Server. Il metodo per aprire le porte dipende dalla soluzione firewall in uso. I passaggi seguenti illustrano come aprire le porte in Windows Firewall:

  1. Nella schermata SQL Server Start aprire Windows Firewall con sicurezza avanzata.

  2. Nel riquadro sinistro selezionare Regole di ingresso. Nel riquadro di destra selezionare Nuova regola.

  3. Per Tipo di regola, selezionare Porta.

  4. Per la porta specificare TCP e digitare i numeri di porta appropriati. La schermata seguente mostra un esempio:

    Screenshot che mostra le selezioni per la creazione di una nuova regola in ingresso per un firewall.

  5. Seleziona Avanti.

  6. Nella pagina Azione, selezionare Consenti la connessione e quindi Avanti.

  7. Nella pagina Profilo, accettare le impostazioni predefinite e selezionare Avanti.

  8. Nella pagina Name specificare un nome di regola(ad esempio Azure LB Probe) nella casella Name e quindi selezionare Finish.

Aggiungere SQL Server al cluster di failover Windows Server

La nuova macchina virtuale SQL Server deve essere aggiungeta al cluster di failover Windows Server presente nell'area locale.

Per aggiungere la macchina virtuale SQL Server al cluster:

  1. Usare Bastion per connettersi a una macchina virtuale SQL Server nel cluster esistente. Utilizzare un account di dominio che sia amministratore sia sulle macchine virtuali SQL Server che sul server di testimone.

  2. Nel dashboard Server Manager selezionare Tools e quindi selezionare Failover Cluster Manager.

  3. Nel riquadro sinistro, fare clic con il pulsante destro del mouse su Gestione Cluster di Failover, quindi selezionare Connetti a Cluster.

  4. Nella finestra Seleziona cluster, in Nome cluster scegliere <Cluster in questo server>. Quindi, seleziona OK.

  5. Nell'albero del browser fare clic con il pulsante destro del mouse sul cluster e quindi scegliere Aggiungi nodo.

  6. In Procedura guidata di aggiunta nodo, selezionare Avanti.

  7. Nella pagina Selezionare server aggiungere il nome della nuova istanza di SQL Server. In Immetti il nome del server, digitare il nome del server e quindi selezionare Aggiungi e poi Avanti.

  8. Nella pagina Avviso di convalida selezionare No. In uno scenario di produzione è necessario eseguire i test di convalida. Quindi seleziona Avanti.

  9. Nella pagina Conferma, se si usa la funzionalità Spazi di archiviazione, deselezionare la casella di controllo Aggiungi tutte le risorse di archiviazione idonee al cluster.

    Avviso

    Se non si cancella Aggiungi tutte le risorse di archiviazione idonee al cluster, Windows scollega i dischi virtuali durante il processo di clustering. Di conseguenza, questi dischi non vengono visualizzati in Gestione disco o in Esplora risorse fino a quando gli spazi di archiviazione non vengono rimossi dal cluster e ricollegati usando PowerShell.

  10. Seleziona Avanti.

  11. Selezionare Fine.

    Gestione Cluster di Failover mostra che il cluster ha un nuovo nodo e lo elenca nel contenitore Nodi.

Aggiungere l'indirizzo IP per il cluster di failover Windows Server

Nota

In Windows Server 2019 il cluster crea un nome server distributed anziché un nome di rete cluster. Se si usa Windows Server 2019, passare a Aggiungi Un Indirizzo IP per Il Listener Del Gruppo Di Disponibilità. È possibile creare un nome di rete del cluster usando PowerShell. Per ulteriori informazioni, vedere l'articolo del blog Cluster di failover: Oggetto di rete del cluster.

Creare quindi la risorsa indirizzo IP e aggiungerla al cluster per la nuova macchina virtuale SQL Server:

  1. In Gestione Cluster di Failover, selezionare il nome del cluster. Fare clic con il pulsante destro del mouse sul nome del cluster in Risorse principali del cluster e selezionare Proprietà:

    Screenshot del Gestore del Cluster di Failover che mostra le selezioni per l'apertura delle proprietà del cluster.

  2. Nella finestra di dialogo Proprietà del cluster selezionare Aggiungi in Indirizzo IP e quindi aggiungere l'indirizzo IP del nome del cluster dall'area della rete remota. Selezionare OK nella finestra di dialogo Indirizzo IP e quindi fare di nuovo clic su OK nella finestra di dialogo Proprietà del cluster per salvare il nuovo indirizzo IP.

    Screenshot che mostra le finestre di dialogo per la creazione di un indirizzo IP del cluster.

  3. Aggiungere l'indirizzo IP come dipendenza per il nome del cluster principale.

    Aprire la finestra di dialogo Proprietà cluster ancora una volta e selezionare la scheda Dipendenze . Configurare una OR dipendenza per i due indirizzi IP.

    Screenshot della finestra di dialogo Proprietà cluster che mostra le selezioni per l'aggiunta di una dipendenza.

Aggiungere l'indirizzo IP del listener del gruppo di disponibilità

L'indirizzo IP per il listener nell'area remota deve essere aggiunto al cluster. Per aggiungere l'indirizzo IP:

  1. In Gestione cluster di failover, fare clic con il pulsante destro del mouse sul ruolo del gruppo di disponibilità. Scegliere Aggiungi risorsa, Altre risorse e quindi selezionare l'indirizzo IP.

    Screenshot di Failover Cluster Manager che mostra le selezioni per l’aggiunta di un indirizzo IP come risorsa.

  2. Per configurare questo indirizzo IP, fare clic con il pulsante destro del mouse sulla risorsa in Altre risorse e quindi scegliere Proprietà.

    Schermata di Gestione Cluster di Failover che mostra le selezioni per l'apertura delle proprietà per una risorsa.

  3. In Nome, immettere un nome per il nuovo gruppo di risorse. In Rete, selezionare la rete dal data center remoto. Selezionare Indirizzo IP Statico e quindi nella casella Address assegnare l'indirizzo IP statico dal nuovo bilanciamento del carico di Azure.

    Screenshot della finestra di dialogo per le proprietà dell'indirizzo IP, che mostra l'assegnazione dell'indirizzo IP del listener nel cluster.

  4. Selezionare Applica e quindi OK.

  5. Aggiungere la risorsa indirizzo IP come dipendenza per il cluster del punto di accesso client listener (nome della rete).

    Fare clic con il pulsante destro del mouse sul punto di accesso client del listener e quindi selezionare Proprietà. Passare alla scheda Dipendenze e aggiungere la nuova risorsa indirizzo IP al punto di accesso client del listener. Lo screenshot seguente illustra una risorsa cluster di tipo indirizzo IP configurata correttamente:

    Schermata di Failover Cluster Manager che mostra gli indirizzi IP configurati per un gruppo di disponibilità.

    Importante

    Il gruppo di risorse cluster include entrambi gli indirizzi IP. Entrambi gli indirizzi IP sono dipendenze per il punto di accesso client listener. Usare l'operatore OR nella configurazione delle dipendenze del cluster.

  6. Impostare i parametri del cluster in PowerShell.

    Eseguire lo script PowerShell con il nome di rete del cluster, l'indirizzo IP e la porta probe configurati nel servizio di bilanciamento del carico della nuova regione.

    $ClusterNetworkName = "<MyClusterNetworkName>" # The cluster name for the network in the new region (Use Get-ClusterNetwork on Windows Server 2012 or later to find the name.)
    $IPResourceName = "<IPResourceName>" # The cluster name for the new IP address resource.
    $ILBIP = "<n.n.n.n>" # The IP address of the internal load balancer in the new region. This is the static IP address for the load balancer that you configured in the Azure portal.
    [int]$ProbePort = <nnnnn> # The probe port that you set on the internal load balancer.
    
    Import-Module FailoverClusters
    
    Get-ClusterResource $IPResourceName | Set-ClusterParameter -Multiple @{"Address"="$ILBIP";"ProbePort"=$ProbePort;"SubnetMask"="255.255.255.255";"Network"="$ClusterNetworkName";"EnableDhcp"=0}
    

Abilitare i gruppi di disponibilità

Abilitare ora la funzionalità Gruppi di disponibilità AlwaysOn. Completare questi passaggi nella nuova macchina virtuale SQL Server:

  1. Nella schermata Start aprire SQL Server Configuration Manager.

  2. Nell'albero del browser selezionare SQL Server Services. Fare clic con il pulsante destro del mouse sul servizio SQL Server (MSSQLSERVER) e quindi selezionare Proprietà.

  3. Selezionare la scheda Disponibilità elevata AlwaysOn e quindi selezionare Abilita gruppi di disponibilità AlwaysOn.

    Screenshot delle selezioni per abilitare i gruppi di disponibilità Always On nelle proprietà di SQL Server.

  4. Seleziona Applica. Scegliere OK nella finestra di dialogo popup.

  5. Riavviare il servizio SQL Server.

Aggiungere una replica al gruppo di disponibilità

Dopo il riavvio di SQL Server nella macchina virtuale appena creata, è possibile aggiungerlo come replica al gruppo di disponibilità:

  1. Aprire una sessione desktop remoto per l'istanza di SQL Server primaria nel gruppo di disponibilità e quindi aprire SQL Server Management Studio (SSMS).

  2. In Object Explorer in SSMS, aprire Always On High Availability>Availability Groups. Fare clic con il pulsante destro del mouse sul nome del gruppo di disponibilità e quindi selezionare Aggiungi replica.

  3. Connettersi alla replica esistente e quindi selezionare Avanti.

  4. Selezionare Aggiungi replica e connettersi alla nuova macchina virtuale SQL Server.

    Importante

    Una replica in una regione remota di Azure deve essere impostata per la replica asincrona con failover manuale.

  5. Nella pagina Seleziona sincronizzazione dei dati iniziale selezionare Completa e specificare un percorso di rete condiviso. Per la posizione, utilizzare la condivisione di backup che hai creato. Nell'esempio è stato \\<First SQL Server>\Backup\. Quindi, seleziona Avanti.

    Nota

    La sincronizzazione completa esegue un backup completo del database nella prima istanza di SQL Server e la ripristina nella seconda istanza. Per i database di grandi dimensioni, la sincronizzazione completa non è consigliabile perché può richiedere diverso tempo.

    È possibile ridurre manualmente il tempo necessario acquisendo un backup del database e ripristinandolo con NO RECOVERY. Se il database è già stato ripristinato con NO RECOVERY nella seconda istanza di SQL Server prima di configurare il gruppo di disponibilità, selezionare Join only. Per acquisire il backup dopo la configurazione del gruppo di disponibilità, selezionare Ignora sincronizzazione dei dati iniziale.

    Screenshot che mostra la selezione dell'opzione per la sincronizzazione completa dei dati.

  6. Nella pagina Convalida selezionare Avanti. La pagina dovrebbe essere simile all'immagine seguente:

    Screenshot della pagina che mostra i risultati della convalida del gruppo di disponibilità in SSMS.

    Nota

    Se appare un avviso che segnala un problema nella configurazione del listener, indica che il listener del gruppo di disponibilità non risulta configurato. È possibile ignorare questo avviso perché il listener è già configurato. È stato creato dopo aver creato il servizio di bilanciamento del carico Azure nella regione locale nel Tutorial per distribuire manualmente un gruppo di disponibilità in una singola subnet in una singola regione.

  7. Nella pagina Riepilogo selezionare Fine e quindi attendere il completamento della configurazione del nuovo gruppo di disponibilità tramite la procedura guidata. Per visualizzare lo stato dettagliato è possibile selezionare Altri dettagli nella pagina Stato.

    Al termine della configurazione guidata, controllare la pagina Risultati per verificare che il gruppo di disponibilità sia stato creato correttamente.

  8. Fare clic su Chiudi per chiudere la procedura guidata.

Controllare il gruppo di disponibilità

In Object Explorer, espandi Always On High Availability, quindi espandi Gruppi di disponibilità. Fare clic con il pulsante destro del mouse sul gruppo di disponibilità e scegliere Mostra dashboard.

Screenshot di Object Explorer in SSMS che mostra le selezioni per aprire un dashboard per un gruppo di disponibilità.

Il dashboard del gruppo di disponibilità dovrebbe essere simile allo screenshot seguente, ora con un'altra replica:

Screenshot del dashboard del gruppo di disponibilità in SSMS.

Il dashboard mostra le repliche, la modalità di failover di ogni replica e lo stato di sincronizzazione.

Controllare il listener del gruppo di disponibilità

  1. In Object Explorer, espandi Always On High Availability, espandi Availability Groups, quindi espandi Listener Gruppi di Disponibilità.

  2. Fare clic con il pulsante destro del mouse sul nome del listener e scegliere Proprietà. Entrambi gli indirizzi IP dovrebbero ora essere visualizzati per il listener (uno in ogni area).

    Screenshot della finestra delle proprietà del listener del gruppo di disponibilità in SSMS, che mostra entrambi gli indirizzi IP utilizzati per il listener.

Impostare la connessione per più subnet

La replica nel data center remoto fa parte del gruppo di disponibilità, ma si trova in un'altra subnet. Se questa replica diventa la replica primaria, potrebbero verificarsi timeout di connessione dell'applicazione. Questo comportamento è lo stesso di un gruppo di disponibilità locale in una distribuzione su più subnet. Per consentire le connessioni dalle applicazioni client, aggiornare la connessione del client o configurare la cache dei nomi nella risorsa nome di rete del cluster.

Preferibilmente, aggiornare la configurazione del cluster per impostare RegisterAllProvidersIP=1 e le stringhe di connessione del client per impostare MultiSubnetFailover=Yes. Vedere Connessione con MultiSubnetFailover.

Se non riesci a modificare le stringhe di connessione, puoi configurare la cache per la risoluzione dei nomi. Fare riferimento a quando si verifica un timeout tentando di connettersi a un listener Always On in un ambiente con più sottoreti.

Effettuare il failover verso un'area remota

Per testare la connettività del listener alla regione remota, puoi eseguire il failover della replica nella regione remota. Mentre la replica è asincrona, il failover è soggetto a perdita potenziale di dati. Per effettuare il failover senza perdita di dati, impostare la modalità di disponibilità come sincrona e la modalità di failover come automatica. Eseguire la procedura descritta di seguito:

  1. In Object Explorer connettersi all'istanza di SQL Server che ospita la replica primaria.

  2. In Gruppi di disponibilità AlwaysOn, fare clic con il pulsante destro del mouse sul gruppo di disponibilità e scegliere Proprietà.

  3. Nella pagina Generale, alla voce Repliche di disponibilità, impostare la replica secondaria del sito di ripristino di emergenza per utilizzare la modalità di disponibilità Commit sincrono e la modalità di failover Automatico.

    Se è presente una replica secondaria nello stesso sito della replica primaria per la disponibilità elevata, impostare questa replica su Commit asincrono e Manuale.

  4. Seleziona OK.

  5. In Object Explorer fare clic con il pulsante destro del mouse sul gruppo di disponibilità e selezionare Show Dashboard.

  6. Sul dashboard, verificare che la replica nel sito DR sia sincronizzata.

  7. In Object Explorer, fare clic con il pulsante destro del mouse sul gruppo di disponibilità e selezionare Failover. SQL Server Management Studio apre una procedura guidata per il failover di SQL Server.

  8. Selezionare Avanti e selezionare l'istanza SQL Server nel sito di ripristino di emergenza. Selezionare di nuovo Avanti.

  9. Connettersi all'istanza di SQL Server nel sito di ripristino di emergenza e quindi selezionare Avanti.

  10. Verifica le impostazioni nella pagina Riepilogo e seleziona Fine.

Dopo avere testato la connettività, spostare di nuovo la replica primaria nel data center primario e configurare di nuovo la modalità di disponibilità sulle normali impostazioni operative. La tabella seguente indica le normali impostazioni operative per l'architettura descritta in questo articolo:

Ubicazione Istanza del server Ruolo Modalità di disponibilità Modalità di failover
Data center primario SQL-1 Primario Sincrona Automatico
Data center primario SQL-2 Secondario Sincrona Automatico
Data center secondario o remoto SQL-3 Secondario Asincrono Manuale di istruzioni

Per altre informazioni sul failover manuale pianificato e forzato, vedere gli articoli seguenti: