Usare il portale di Azure per configurare un gruppo di disponibilità a più subnet per SQL Server in macchine virtuali di Azure

Si applica a:SQL Server nella macchina virtuale di Azure

Suggerimento

Esistono molti metodi per distribuire un gruppo di disponibilità. Semplificare la distribuzione ed eliminare la necessità di un servizio di bilanciamento del carico di Azure o di un nome di rete distribuito (DNN) per il gruppo di disponibilità AlwaysOn creando le macchine virtuali (VM) di SQL Server in più subnet all'interno della stessa rete virtuale di Azure. Se il gruppo di disponibilità è già stato creato in una singola subnet, è possibile eseguirne la migrazione a un ambiente con più subnet.

Questo articolo descrive come usare il portale di Azure per configurare un gruppo di disponibilità per SQL Server in macchine virtuali di Azure in più subnet creando:

  • Nuove macchine virtuali con SQL Server.
  • Un cluster di failover di Windows.
  • Gruppo di disponibilità.
  • Un listener.

Nota

Questo metodo di distribuzione supporta SQL Server 2016 e versioni successive in Windows Server 2016 e versioni successive.

La distribuzione di un gruppo di disponibilità con più subnet tramite il portale offre un'esperienza end-to-end semplice per gli utenti. Configura le macchine virtuali seguendo le procedure consigliate per la disponibilità elevata e il ripristino di emergenza (HADR).

Anche se questo articolo usa il portale di Azure per configurare l'ambiente del gruppo di disponibilità, è anche possibile farlo manualmente.

Nota

È possibile trasferire in modalità lift-and-shift la soluzione del gruppo di disponibilità a SQL Server in macchine virtuali di Azure usando Azure Migrate. Per altre informazioni, vedere Eseguire la migrazione di un gruppo di disponibilità.

Prerequisiti

Per configurare un gruppo di disponibilità AlwaysOn usando il portale di Azure, è necessario disporre dei prerequisiti seguenti:

  • Una sottoscrizione di Azure

  • Un gruppo di risorse

  • Una rete virtuale con indirizzo IP del server DNS personalizzato configurato

  • Una macchina virtuale del controller di dominio nella stessa rete virtuale

  • Le autorizzazioni dell'account seguenti:

    • Un account utente di dominio con autorizzazioni Create Computer Object nel dominio. Questo utente creerà il cluster e il gruppo di disponibilità e installerà SQL Server.

      Ad esempio, un account utente di dominio (account@domain.com) in genere dispone di autorizzazioni sufficienti. Questo account deve anche fare parte del gruppo degli amministratori locali in ogni macchina virtuale per creare il cluster.

    • Un account del servizio SQL Server di dominio per controllare SQL Server. Deve essere lo stesso account per ogni macchina virtuale di SQL Server che si vuole aggiungere al gruppo di disponibilità.

Scegliere un'immagine di Azure Marketplace

Usare Azure Marketplace per scegliere una delle diverse immagini preconfigurate dalla raccolta. Esistono due punti di ingresso per avviare una distribuzione del gruppo di disponibilità nel portale di Azure:

La prima opzione consiste nel cercare "Disponibilità elevata di SQL Server" in Azure Marketplace e trovare il riquadro SQL Server con disponibilità elevata:

Screenshot of the Azure portal that shows the marketplace tile for SQL Server with High Availability.

Selezionare Crea nel riquadro per continuare.

La seconda opzione consiste nel passare ad Azure SQL nel portale di Azure. Se Azure SQL non è già presente nell'elenco dei menu, selezionare Tutti i servizi, digitare Azure SQL nella casella di ricerca e selezionare il risultato.

  1. Selezionare + Crea per aprire il riquadro Selezionare l'opzione Di distribuzione SQL.

  2. In Macchine virtuali SQL selezionare la casella di controllo Disponibilità elevata. Nella casella Immagine digitare la versione di SQL Server a cui si è interessati (ad esempio 2019) e quindi scegliere un'immagine di SQL Server (ad esempio licenza gratuita di SQL Server: SQL 2019 Developer in Windows Server 2019).

    Dopo aver selezionato la casella di controllo Disponibilità elevata, nel portale vengono visualizzate le versioni di SQL Server supportate, a partire da SQL Server 2016.

    Screenshot of the Azure portal that shows the page for selecting a SQL Server deployment option, with high availability selected.

  3. Seleziona Crea.

Scegliere le impostazioni di base

Nella scheda Informazioni di base selezionare la sottoscrizione e il gruppo di risorse. Specificare anche i dettagli per le istanze di SQL Server create per il gruppo di disponibilità.

  1. Negli elenchi a discesa scegliere la sottoscrizione e il gruppo di risorse che contiene il controller di dominio e dove si intende distribuire il gruppo di disponibilità.

    Screenshot of the Azure portal that shows boxes for specifying subscription and resource group.

  2. Usare il dispositivo di scorrimento per selezionare il numero di macchine virtuali da creare per il gruppo di disponibilità. Il valore minimo è 2 e il valore massimo è 9. I nomi delle macchine virtuali vengono prepopolato, ma è possibile modificarli selezionando Modifica nomi.

    Screenshot of the Azure portal that shows a slider for selecting the number of virtual machines, along with the option for editing names.

  3. In Area selezionare un'area. Tutte le macchine virtuali verranno distribuite nella stessa area.

  4. Per Opzioni di disponibilità selezionare Zona di disponibilità o Set di disponibilità. Per altre informazioni sulle opzioni di disponibilità, vedere Disponibilità. Quando si sceglie Zona di disponibilità, ogni macchina virtuale verrà assegnata a una zona nell'area, ma questa operazione può essere personalizzata in un secondo momento nelle opzioni Di rete .

  5. In Tipo di sicurezza selezionare Avvio standard o attendibile.

  6. Nell'elenco Immagine selezionare l'immagine con la versione di SQL Server e il sistema operativo desiderato. Usare l'elenco a discesa per modificare l'immagine da distribuire. Selezionare Configura generazione di macchine virtuali per scegliere la generazione di macchine virtuali. Se è stata selezionata l'opzione Avvio attendibile per tipo di sicurezza, la generazione della macchina virtuale deve essere gen 2.

  7. Selezionare Visualizza tutte le dimensioni per le dimensioni delle macchine virtuali. Tutte le macchine virtuali create avranno le stesse dimensioni. Per i carichi di lavoro di produzione, vedere le dimensioni e la configurazione consigliate del computer in Procedure consigliate per le prestazioni per SQL Server in macchine virtuali di Azure.

  8. In Account amministratore macchina virtuale specificare un nome utente e una password. La password deve avere almeno 12 caratteri e soddisfare i requisiti di complessità definiti. Questo account sarà l'amministratore della macchina virtuale.

  9. In Licenze è possibile abilitare Vantaggio Azure Hybrid per trasferire la licenza di Windows Server esistente in Azure. Questa opzione è disponibile solo se si è un cliente di Software Assurance.

    Selezionare se si vuole abilitare Vantaggio Azure Hybrid e quindi verificare di avere Software Assurance selezionando la casella di controllo. Questa opzione non è disponibile se è stata selezionata una delle immagini di SQL Server gratuite, ad esempio Developer Edition.

  10. In Licenza di SQL Server è possibile abilitare Vantaggio Azure Hybrid di usare la propria licenza di SQL Server e risparmiare sui costi di licenza. Questa opzione è disponibile solo se si è un cliente di Software Assurance.

    Selezionare se si vuole abilitare Vantaggio Azure Hybrid e quindi verificare di avere Software Assurance selezionando la casella di controllo. Questa opzione non è disponibile se è stata selezionata una delle immagini di SQL Server gratuite, ad esempio l'edizione per sviluppatori.

    Screenshot of the Azure portal that shows information about SQL Server licenses and Azure Hybrid Benefit.

  11. Al termine, selezionare Avanti: Rete.

Scegliere le impostazioni di rete

Nella scheda Rete configurare le opzioni di rete:

  1. Selezionare la rete virtuale dall'elenco a discesa. L'elenco viene prepopolato in base all'area e al gruppo di risorse scelto in precedenza nella scheda Informazioni di base. La rete virtuale selezionata deve contenere la macchina virtuale del controller di dominio.

    Attenzione

    Se il controller di dominio non esiste nella rete virtuale selezionata, la distribuzione avrà esito negativo.

  2. In Gruppo di sicurezza di rete della scheda di interfaccia di rete selezionare un gruppo di sicurezza di base o il gruppo di sicurezza avanzato. La scelta dell'opzione di base consente di selezionare le porte in ingresso per la macchina virtuale di SQL Server. Selezionando l'opzione avanzata, è possibile scegliere un gruppo di sicurezza di rete esistente o crearne uno nuovo.

  3. Configurare porte in ingresso pubbliche, se necessario, selezionando Consenti porte selezionate. Usare quindi l'elenco a discesa per selezionare le porte comuni consentite.

  4. Scegliere un tipo di SKU IP pubblico. Tutti i computer useranno questo tipo di indirizzo IP pubblico.

  5. Ogni macchina virtuale creata deve trovarsi nella propria subnet.

    In Crea subnet selezionare Gestisci configurazione subnet per aprire il riquadro Subnet per la rete virtuale. Creare quindi una subnet (+Subnet) per ogni macchina virtuale o verificare che una subnet sia disponibile per ogni macchina virtuale che si vuole creare per il gruppo di disponibilità.

    Al termine, usare la X per chiudere il riquadro di gestione della subnet e tornare alla pagina per la distribuzione del gruppo di disponibilità.

    Screenshot of the Azure portal that shows the subnet management pane for a virtual network.

  6. Usare gli elenchi a discesa per assegnare la subnet, l'indirizzo IP pubblico e l'indirizzo IP del listener a ogni macchina virtuale che si sta creando. Se si usa un'immagine di Windows Server 2016, è necessario assegnare anche l'indirizzo IP del cluster. Se è stata selezionata la zona di disponibilità nella scheda Informazioni di base come opzione di disponibilità, ogni macchina virtuale è stata assegnata a una zona diversa. Se necessario, riassegnare ogni macchina virtuale a una zona, ma si noti che le macchine virtuali non possono essere inserite nella stessa zona di disponibilità.

    Quando si assegna una subnet a una macchina virtuale, le caselle listener e cluster vengono precompilato con indirizzi IP disponibili. Posizionare il cursore nella casella se si vuole modificare l'indirizzo IP. Selezionare Crea nuovo se è necessario creare un nuovo indirizzo IP.

    Screenshot of the Azure portal that shows the page for configuring subnets and IP addresses.

  7. Se si vuole eliminare l'indirizzo IP pubblico e la scheda di interfaccia di rete appena creati quando si elimina la macchina virtuale, selezionare la casella di controllo.

  8. Selezionare Avanti: WSFC e Credenziali.

Scegliere le impostazioni del cluster di failover

Nella scheda WSFC e Credenziali specificare le informazioni sull'account per configurare e gestire il cluster di failover di Windows Server e SQL Server.

Attenzione

Per il funzionamento della distribuzione, tutti gli account devono essere già presenti in Active Directory per la macchina virtuale del controller di dominio. Questo processo di distribuzione non crea account e avrà esito negativo se si specifica un account non valido. Per altre informazioni sulle autorizzazioni necessarie, vedere Configurare gli account del cluster in Active Directory.

  1. In Dettagli cluster di failover di Windows Server specificare il nome che si vuole usare per il cluster di failover.

  2. Nell'elenco a discesa selezionare l'account di archiviazione da usare per il cloud di controllo. Se non esiste, selezionare Crea un nuovo account di archiviazione.

  3. In Windows Dominio di Active Directory dettagli:

    • Per Nome utente aggiunta a un dominio e Password di aggiunta al dominio immettere le credenziali per l'account che crea il nome del cluster di failover di Windows Server in Active Directory e aggiunge le macchine virtuali al dominio. Questo account deve disporre delle autorizzazioni Crea oggetti computer.

    • Per FQDN di dominio completo immettere un nome di dominio completo, ad esempio contoso.com.

    Screenshot of the Azure portal that shows Windows Active Directory domain details.

  4. In Dettagli di SQL Server specificare i dettagli dell'account per il servizio SQL Server. Sono disponibili diverse opzioni tra cui scegliere:

    a. Usare lo stesso account aggiunto al dominio che crea il cluster e aggiunge le macchine virtuali al dominio scegliendo Uguale all'account di aggiunta al dominio. Questo è lo stesso account di quello precedente.

    b. Selezionando Account del servizio gestito di gruppo (GMSA) verranno installati tutti gli strumenti e i servizi necessari nelle macchine virtuali create, tra cui l'installazione dello strumento ADDS, l'aggiunta delle macchine virtuali al gruppo di sicurezza GMSA e l'installazione del servizio GMSA. Affinché la distribuzione di GMSA abbia esito positivo, l'utente aggiunto al dominio deve disporre almeno dell'autorizzazione di scrittura per il gruppo GMSA AD.

    c. In alternativa, è possibile selezionare Personalizzato e specificare dettagli di account diversi da usare con l'account del servizio SQL Server.

    Screenshot of the Azure portal that shows information about a SQL Server service account.

  5. Selezionare Avanti: Dischi.

Scegliere le impostazioni del disco

Nella scheda Dischi configurare le opzioni del disco sia per le macchine virtuali che per la configurazione di archiviazione di SQL Server:

  1. In Tipo di disco del sistema operativo selezionare il tipo di disco desiderato per il sistema operativo. È consigliabile usare Premium per i sistemi di produzione, ma non è disponibile per una macchina virtuale Basic. Per usare un'unità SSD Premium, modificare le dimensioni della macchina virtuale.

  2. Selezionare un valore tipo di crittografia per i dischi.

  3. In Archiviazione configurazione selezionare Modifica configurazione per aprire il riquadro Configura archiviazione e specificare i requisiti di archiviazione. È possibile scegliere di lasciare i valori predefiniti oppure modificare manualmente la topologia di archiviazione in base alle esigenze per le operazioni di input/output al secondo (IOPS). Per altre informazioni, vedere Configurare l'archiviazione per le macchine virtuali di SQL Server.

    Screenshot of the Azure portal that shows the current storage configuration and the button for changing the configuration.

  4. In Archiviazione dati scegliere il percorso per l'unità dati, il tipo di disco e il numero di dischi. È anche possibile selezionare la casella di controllo per archiviare i database di sistema nell'unità dati anziché nell'unità C locale.

    Screenshot of the Azure portal that shows configuration settings for data storage.

  5. In Archiviazione log è possibile scegliere di usare la stessa unità dell'unità dati per i file di log delle transazioni oppure selezionare un'unità separata dall'elenco a discesa. È anche possibile scegliere il nome dell'unità, il tipo di disco e il numero di dischi.

    Screenshot of the Azure portal that shows configuration settings for log storage.

  6. In Archiviazione TempDb configurare le impostazioni del tempdb database. Le scelte includono il percorso dei file di database, il numero di file, le dimensioni iniziali e l'aumento automatico in megabyte.

    Attualmente, durante la distribuzione, il numero massimo di tempdb file è otto. È tuttavia possibile aggiungere altri file dopo la distribuzione della macchina virtuale di SQL Server.

    Screenshot of the Azure portal that shows configuration settings for tempdb storage.

  7. Selezionare OK per salvare le impostazioni di configurazione dell'archiviazione.

  8. Selezionare Avanti: impostazioni di SQL Server.

Scegliere le impostazioni di SQL Server

Nella scheda Impostazioni di SQL Server configurare impostazioni e ottimizzazioni specifiche per SQL Server e il gruppo di disponibilità:

  1. In Dettagli del gruppo di disponibilità:

    1. Specificare il nome del gruppo di disponibilità e del listener.

    2. Selezionare il ruolo Primario o Secondario per ogni macchina virtuale da creare.

    3. Scegliere le impostazioni del gruppo di disponibilità più adatte alle esigenze aziendali.

    Screenshot of the Azure portal that shows availability group details.

  2. In Sicurezza e rete selezionare Connettività SQL per accedere all'istanza di SQL Server nelle macchine virtuali. Per altre informazioni sulle opzioni di connettività, vedere Connessione ivity.

  3. Se è necessaria l'autenticazione di SQL Server, selezionare Abilita in Autenticazione di SQL Server e specificare il nome e la password di accesso. Queste credenziali verranno usate in tutte le macchine virtuali da distribuire. Per altre informazioni sulle opzioni di autenticazione, vedere Autenticazione.

  4. Per l'integrazione di Azure Key Vault, selezionare Abilita se si vuole usare Azure Key Vault per archiviare i segreti di sicurezza per la crittografia. Compilare quindi le informazioni richieste. Per altre informazioni, vedere Integrazione di Azure Key Vault.

  5. Selezionare Modifica impostazioni istanza SQL per modificare le opzioni di configurazione di SQL Server. Queste opzioni includono regole di confronto del server, massimo grado di parallelismo (MAXDOP), memoria minima e massima e se si vuole ottimizzare per carichi di lavoro ad hoc.

    Screenshot of the Azure portal that shows SQL Server instance settings and the button for changing them.

Scegliere la convalida dei prerequisiti

Affinché la distribuzione venga completata correttamente, sono necessari diversi prerequisiti . Per rendere più semplice verificare che tutte le autorizzazioni e i requisiti siano corretti, usare lo script dei prerequisiti di PowerShell disponibile per il download in questa scheda.

Lo script verrà prepopolato con i valori specificati nei passaggi precedenti. Eseguire lo script di PowerShell come utente di dominio nella macchina virtuale controller di dominio o in una macchina virtuale Windows Server aggiunta a un dominio.

Dopo aver eseguito lo script e aver convalidato i prerequisiti, selezionare la casella di controllo di conferma.

Screenshot of the Azure portal that shows the prerequisites validation tab.

  1. Selezionare Rivedi e crea.

  2. Nella scheda Rivedi e crea esaminare il riepilogo. Selezionare quindi Crea per creare SQL Server, cluster di failover, gruppo di disponibilità e listener.

    Se necessario, è possibile selezionare Scarica un modello per l'automazione.

È possibile monitorare la distribuzione dal portale di Azure. Il pulsante Notifiche nella parte superiore della schermata mostra lo stato di base della distribuzione.

Al termine della distribuzione, è possibile passare alla risorsa macchine virtuali SQL nel portale. In Impostazioni selezionare Disponibilità elevata per monitorare l'integrità del gruppo di disponibilità. Selezionare la freccia accanto al nome del gruppo di disponibilità per visualizzare un elenco di tutte le repliche.

Screenshot of the Azure portal that shows the health of an availability group, which is currently not healthy.

Nota

Integrità sincronizzazione nella pagina Disponibilità elevata del portale di Azure mostra Non integro finché non si aggiungono database al gruppo di disponibilità.

Aggiungere database al gruppo di disponibilità

Aggiungere database al gruppo di disponibilità al termine della distribuzione. I passaggi seguenti usano SQL Server Management Studio, ma è anche possibile usare Transact-SQL o PowerShell.

  1. Connessione a una delle macchine virtuali di SQL Server usando il metodo preferito, ad esempio una connessione Desktop remoto (RDP). Usare un account di dominio membro del ruolo predefinito del server sysadmin in tutte le istanze di SQL Server.

  2. Aprire SQL Server Management Studio.

  3. Connessione all'istanza di SQL Server.

  4. In Esplora oggetti espandere Disponibilità elevata Always On.

  5. Espandere Gruppi di disponibilità, fare clic con il pulsante destro del mouse sul gruppo di disponibilità e quindi scegliere Aggiungi database.

    Screenshot of SQL Server Management Studio that shows selections for adding a database to an availability group.

  6. Seguire le istruzioni per selezionare il database da aggiungere al gruppo di disponibilità.

  7. Selezionare OK per salvare le impostazioni e aggiungere il database.

  8. Aggiornare Esplora oggetti per confermare lo stato del database come synchronized.

Dopo aver aggiunto i database, è possibile controllare il gruppo di disponibilità nel portale di Azure e verificare che lo stato sia Integro.

Screenshot of the Azure portal that shows the health of the availability group, which is currently healthy.

Modificare il gruppo di disponibilità

Dopo aver distribuito il gruppo di disponibilità tramite il portale, è necessario eseguire manualmente tutte le modifiche apportate al gruppo di disponibilità. Se si vuole rimuovere una replica, è possibile farlo tramite SQL Server Management Studio o Transact-SQL e quindi eliminare la macchina virtuale tramite il portale di Azure. Se si vuole aggiungere una replica, è necessario distribuire manualmente la macchina virtuale nel gruppo di risorse, aggiungerla al dominio e aggiungere la replica come normalmente avviene in un ambiente locale tradizionale.

Rimuovere un cluster

È possibile rimuovere un cluster usando la versione più recente dell'interfaccia della riga di comando di Azure o PowerShell.

Rimuovere prima di tutto tutte le macchine virtuali di SQL Server dal cluster:

# Remove the VM from the cluster metadata
# example: az sql vm remove-from-group --name SQLVM2 --resource-group SQLVM-RG

az sql vm remove-from-group --name <VM1 name>  --resource-group <resource group name>
az sql vm remove-from-group --name <VM2 name>  --resource-group <resource group name>

Se le macchine virtuali di SQL Server rimosse erano le uniche macchine virtuali nel cluster, il cluster verrà eliminato definitivamente. Se nel cluster rimangono altre macchine virtuali, tali macchine virtuali non verranno rimosse e il cluster non verrà eliminato definitivamente.

Rimuovere quindi i metadati del cluster dall'estensione SQL IaaS Agent:

# Remove the cluster from the SQL VM RP metadata
# example: az sql vm group delete --name Cluster --resource-group SQLVM-RG

az sql vm group delete --name <cluster name> --resource-group <resource group name>

Risoluzione dei problemi

Se si verificano problemi, è possibile controllare la cronologia della distribuzione e quindi esaminare gli errori comuni e le relative risoluzioni.

Le modifiche apportate al cluster e al gruppo di disponibilità tramite il portale vengono eseguite tramite le distribuzioni. La cronologia della distribuzione può fornire maggiori dettagli se si verificano problemi con la creazione o l'onboarding del cluster o la creazione del gruppo di disponibilità.

Per visualizzare i log per la distribuzione e controllare la cronologia di distribuzione:

  1. Accedere al portale di Azure.

  2. Passare al gruppo di risorse in uso.

  3. In Impostazioni selezionare Distribuzioni.

  4. Selezionare la distribuzione di interesse per altre informazioni.

    Screenshot of the Azure portal that shows a failed availability group deployment in a list of deployments.

Se la distribuzione non riesce e si vuole ridistribuire usando il portale, è necessario pulire manualmente le risorse perché la distribuzione tramite il portale non è idempotente (ripetibile). Queste attività di pulizia includono l'eliminazione di macchine virtuali e la rimozione di voci in Active Directory e/o DNS. Tuttavia, se si usa il portale di Azure per creare un modello per distribuire il gruppo di disponibilità e quindi usare il modello per l'automazione, la pulizia delle risorse non è necessaria perché il modello è idempotente.

Passaggi successivi

Dopo aver distribuito il gruppo di disponibilità, prendere in considerazione l'ottimizzazione delle impostazioni HADR per SQL Server in macchine virtuali di Azure.

Per altre informazioni, vedere: