Creare un'istanza del cluster di failover concondivisione di file premium (SQL Server in una VM di Azure)

Si applica a:SQL Server su macchine virtuali di Azure

Suggerimento

Esistono molti metodi per distribuire un gruppo di disponibilità. Semplificare la distribuzione ed eliminare la necessità di un servizio di Azure Load Balancer 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 illustra come creare un'istanza del cluster di failover di SQL Server nelle macchine virtuali di Azure tramite una condivisione file Premium.

Le condivisioni file Premium sono condivisioni di file a bassa latenza costante basate su unità SSD completamente supportate per l'uso con le istanze del cluster di failover per SQL Server 2012 o versioni successive in Windows Server 2012 o versioni successive. Le condivisioni file Premium offrono maggiore flessibilità, consentendo di ridimensionare una condivisione file senza tempi di inattività.

Per ulteriori informazioni, vedere le informazioni generali dell'istanza del cluster di failover con SQL Server in VM di Azure e procedure consigliate per il cluster.

Nota

È ora possibile trasferire in modalità lift-and-shift la soluzione dell'istanza del cluster di failover a SQL Server in VM di Azure usando Azure Migrate. Per ulteriori informazioni, vedere Eseguire la migrazione dell'istanza del cluster di failover.

Prerequisiti

Prima di completare la procedura di istruzioni descritta in questo articolo, sono necessari:

Montare la condivisione file Premium

Per montare la condivisione file Premium, seguire questi passaggi:

  1. Accedere al portale di Azure e passare all'account di archiviazione.

  2. Passare a Condivisioni file in Archiviazione dati e selezionare la condivisione file Premium da usare per l'archiviazione SQL.

  3. Selezionare Connetti per visualizzare la stringa di connessione per la condivisione file.

  4. Nell'elenco a discesa selezionare la lettera di unità da usare, scegliere Chiave archiviazione dell'account come metodo di autenticazione e quindi copiare il blocco di codice in un editor di testo, ad esempio Blocco note.

    Screenshot showing how to copy the PowerShell command from the file share connect portal.

  5. Usare Remote Desktop Protocol (RDP) per connettersi alla macchina virtuale di SQL Server con l'account usato dall'istanza del cluster di failover di SQL Server per l'account del servizio.

  6. Aprire una console di comandi di PowerShell come amministratore.

  7. Eseguire il comando copiato in precedenza nell'editor di testo dal portale di condivisione file.

  8. Passare alla condivisione usando Esplora file o la finestra di dialogo Esegui (tasto Windows + R sulla tastiera). Usare il percorso di rete \\storageaccountname.file.core.windows.net\filesharename. Ad esempio, \\sqlvmstorageaccount.file.core.windows.net\sqlpremiumfileshare

  9. Creare almeno una cartella nella condivisione file appena collegata in cui inserire i file di dati SQL.

  10. Ripetere questi passaggi in ogni macchina virtuale di SQL Server che parteciperà al cluster.

Importante

È possibile usare una condivisione file separata per i file di backup per salvare le capacità in termini di operazioni di input/output al secondo e di spazio di questa condivisione per i file di dati e di log. È possibile usare una condivisione file Premium o Standard per i file di backup.

Creare un cluster di failover Windows

I passaggi per creare il cluster di failover di Windows Server variano a seconda che le VM di SQL Server siano state distribuite in una singola subnet o in più subnet. Per creare il cluster, seguire i passaggi descritti nell'esercitazione per uno scenario su più subnet o per uno scenario con una singola subnet. Anche se queste esercitazioni riguardano la creazione di un gruppo di disponibilità, i passaggi per creare il cluster sono gli stessi.

Configurare il quorum

Il cloud di controllo è la soluzione quorum consigliata per questo tipo di configurazione del cluster per SQL Server in macchine virtuali di Azure.

Se si dispone di un numero pari di votazioni nel cluster, configurare la soluzione quorum più adatta alle proprie esigenze aziendali. Per altre informazioni, vedere Quorum con VM di SQL Server.

Convalidare cluster

Convalidare il cluster in una delle macchine virtuali usando l'interfaccia utente di Gestione cluster di failover o PowerShell.

Per convalidare il cluster usando l'interfaccia utente, seguire questa procedura in una delle macchine virtuali:

  1. In Server Manager selezionare Strumenti e quindi selezionare Gestione cluster di failover.

  2. In Gestione cluster di failover selezionare Azione e quindi selezionare Convalida configurazione.

  3. Selezionare Avanti.

  4. In Selezione di server o di un cluster immettere i nomi di entrambe le macchine virtuali.

  5. In Opzioni di testing selezionare Esegui solo test selezionati.

  6. Selezionare Avanti.

  7. In Selezione dei test selezionare tutti i test tranne Archiviazione e Spazi di archiviazione diretta, come illustrato di seguito:

    Screenshot showing how to select cluster validation tests.

  8. Selezionare Avanti.

  9. In Conferma selezionare Avanti. La procedura guidata di Convalida configurazione eseguirà i test di convalida.

Per convalidare il cluster usando PowerShell, eseguire lo script seguente da una sessione di PowerShell in modalità amministratore in una delle macchine virtuali:

Test-Cluster –Node ("<node1>","<node2>") –Include "Inventory", "Network", "System Configuration"

testare il failover del cluster

Testare il failover del cluster. In Gestione cluster di failover, fare clic con il pulsante destro del mouse sul cluster e selezionare Altre azioni>Sposta risorse principali del cluster>Seleziona nodo, quindi selezionare l'altro nodo del cluster. Spostare le risorse principali del cluster in ogni nodo del cluster, quindi spostarle di nuovo nel nodo primario. Se lo spostamento del cluster in ogni nodo avviene in modo corretto, è possibile installare SQL Server.

Screenshot showing how to test cluster failover by moving the core resource to the other nodes.

Creare l'istanza del cluster di failover di SQL Server

Dopo aver configurato il cluster di failover, è possibile creare l'istanza del cluster di failover di SQL Server.

  1. Connettersi alla prima macchina virtuale con RDP.

  2. In Gestione cluster di failover, verificare che tutte le principali risorse cluster si trovino nella prima macchina virtuale. Se necessario, spostare tutte le risorse in questa macchina virtuale.

  3. Se la versione del sistema operativo è Windows Server 2019 e il cluster Windows è stato creato usando il nome di rete distribuito predefinito (DNN) predefinito, l'installazione dell'istanza del cluster di failover per SQL Server 2017 e versioni precedenti avrà esito negativo con errore The given key was not present in the dictionary.

    Durante l'installazione, la configurazione di SQL Server esegue una query per il nome del Rete virtuale esistente (VNN) e non riconosce il DNN del cluster Windows. Il problema è stato risolto nella configurazione di SQL Server 2019. Per SQL Server 2017 e versioni precedenti, seguire questi passaggi per evitare errori di installazione:

    • In Gestione cluster di failover, connettersi al cluster, fare clic con il pulsante destro del mouse su Ruoli e quindi selezionare Creazione ruolo vuoto.
    • Fare clic con il pulsante destro del mouse sul ruolo vuoto appena creato, selezionare Aggiungere risorsa e selezionare Punto di accesso client.
    • Immettere qualsiasi nome e completare la procedura guidata per creare il punto di accesso client.
    • Al termine dell'installazione dell'istanza del cluster di failover di SQL Server, è possibile eliminare il ruolo contenente il punto di accesso client temporaneo.
  4. Individuare i supporti di installazione. Se la macchina virtuale usa una delle immagini di Azure Marketplace, i supporti si trovano in C:\SQLServer_<version number>_Full.

  5. Selezionare Impostazione.

  6. Nel Centro installazione SQL Server selezionare Installazione.

  7. Selezionare Nuova installazione del cluster di failover di SQL Server e quindi seguire le istruzioni della procedura guidata per installare l'istanza del cluster di failover di SQL Server.

  8. Nella pagina Configurazione della rete cluster l'indirizzo IP specificato varia a seconda che le VM di SQL Server siano state distribuite in una singola subnet o su più subnet.

    1. Per un singolo ambiente subnet, specificare l'indirizzo IP che si prevede di aggiungere ad Azure Load Balancer
    2. Per un ambiente con più subnet, specificare l'indirizzo IP secondario nella subnet della prima VM di SQL Server designata in precedenza come indirizzo IP del nome di rete dell'istanza del cluster di failover:

    Screenshot of the secondary IP address in the subnet of the first VM.

  9. In motore di database Configurazione, le directory dati devono trovarsi nella condivisione file Premium. Immettere il percorso completo della condivisione in questo formato: \\storageaccountname.file.core.windows.net\filesharename\foldername. Verrà visualizzato un avviso che informa che è stato specificato un file server come directory di dati. Si tratta di un comportamento previsto. Per evitare possibili errori, assicurarsi che l'account utente con cui si è eseguita la connessione tramite RDP nella macchina virtuale quando è stata resa permanente la condivisione file sia lo stesso account usato dal servizio SQL Server.

    Screenshot showing to use file share as SQL data directories.

  10. Dopo aver completato i passaggi della procedura guidata, verrà installata un'istanza del cluster di failover di SQL Server nel primo nodo.

  11. Al termine dell'installazione dell'istanza del cluster di failover nel primo nodo, connettersi al secondo nodo usando RDP.

  12. Aprire il Centro installazione SQL Server e selezionare Installazione.

  13. Selezionare Aggiungi nodo a cluster di failover di SQL Server. Seguire le istruzioni della procedura guidata per installare SQL Server e aggiungere il nodo all'istanza del cluster di failover.

  14. Per uno scenario su più subnet, in Configurazione della rete cluster, immettere l'indirizzo IP secondario nella subnet della seconda macchina virtuale di SQL Server designata in precedenza come indirizzo IP del nome di rete dell'istanza del cluster di failover

    Screenshot entering the secondary IP address in the subnet of the second SQL Server VM subnet.

    Dopo aver selezionato Avanti in Configurazione della rete cluster, il programma di configurazione mostra una finestra di dialogo che indica che il programma di installazione di SQL Server ha rilevato più subnet come nell'immagine di esempio. Seleziona per confermare.

    Screenshot showing multi subnet confirmation.

  15. Dopo aver completato le istruzioni della procedura guidata, il programma di configurazione aggiungerà il secondo nodo dell'istanza del cluster di failover di SQL Server.

  16. Ripetere questi passaggi in tutti gli altri nodi da aggiungere all'istanza del cluster di failover di SQL Server.

Nota

Le immagini della raccolta di Azure Marketplace sono installate con SQL Server Management Studio. Se non è stata usata un'immagine del marketplace eseguire il download di SQL Server Management Studio (SSMS).

Eseguire la registrazione con l'estensione SQL IaaS Agent

Per gestire la VM di SQL Server dal portale, registrarla con l'estensione SQL IaaS Agent. Si noti che solo le funzionalità limitate saranno disponibili nelle macchine virtuali di SQL con istanze del cluster di failover di SQL Server (FCI).

Se la VM di SQL Server è già stata registrata con l'estensione SQL IaaS Agent ed è stata abilitata qualsiasi funzionalità che richiede l'agente, sarà necessario annullare la registrazione della VM di SQL Server dall'estensione e registrarla nuovamente dopo l'installazione dell'istanza del cluster di failover.

Registrare una VM di SQL Server con PowerShell (-LicenseType può essere PAYG o AHUB):

# Get the existing compute VM
$vm = Get-AzVM -Name <vm_name> -ResourceGroupName <resource_group_name>

# Register SQL VM with SQL IaaS Agent extension
New-AzSqlVM -Name $vm.Name -ResourceGroupName $vm.ResourceGroupName -Location $vm.Location `
   -LicenseType <license_type>

Configurare la connettività

Se le VM di SQL Server sono state distribuite in più subnet, ignorare questo passaggio. Se le macchine virtuali di SQL Server sono state distribuite in una singola subnet, sarà necessario configurare un componente aggiuntivo per instradare il traffico all'istanza del cluster di failover. È possibile configurare un nome di rete virtuale (VNN) con azure Load Balancer o un nome di rete distribuito per un'istanza del cluster di failover. Revisionare le differenze tra i due e quindi distribuire un nome di rete distribuita o un nome di rete virtuale e Azure Load Balancer per l'istanza del cluster di failover.

Limiti

  • Microsoft Distributed Transaction Coordinator (MSDTC) non è supportato in Windows Server 2016 e versioni precedenti.
  • FILESTREAM non è supportato per un cluster di failover con una condivisione file Premium. Per usare Filestream, distribuire il cluster usando Spazi di archiviazione diretta o Dischi condivisi di Azure
  • Le istanze del cluster di failover di SQL Server registrate con l'estensione non supportano funzionalità che richiedono l'agente, ad esempio il backup automatizzato, l'applicazione di patch e la gestione avanzata del portale. Vedere la tabella dei vantaggi.
  • Gli snapshot del database non sono attualmente supportati con File di Azure a causa di limitazioni dei file di tipo sparse.
  • Poiché gli snapshot del database non sono supportati, CHECKDB per i database utente esegue il fallback a CHECKDB WITH TABLOCK. TABLOCK limita i controlli eseguiti. DBCC CHECKCATALOG non viene eseguito sul database e i dati di Service Broker non vengono convalidati.
  • DBCC CHECKDB in master e msdb il database non è supportato.
  • I database che usano la funzionalità OLTP in memoria non sono supportati in un'istanza del cluster di failover distribuita con una condivisione file Premium. Se l'azienda richiede OLTP in memoria, è consigliabile distribuire l'istanza del cluster di failover con dischi condivisi di Azure o Spazi di archiviazione diretta.

Supporto limitato delle estensioni

Al momento le istanze del cluster di failover di SQL Server nelle macchine virtuali di Azure registrate con l'estensione SQL IaaS Agent supportano solo un numero limitato di funzionalità. Vedere la tabella dei vantaggi.

Se la macchina virtuale di SQL Server è già stata registrata con l'estensione SQL IaaS Agent ed è stata abilitata qualsiasi funzionalità che richiede l'agente, è necessario annullare la registrazione dall'estensione eliminando la risorsa macchina virtuale SQL per le macchine virtuali corrispondenti e quindi registrarla nuovamente con l'estensione SQL IaaS Agent. Per eliminare la risorsa Macchina virtuale SQL tramite il portale di Azure, deselezionare la casella di controllo accanto alla macchina virtuale corretta per evitare di eliminare quest'ultima.