Configurare un gruppo di disponibilità nelle macchine virtuali di server SQL Azure tra aree diverse
Si applica a: SQL Server su VM di Azure
Questa esercitazione illustra come configurare una replica del gruppo di disponibilità Always On per SQL Server nelle macchine virtuali di Azure in un'area di Azure remota rispetto 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 ad 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.
Panoramica
L'immagine seguente illustra una distribuzione comune di un gruppo di disponibilità nelle macchine virtuali di Azure:
Nella distribuzione illustrata nel diagramma, tutte le macchine virtuali sono in un'unica area di Azure. Le repliche del gruppo di disponibilità possono avere il commit sincrono con failover automatico in SQL-1 e SQL-2. Per creare questa architettura, vedere Modello o esercitazione per i gruppi di disponibilità.
Questa architettura è soggetta a tempi di inattività se l'area di Azure diventa inaccessibile. Per ovviare a questa vulnerabilità, aggiungere una replica in un'area di Azure diversa. Il diagramma seguente illustra l'aspetto della nuova architettura:
Il diagramma illustra una nuova macchina virtuale denominata SQL-3. SQL-3 è in un'area di Azure diversa. Viene aggiunta al cluster di failover di Windows Server e può ospitare una replica del gruppo di disponibilità.
L'area di Azure per SQL-3 ha un nuovo servizio di bilanciamento del carico di Azure load balancer. 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à di Azure è necessario quando più macchine virtuali sono nella stessa area. Se una sola macchina virtuale è nell'area, il set di disponibilità non è necessario.
È 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 dei gruppi di disponibilità si trovano in macchine virtuali di Azure in aree di Azure diverse, è possibile connettere le reti virtuali usando il peering di rete virtuale o un gateway VPN da sito a sito.
Importante
Questa architettura è soggetta a costi per i dati in uscita replicati tra le aree di 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 rete subnet, l'IP del cluster e gli indirizzi IP del listener del gruppo di disponibilità che verranno usati per l'area remota.
Nella tabella seguente sono elencati i dettagli per l'area locale (corrente) e gli elementi che verranno configurati nella nuova area remota.
Type | 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 |
IP cluster | 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 la subnet del gateway per una rete virtuale nella nuova area nel portale di Azure:
Accedere al gruppo di risorse nel portale Azure e selezionare + Crea.
Cercare Rete virtuale nella casella di ricerca del Marketplace e quindi selezionare il riquadro Rete virtuale di Microsoft.
Nella pagina Crea rete virtuale, selezionare Crea. Nella scheda Informazioni di base digitare le informazioni seguenti:
- In Dettagli progetto, scegliere Sottoscrizione e selezionare la sottoscrizione di Azure appropriata. Per Gruppo di risorse, selezionare il gruppo di risorse creato in precedenza, ad esempio SQL-HA-RG.
- In Dettagli istanza, specificare un nome per la rete virtuale, ad esempio remote_HAVNET. Scegliere quindi una nuova area remota.
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.
Selezionare Aggiungi uno spazio indirizzi IP per aprire il riquadro per creare lo spazio indirizzi necessario. Questa esercitazione usa lo spazio indirizzi dell'area remota: 10.36.0.0/16. Selezionare Aggiungi.
Selezionare + Aggiungi una subnet e quindi:
Specificare un valore per Nome subnet, ad esempio admin.
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.
Selezionare Aggiungi per aggiungere la nuova subnet.
Connettere le reti virtuali nelle due aree di Azure
Dopo aver creato la nuova rete virtuale e la nuova subnet, è possibile connettersi alle due aree in modo che possano comunicare tra loro. A questo scopo è possibile procedere in due modi:
Connettere reti virtuali con il peering reti virtuali usando il portale di Azure (raccomandato)
In alcuni casi, potrebbe essere necessario usare PowerShell per creare la connessione da rete virtuale a rete virtuale. Se, ad esempio, si usano account Azure diversi, non è possibile configurare la connessione nel portale. In questi casi, vedere Configurare una connessione da rete virtuale a rete virtuale con il portale di Azure.
Configurare una connessione gateway VPN da sito a sito con il portale di Azure
Questa esercitazione usa il peering di reti virtuali. Per configurare il peering di reti virtuali:
Nella casella di ricerca nella parte superiore della portale di Azure digitare autoHAVNET, ovvero la rete virtuale nell'area locale. Quando autoHAVNET viene visualizzato nei risultati della ricerca, selezionalo.
In Impostazioni, selezionare Peering e quindi + Aggiungi.
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. Nella pagina Peering lo stato del peering è Connesso.
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:
- Tornare al gruppo di risorse SQL-HA-RG.
- Seleziona + Crea.
- Digitare Windows Server 2016 Datacenter e quindi selezionare il risultato Windows Server 2016 Datacenter.
- 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 |
Password | Contoso!0000 |
Abbonamento | Sottoscrizione in uso |
Gruppo di risorse | SQL-HA-RG |
Location | Località corrente |
Dimensione | DS1_V2 |
Storage | Usare il servizio Managed Disks: Sì |
Rete virtuale | remote_HAVNET |
Subnet | admin |
Indirizzo IP pubblico | Lo stesso nome della VM |
Gruppo di sicurezza di rete | Lo 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
L'indirizzo del server DNS preferito non deve essere aggiornato direttamente all'interno di una macchina virtuale, deve essere modificato dal portale di Azure o da PowerShell o dall'interfaccia della riga di comando di Azure. I passaggi seguenti consentono di apportare la modifica all'interno del portale di Azure:
Accedere al portale di Azure.
Nella casella di ricerca nella parte superiore del portale immettere Interfaccia di rete. Selezionare Interfacce di rete nei risultati della ricerca.
Selezionare dall'elenco l'interfaccia di rete per il secondo controller di dominio di cui si vogliono visualizzare o modificare le impostazioni.
In Impostazioni, selezionare Server DNS.
Poiché questo controller di dominio non si trova nella stessa rete virtuale del controller di dominio primario, selezionare Personalizza 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.Seleziona Salva.
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:
- Connettersi in remoto alla macchina virtuale utilizzando l'account BUILTIN\DomainAdmin.
- Aprire Server Manager, selezionare Server locale.
- Selezionare GRUPPO DI LAVORO.
- Nella sezione Nome computer selezionare Cambia.
- Selezionare la casella di controllo Dominio e digitare corp.contoso.com nella casella di testo. Seleziona OK.
- Nella finestra di dialogo popup Sicurezza di Windows specificare le credenziali per l'account amministratore di dominio predefinito (CORP\DomainAdmin) e la password (Contoso!0000).
- Quando viene visualizzato il messaggio di benvenuto nel dominio corp.contoso.com, selezionare OK.
- Selezionare Chiudi e quindi Riavvia ora nella finestra di dialogo popup.
Configurare il controller di dominio
Dopo che il server ha aggiunto il dominio, è possibile configurarlo come secondo controller di dominio. A tale scopo, effettuare i passaggi seguenti:
Se non si è già connessi, aprire una sessione RDP al controller di dominio secondario e aprire il dashboard di Server Manager (che può essere aperto per impostazione predefinita).
Selezionare il collegamento Aggiungi ruoli e funzionalità sul dashboard.
Selezionare Avanti fino a visualizzare la sezione Ruoli server.
Selezionare i ruoli Active Directory Domain Services e Server DNS. Quando richiesto, aggiungere eventuali funzionalità aggiuntive necessarie per questi ruoli.
Dopo l'installazione delle funzionalità, tornare al dashboard Server Manager .
Selezionare la nuova opzione Servizi di dominio di Active Directory nel riquadro di sinistra.
Selezionare il collegamento Altro sulla barra di avviso gialla.
Nella colonna Azione della finestra di dialogo Dettagli attività tutti i server selezionare Alza di livello il server a controller di dominio.
In Configurazione distribuzione selezionare Aggiungi un controller di dominio a un dominio esistente.
Fare clic su Seleziona.
Connettersi usando l'account dell'amministratore (CORP.CONTOSO.COM\domainadmin) e la password (Contoso!0000).
In Seleziona un dominio dalla foresta, fare clic sul dominio e quindi su OK.
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.
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 di SQL Server
Dopo il riavvio del controller di dominio, il passaggio successivo consiste nel creare una macchina virtuale di SQL Server nella nuova area.
Prima di procedere, considerare le seguenti decisioni di progettazione:
Archiviazione: Azure Managed Disks
Per l'archiviazione delle macchine virtuali, usare Azure Managed Disks. Microsoft consiglia Managed Disks per le macchine virtuali di SQL Server. Managed Disks gestisce automaticamente le risorse di archiviazione. Inoltre, quando le macchine virtuali con Managed Disks sono nello stesso set di disponibilità, Azure distribuisce le risorse di archiviazione in modo da garantire la ridondanza appropriata.
Per altre informazioni vedere Introduzione ad 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 di SQL Server.
Rete: scheda di interfaccia di rete singola per server
Usare una singola scheda di interfaccia di rete (NIC) per server (nodo del cluster) e una singola subnet. La ridondanza fisica della rete di Azure rende superfluo l'uso di altre schede di rete e subnet in un cluster guest di macchine virtuali di Azure. Il report di convalida del cluster informa che i nodi sono raggiungibili solo in una singola rete. È possibile ignorare questo avviso nei cluster di failover guest di macchine virtuali di Azure.
Creare e configurare le VM di SQL Server
Per creare la macchina virtuale di SQL Server, tornare al gruppo di risorse SQL-HA-RG e quindi selezionare Aggiungi. Selezionare l'elemento della raccolta appropriato, selezionare Macchina virtuale e quindi selezionare Da raccolta. Usare le informazioni nella tabella seguente per facilitare la creazione di VM:
Pagina | Impostazione |
---|---|
Selezionare l'elemento della raccolta appropriato | SQL Server 2016 SP1 Enterprise on Windows Server 2016 |
Configurazione della macchina virtuale: Elementi di base | Nome = sqlserver-2 Nome utente = DomainAdmin Password = Contoso!0000 Sottoscrizione = la propria sottoscrizione Gruppo di risorse = SQL-HA-RG Località = Area remota |
Configurazione della macchina virtuale: Dimensioni | DIMENSIONI = 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 Subnet = admin (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 = Usare un account di archiviazione generato automaticamente |
Configurazione della macchina virtuale: Impostazioni SQL Server | Connettività SQL = Privata (nella rete virtuale) Porta = 1433 Autenticazione SQL = disabilitata Configurazione di archiviazione = Generale Applicazione automatica delle patch = Domenica alle 02:00 Backup automatizzato = disabilitato Integrazione dell'insieme di credenziali delle chiavi di Azure = Disabilitata |
Nota
La dimensione della macchina suggerita è pensata per il test dei gruppi di disponibilità all'interno di macchine virtuali di Azure. Per ottenere prestazioni ottimali su carichi di lavoro di produzione, vedere le dimensioni e la configurazione consigliate per la macchina virtuale di SQL Server in Elenco di controllo: Procedure consigliate per le prestazioni per SQL Server in Macchine virtuali di 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 di SQL Server:
- Connettersi in remoto alla macchina virtuale usando BUILTIN\DomainAdmin.
- In Server Manager selezionare Server locale.
- Selezionare il collegamento WORKGROUP.
- Nella sezione Nome computer selezionare Cambia.
- Selezionare la casella di controllo Dominio e digitare corp.contoso.com nella casella di testo. Quindi, seleziona OK.
- Nella finestra di dialogo popup Sicurezza di Windows specificare le credenziali per l'account amministratore di dominio predefinito (CORP\DomainAdmin) e la password (Contoso!0000).
- Quando viene visualizzato il messaggio di benvenuto nel dominio corp.contoso.com, selezionare OK.
- Selezionare Chiudi e quindi Riavvia ora nella finestra di dialogo popup.
Aggiungere account
L'attività successiva consiste nell'aggiungere l'account di installazione come amministratore nella macchina virtuale di SQL Server e 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 l'avvio di ogni macchina virtuale come membro del dominio, aggiungere CORP\Install come membro del gruppo Administrator locale.
Attendere il riavvio della macchina virtuale e quindi aprire di nuovo il file RDP 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.
In Server Manager, seleziona Strumenti, quindi seleziona Gestione computer.
Nella finestra Gestione computer espandere Utenti e gruppi locali, quindi selezionare Gruppi.
Fare doppio clic sul gruppo Administrators .
Nella finestra di dialogo Proprietà Amministratori selezionare il pulsante Aggiungi.
Immettere l'utente CORP\Install e quindi selezionare OK.
Selezionare OK per chiudere la finestra di dialogo Proprietà Amministratori.
Creare un accesso in ogni macchina virtuale di 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 del server predefinito sysadmin in ogni VM di SQL Server. La procedura seguente crea un account di accesso per l'account di installazione. Completarla in entrambe le macchine virtuali di SQL Server.
Connettersi al server tramite Remote Desktop Protocol (RDP) usando l'account <MachineName>\DomainAdmin.
Aprire SQL Server Management Studio e connettersi all'istanza locale di SQL Server.
In Esplora oggetti, selezionare Sicurezza.
Fare clic con il pulsante destro del mouse su Account di accesso. SelezionareNuovo account di accesso.
In Account di accesso - Nuovo, selezionare Cerca.
Seleziona Posizione.
Immettere le credenziali di rete dell'amministratore di dominio. Usare l'account di installazione (CORP\Install).
Impostare l'account di accesso come membro del ruolo del server predefinito sysadmin.
Seleziona OK.
Configurare le autorizzazioni dell'account di sistema
Per creare un account di sistema e concedere le autorizzazioni appropriate, completare questi passaggi in ogni istanza di SQL Server:
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
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 di SQL Server, completare i passaggi seguenti per impostare l'account del servizio SQL Server. Usare gli account creati in fase di configurazione degli account di dominio.
- Aprire Gestione configurazione SQL Server.
- Fare clic con il pulsante destro del mouse sul servizio SQL Server e scegliere Proprietà.
- Impostare l'account e la password.
Per i gruppi di disponibilità di SQL Server, ogni VM di SQL Server deve essere eseguita come account di dominio.
Creare un servizio di bilanciamento del carico di Azure
Un servizio di bilanciamento del carico è necessario nell'area remota per supportare il gruppo di disponibilità di SQL Server. Il servizio di bilanciamento del carico contiene gli indirizzi IP per i listener del gruppo di disponibilità e per il cluster di failover di Windows Server. Questa sezione è un riepilogo della creazione del servizio di bilanciamento del carico nel portale di Azure.
Il load balancer deve:
- Essere nella stessa rete e subnet della nuova macchina virtuale.
- Avere 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 il probe di una porta TCP specifico per l'indirizzo IP.
- Avere una regola di bilanciamento del carico specifica dell'istanza di SQL Server nella stessa area.
- Essere un'istanza di Load Balancer Standard se le macchine virtuali nel pool di back-end non fanno parte né di un singolo set di disponibilità né di un set di scalabilità di macchine virtuali. Per altre informazioni, vedere Informazioni su Azure Load Balancer.
- Essere un servizio di bilanciamento del carico standard se le due reti virtuali in due aree diverse vengono sottoposte a peering tramite peering rete virtuale globale. Per altre informazioni, vedere Domande frequenti su File di Azure.
I passaggi per creare il servizio di bilanciamento del carico sono:
Nel portale di Azure passare al gruppo di risorse in cui si trovano le istanze di SQL Server e selezionare + Aggiungi.
Cercare Servizio di bilanciamento del carico. Scegliere il servizio di bilanciamento del carico pubblicato da Microsoft.
Selezionare Crea.
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 Usare la stessa area della macchina virtuale. SKU Selezionare Standard. Type Selezionare Interno. Il pannello del portale di Azure dovrebbe essere simile al seguente:
Selezionare Avanti: Configurazione IP front-end.
Selezionare Aggiungi una configurazione IP front-end.
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. Usare 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.
Selezionare Aggiungi.
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 pool back-end per il listener del gruppo di disponibilità
Nel portale di Azure, andare al gruppo di disponibilità. Potrebbe essere necessario aggiornare la visualizzazione per vedere il servizio di bilanciamento del carico appena creato.
Selezionare il sistema di bilanciamento del carico, selezionare Pool back-end e quindi + Aggiungi.
In Nome, specificare un nome per il pool back-end.
Per Configurazione pool back-end, selezionare NIC.
Selezionare Aggiungi per associare il pool back-end alla macchina virtuale di SQL Server appena creata.
In Macchina virtuale, selezionare la macchina virtuale che ospiterà la replica del gruppo di disponibilità.
Selezionare Aggiungi per aggiungere la macchina virtuale al pool back-end.
Seleziona Salva.
Impostare il probe
Nel portale di Azure, selezionare il Load Balancer, selezionare Probe integrità, quindi + Aggiungi.
Impostare il probe di integrità del listener nel modo seguente:
Impostazione Descrizione Esempio Nome Testo SQLAlwaysOnEndPointProbe Protocollo Scegliere TCP TCP Porta Qualsiasi porta non usata 59999 Intervallo Intervallo di tempo tra i tentativi del probe, in secondi 5 Selezionare Aggiungi.
Impostare le regole di bilanciamento del carico
Nel portale di Azure, selezionare il servizio di bilanciamento del carico, selezionare le regole di bilanciamento del carico, quindi + Aggiungi.
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 servizio di bilanciamento del carico. Pool back-end 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 Porta Usare la porta per il listener del gruppo di disponibilità 1433 Porta back-end Questo campo non viene usato quando l'indirizzo IP mobile è impostato per Direct Server Return 1433 Probe di integrità Il nome specificato per il probe SQLAlwaysOnEndPointProbe Persistenza della sessione Elenco a discesa Nessuno Timeout di inattività Minuti in cui tenere aperta una connessione TCP 4 IP mobile (Direct Server Return) Abilitare questa impostazione. Avviso
Direct Server Return viene impostato durante la creazione. Non è possibile modificarlo.
Seleziona Salva.
Aggiungere le funzionalità del cluster di failover alle VM di SQL Server
Per aggiungere le funzionalità del cluster di failover, seguire questa procedura in entrambe le VM di SQL Server:
Connettersi alla macchina virtuale di SQL Server tramite Remote Desktop Protocol (RDP) usando l'account CORP\install. Aprire il dashboard Server Manager.
Selezionare il collegamento Aggiungi ruoli e funzionalità sul dashboard.
Selezionare Avanti fino a visualizzare la sezione Funzionalità server.
In Funzionalità selezionare Clustering di failover.
Aggiungere le funzionalità necessarie.
Selezionare Installa.
Nota
È ora possibile automatizzare questo passaggio, oltre a unire le macchine virtuali di SQL Server al cluster di failover, usando l'interfaccia della riga di comando di Azure e i modelli di avvio rapido di Azure.
Ottimizzare le soglie di rete per un cluster di failover
Quando si eseguono nodi del cluster di failover Windows nelle macchine virtuali di Azure con gruppi di disponibilità di SQL Server, modificare l'impostazione del cluster impostando uno stato di monitoraggio meno rigoroso. Questa modifica renderà 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 di 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 VM di 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:
Nella prima schermata Start di SQL Server, aprire Windows Firewall con protezione avanzata.
Nel riquadro sinistro selezionare Regole connessioni in entrata. Nel riquadro di destra selezionare Nuova regola.
Per Tipo di regola, selezionare Porta.
Per la porta specificare TCP e digitare i numeri di porta appropriati. La schermata seguente mostra un esempio:
Selezionare Avanti.
Nella pagina Azione, selezionare Consenti la connessione e quindi Avanti.
Nella pagina Profilo, accettare le impostazioni predefinite e selezionare Avanti.
Nella pagina Nome specificare un nome per la regola, ad esempio Probe per Azure LB nella casella di testo Nome, quindi selezionare Fine.
Aggiungere SQL Server al cluster di failover di Windows Server
La nuova macchina virtuale di SQL Server deve essere aggiunta al cluster di failover di Windows Server presente nell'area locale.
Aggiungere la VM di SQL Server al cluster:
Usare RDP per connettersi a una macchina virtuale di SQL Server nel cluster esistente. A questo scopo, usare un account di dominio che sia amministratore nelle VM di SQL Server e nel server di controllo.
Nel dashboard Server Manager selezionare Strumenti, quindi Gestione cluster di failover.
Nel riquadro sinistro fare clic con il pulsante destro del mouse su Gestione cluster di failover, quindi selezionare Connetti a cluster.
Nella finestra Seleziona cluster, in Nome cluster scegliere <Cluster in questo server>. Quindi, seleziona OK.
Nell'albero del browser fare clic con il pulsante destro del mouse sul cluster e quindi scegliere Aggiungi nodo.
In Aggiunta guidata nodi selezionare Avanti.
Nella pagina Selezione 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.
Nella pagina Avviso di convalida selezionare No. In uno scenario di produzione è necessario eseguire i test di convalida. Quindi seleziona Avanti.
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 deseleziona Aggiungi tutte le risorse di archiviazione idonee al cluster, Windows rende non visibili 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.
Selezionare Avanti.
Selezionare Fine.
Gestione cluster di failover visualizza il cluster con un nuovo nodo elencato nel contenitore Nodi.
Aggiungere l'indirizzo IP principale per il cluster di failover di Windows Server
Nota
In Windows Server 2019 il cluster crea un Nome server distribuito anziché il Nome di rete del 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 altre informazioni, vedere il post di blog Cluster di failover: Oggetto rete cluster.
Creare quindi la risorsa indirizzo IP e aggiungerla al cluster per la nuova macchina virtuale di SQL Server:
In Gestione cluster di failover, selezionare ill nome del cluster. Fare clic con il pulsante destro del mouse sul nome del cluster in Risorse principali del cluster e selezionare Proprietà:
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.
Aggiungere l'indirizzo IP come dipendenza per il nome del cluster principale.
Aprire la finestra di dialogo Proprietà del cluster ancora una volta e selezionare la scheda Dipendenze. Configurare una dipendenza OR per i due indirizzi IP.
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:
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.
Per configurare questo indirizzo IP, fare clic con il pulsante destro del mouse sulla risorsa in Altre risorse e quindi scegliere Proprietà.
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 Indirizzo assegnare l'indirizzo IP statico dal nuovo Azure load balancer.
Selezionare Apply (Applica) e quindi OK.
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:
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.
Impostare i parametri del cluster in PowerShell.
Eseguire lo script PowerShell con il nome di rete cluster, l'indirizzo IP e la porta probe configurati nel servizio di bilanciamento del carico nella nuova area.
$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 di SQL Server:
Dalla schermata Start aprire Gestione configurazione SQL Server.
Selezionare Servizi di SQL Server nel menu ad albero. Fare clic con il pulsante destro del mouse sul servizio SQL Server (MSSQLSERVER) e scegliere Proprietà.
Selezionare la scheda Disponibilità elevata AlwaysOn, quindi selezionare Abilita gruppi di disponibilità AlwaysOn.
Selezionare Applica. Scegliere OK nella finestra di dialogo popup.
Riavviare il servizio SQL Server.
Aggiungere una replica al gruppo di disponibilità
Dopo il riavvio di SQL Server nella macchina virtuale appena creata, è possibile aggiungerla come replica al gruppo di disponibilità:
Aprire una sessione desktop remoto per l'istanza primaria di SQL Server nel gruppo di disponibilità e quindi aprire SQL Server Management Studio (SSMS).
In Esplora oggetti in SSMS, aprire Gruppi di disponibilità> elevata AlwaysOn. Fare clic con il pulsante destro del mouse sul nome del gruppo di disponibilità e quindi selezionare Aggiungi replica.
Connettersi alla replica esistente e quindi selezionare Avanti.
Selezionare Aggiungi replica e connettersi alla nuova macchina virtuale di SQL Server.
Importante
Una replica in un'area di Azure remota deve essere impostata sulla replica asincrona con il failover manuale.
Nella pagina Seleziona sincronizzazione dei dati iniziale selezionare Completa e specificare un percorso di rete condiviso. Per il percorso, usare la condivisione di backup creata. Nell'esempio era \\<Primo istanza di SQL Server>\Backup. Quindi, seleziona Avanti.
Nota
La sincronizzazione completa acquisisce un backup completo del database nella prima istanza di SQL Server e lo 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 conNO RECOVERY
nella seconda istanza di SQL Server prima di configurare il gruppo di disponibilità, scegliere Solo join. Per acquisire il backup dopo la configurazione del gruppo di disponibilità, selezionare Ignora sincronizzazione dei dati iniziale.Nella pagina Convalida selezionare Avanti. La pagina dovrebbe essere simile all'immagine seguente:
Nota
È presente un avviso per la configurazione del listener perché non è stato configurato un listener del gruppo di disponibilità. È possibile ignorare questo avviso perché il listener è già configurato. È stato creato dopo aver creato Azure load balancer nell'area locale.
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 procedura guidata, controllare la pagina Risultati per verificare che il gruppo di disponibilità sia stato creato correttamente.
Fare clic su Chiudi per chiudere la procedura guidata.
Controllare il gruppo di disponibilità
In Esplora oggetti, espandere Disponibilità elevata Always On, quindi espandere i gruppi di disponibilità. Fare clic con il pulsante destro del mouse sul gruppo di disponibilità e scegliere Mostra dashboard.
Il dashboard del gruppo di disponibilità dovrebbe essere simile allo screenshot seguente, ora con un'altra replica:
Il dashboard mostra le repliche, la modalità di failover di ogni replica e lo stato di sincronizzazione.
Controllare i listener del gruppo di disponibilità
In Esplora oggetti, espandere Disponibilità elevata AlwaysOn, espandere i Gruppi di disponibilità, quindi espandere Listener del gruppo di disponibilità.
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).
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 quella primaria, possono verificarsi timeout della 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 client o configurare la memorizzazione nella cache della risoluzione dei nomi nella risorsa nome di rete del cluster.
È preferibile aggiornare la configurazione del cluster per impostare RegisterAllProvidersIP=1
e il client stringa di connessione per impostare MultiSubnetFailover=Yes
. Vedere Connessione con MultiSubnetFailover.
Se non è possibile modificare le stringhe di connessione, è possibile configurare la memorizzazione nella cache della risoluzione dei nomi. Vedere Si verifica timeout quando ci si connette a un listener Always On in un ambiente con più subnet.
Effettuare il failover in un'area remota
Per testare la connettività del listener all'area remota, è possibile effettuare il failover della replica nell'area 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:
In Esplora oggetti connettersi all'istanza di SQL Server che ospita la replica primaria.
In Gruppi di disponibilità AlwaysOn, fare clic con il pulsante destro del mouse sul gruppo di disponibilità e scegliere Proprietà.
Nella pagina Generale, in Repliche di disponibilità, impostare la replica secondaria nel sito di ripristino di emergenza per l'uso della modalità di disponibilità Commit sincrono e della 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.
Seleziona OK.
In Esplora oggetti, fare clic con il pulsante destro del mouse sul gruppo di disponibilità e scegliere Mostra dashboard.
Nel dashboard verificare che la replica nel sito di ripristino di emergenza sia sincronizzata.
In Esplora oggetti, fare clic con il pulsante destro del mouse sul gruppo di disponibilità e scegliere Failover. SQL Server Management Studio apre una procedura guidata per il failover di SQL Server.
Selezionare Avanti e selezionare l'istanza di SQL Server nel sito del ripristino di emergenza. Selezionare di nuovo Avanti.
Connettersi all'istanza di SQL Server nel sito di ripristino di emergenza e selezionare Avanti.
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:
Ufficio | Istanza del server | Ruolo | Modalità di disponibilità | Failover mode |
---|---|---|---|---|
Data center primario | SQL-1 | Principale | Sincrona | Automatico |
Data center primario | SQL-2 | Secondari | Sincrona | Automatico |
Data center secondario o remoto | SQL-3 | Secondari | Asincrona | Manuale |
Per altre informazioni sul failover manuale pianificato e forzato, vedere gli articoli seguenti:
- Eseguire un failover manuale pianificato di un gruppo di disponibilità (SQL Server)
- Eseguire un failover manuale forzato di un gruppo di disponibilità (SQL Server)
Passaggi successivi
Per ulteriori informazioni, vedere: