Preparare macchine virtuali per un'istanza del cluster di failover (Server SQL in Macchine virtuali di Azure)

Si applica a: SQL Server su VM di Azure

Questo articolo descrive come preparare le macchine virtuali di Azure per usarle con un'istanza del cluster di failover di SQL Server. Le impostazioni di configurazione variano a seconda della soluzione di archiviazione dell'istanza del cluster di failover, quindi verificare di scegliere la configurazione corretta in base all'ambiente e all'azienda.

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

  • Una sottoscrizione di Microsoft Azure. Inizia con un account di Azure gratuito.
  • Un dominio Windows in macchine virtuali di Azure o un'istanza di Active Directory locale estesa ad Azure con associazione di reti virtuali.
  • Un account con autorizzazioni per creare oggetti sia nelle macchine virtuali di Azure che in Active Directory.
  • Una rete virtuale di Azure e una o più subnet con uno spazio indirizzi IP sufficiente per questi componenti:
    • Entrambe le macchine virtuali
    • Un indirizzo IP per il cluster di failover di Windows
    • Un indirizzo IP per ogni istanza del cluster di failover
  • DNS configurato nella rete di Azure, che punta ai controller di dominio.

Scegliere un'opzione di archiviazione dell'istanza del cluster di failover

Le impostazioni di configurazione per la macchina virtuale variano a seconda dell'opzione di archiviazione che si prevede di usare per l'istanza del cluster di failover di SQL Server. Prima di preparare la macchina virtuale, esaminare le opzioni di archiviazione dell'istanza del cluster di failover disponibili e scegliere l'opzione più adatta all'ambiente e alle esigenze aziendali. Selezionare quindi attentamente le opzioni di configurazione della macchina virtuale appropriate in questo articolo in base alla selezione dell'archiviazione.

Scegliere la disponibilità della macchina virtuale

La funzionalità cluster di failover richiede che le macchine virtuali vengano inserite in un set di disponibilità o in una zona di disponibilità.

Selezionare attentamente l'opzione di disponibilità della macchina virtuale corrispondente alla configurazione del cluster desiderata:

  • Dischi condivisi di Azure: l'opzione di disponibilità varia se si usano unità SSD Premium o UltraDisk:
    • Archiviazione con ridondanza della zona SSD Premium: zona di disponibilità in zone diverse. L'archiviazione con ridondanza della zona SSD Premium replica in modo sincrono il disco gestito di Azure in tre zone di disponibilità di Azure nell'area selezionata. Le macchine virtuali che fanno parte del cluster di failover possono essere inserite in zone di disponibilità diverse, consentendo di ottenere un'istanza del cluster di failover di SQL Server con ridondanza della zona che fornisce un contratto di servizio di disponibilità della macchina virtuale del 99,99%. La latenza del disco per l'archiviazione con ridondanza della zona è maggiore a causa della copia interarea dei dati.
    • Premium SSD Con ridondanza locale Archiviazione (LRS): set di disponibilità in domini di errore/aggiornamento diversi per l'archiviazione con ridondanza locale di SSD Premium. È anche possibile scegliere di posizionare le macchine virtuali all'interno di un gruppo di posizionamento di prossimità per individuarle più vicine tra loro. La combinazione del set di disponibilità e del gruppo di posizionamento di prossimità offre la latenza più bassa per i dischi condivisi man mano che i dati vengono replicati localmente all'interno di un data center e fornisce il contratto di servizio di disponibilità della macchina virtuale del 99,95%.
    • Archiviazione con ridondanza locale su disco Ultra: zona di disponibilità, ma le macchine virtuali devono trovarsi nella stessa zona di disponibilità. I dischi Ultra offrono la latenza del disco più bassa ed è ideale per carichi di lavoro con utilizzo intensivo di I/O. Poiché tutte le macchine virtuali che fanno parte dell'istanza del cluster di failover si trovano nella stessa zona di disponibilità, la disponibilità della macchina virtuale è solo del 99,9%.
  • Condivisioni di file Premium: set di disponibilità o zona di disponibilità.
  • Spazi di archiviazione diretta: set di disponibilità.
  • SAN di Elastic in Azure: zone di disponibilità.

Importante

Non è possibile impostare o modificare il set di disponibilità dopo aver creato una macchina virtuale.

Subnet

Per SQL Server in macchine virtuali di Azure, è possibile distribuire le macchine virtuali di SQL Server in una singola subnet o in più subnet.

La distribuzione delle macchine virtuali in più subnet sfrutta la dipendenza del cluster OR per gli indirizzi IP e corrisponde all'esperienza locale durante la connessione all'istanza del cluster di failover. L'approccio con più subnet è consigliato per SQL Server su macchine virtuali di Azure per una gestione più semplice e tempi di failover più rapidi.

La distribuzione delle macchine virtuali in una singola subnet richiede una dipendenza aggiuntiva da un servizio di bilanciamento del carico di Azure o da un nome di rete distribuito (DNN) per instradare il traffico all'istanza del cluster di failover.

Se si distribuiscono le macchine virtuali di SQL Server in più subnet, seguire la procedura descritta in questa sezione per creare le reti virtuali con subnet aggiuntive e quindi dopo aver creato le macchine virtuali di SQL Server, assegnare indirizzi IP secondari all'interno di tali subnet alle macchine virtuali. La distribuzione delle macchine virtuali di SQL Server in una singola subnet non richiede alcuna configurazione di rete aggiuntiva.

Posizionare sia le macchine virtuali in una subnet singola con spazio indirizzi IP sufficiente per entrambe le macchine virtuali e tutte le istanze del cluster di failover che si potrebbero usare nel cluster. Questo approccio richiede un componente aggiuntivo per instradare le connessioni all'istanza del cluster di failover, ad esempio un servizio di bilanciamento del carico di Azure o un nome di rete distribuita.

Se si sceglie di distribuire le macchine virtuali di SQL Server in una singola subnet, esaminare le differenze tra le opzioni di connettività di Azure Load Balancer e DNN e decidere quale opzione è più adatta prima di preparare il resto dell'ambiente per l'istanza del cluster di failover.

La distribuzione delle macchine virtuali di SQL Server in una singola subnet non richiede alcuna configurazione di rete aggiuntiva.

Configurare DNS

Configurare la rete virtuale per l'utilizzo del server DNS. Identificare prima di tutto l'indirizzo IP DNS e quindi aggiungerlo alla rete virtuale.

Identificare l'indirizzo IP DNS

Identificare l'indirizzo IP del server DNS e quindi aggiungerlo alla configurazione della rete virtuale. Questa sezione illustra come identificare l'indirizzo IP DNS se il server DNS si trova in una macchina virtuale in Azure.

Per identificare l'indirizzo IP della macchina virtuale del server DNS nella portale di Azure, seguire questa procedura:

  1. Nel portale di Azure, passare al gruppo di risorse di SQL Server e selezionare la macchina virtuale del server DNS.
  2. Nella pagina DC-VM-1, scegliere Rete nel riquadro Impostazioni.
  3. Si noti l'indirizzo IP privato della scheda di interfaccia di rete, in quanto si tratta dell'indirizzo IP del server DNS. Nell'immagine d'esempio, l'indirizzo IP privato è 10.38.0.4.

Nella pagina DC-VM-1 scegliere Rete nel riquadro Impostazioni e quindi prendere nota dell'indirizzo IP privato della scheda di interfaccia di rete. Usare questo indirizzo IP come server DNS.

Configurare il DNS della rete virtuale

Configurare la rete virtuale affinché usi l'indirizzo IP del server DNS.

Seguire questa procedura per configurare la rete virtuale per DNS:

  1. Nel portale di Azure passare al gruppo di risorse e selezionare la rete virtuale.
  2. Selezionare Server DNS nel riquadro Impostazioni e quindi selezionare Personalizza.
  3. Immettere l'indirizzo IP privato identificato in precedenza nel campo Indirizzo IP, ad esempio 10.38.0.4, o specificare l'indirizzo IP interno del server DNS interno.
  4. Seleziona Salva.

Screenshot che mostra i server DNS selezionati in Impostazioni nel portale di Azure.

Creare le macchine virtuali

Dopo aver configurato la rete virtuale vm e aver scelto la disponibilità delle macchine virtuali, si è pronti per creare le macchine virtuali. È possibile scegliere di usare un'immagine di Azure Marketplace che esegue o non è già installato SQL Server. Tuttavia, se si sceglie un'immagine per SQL Server in macchine virtuali di Azure, è necessario disinstallare SQL Server dalla macchina virtuale prima di configurare l'istanza del cluster di failover.

Nota

Assicurarsi di controllare la versione di SQL Server supportata per l'opzione di archiviazione dell'istanza del cluster di failover scelta prima di distribuire le macchine virtuali di SQL Server.

Considerazioni sull'interfaccia utente

In un cluster di failover di macchine virtuali di Azure è consigliabile usare una sola scheda di rete per ogni server (nodo del cluster). La ridondanza fisica della rete di Azure rende superfluo l'uso di altre schede di rete in un cluster guest di macchine virtuali IaaS di Azure. Anche se il report di convalida del cluster avviserà che i nodi sono raggiungibili solo in una rete, tale avviso potrà essere tranquillamente ignorato per i cluster di failover guest delle macchine virtuali IaaS di Azure.

Inserire entrambe le macchine virtuali:

  • Nello stesso gruppo di risorse di Azure del set di disponibilità se si stanno usando set di disponibilità.
  • Nella stessa rete virtuale del controller di dominio e del server DNS o in una rete virtuale con connettività adatta al controller di dominio.
  • Nei set di disponibilità o in una zona di disponibilità di Azure.

È possibile creare una macchina virtuale di Azure usando un'immagine con o senza SQL Server preinstallata. Se si sceglie l'immagine di SQL Server, è necessario disinstallare manualmente l'istanza di SQL Server prima di installare l'istanza del cluster di failover.

Assegnare indirizzi IP secondari

Se le VM di SQL Server sono state distribuite in una subnet singola, ignorare questo passaggio.

Se le macchine virtuali di SQL Server sono state distribuite in più subnet per migliorare la connettività all'istanza del cluster di failover, è necessario assegnare gli indirizzi IP secondari a ogni macchina virtuale.

Assegnare indirizzi IP secondari a ogni macchina virtuale di SQL Server da usare per il nome di rete dell'istanza del cluster di failover e per Windows Server 2016 e versioni precedenti, assegnare indirizzi IP secondari a ogni macchina virtuale di SQL Server anche per il nome della rete del cluster. In questo modo si nega la necessità di Azure Load Balancer, come è il requisito in un singolo ambiente subnet.

In Windows Server 2016 e versioni precedenti è necessario assegnare un indirizzo IP secondario aggiuntivo a ogni macchina virtuale di SQL Server da usare per l'IP del cluster windows, perché il cluster usa il nome di rete del cluster anziché il nome di rete distribuito predefinito (DNN) introdotto in Windows Server 2019. Con una DNN, l'oggetto nome cluster (CNO) viene registrato automaticamente con gli indirizzi IP per tutti i nodi del cluster, eliminando la necessità di un indirizzo IP del cluster Windows dedicato.

Se si usa Windows Server 2016 e versioni precedenti, seguire la procedura descritta in questa sezione per assegnare un indirizzo IP secondario a ogni macchina virtuale di SQL Server sia per il nome della rete di istanza del cluster di failover che per il cluster.

Se si usa Windows Server 2019 o versione successiva, assegnare solo un indirizzo IP secondario per il nome di rete dell'istanza del cluster di failover e ignorare i passaggi per assegnare un indirizzo IP del cluster Windows, a meno che non si prevede di configurare il cluster con un nome di rete virtuale (VNN), nel qual caso assegnare entrambi gli indirizzi IP a ogni macchina virtuale di SQL Server come si farebbe per Windows Server 2016.

Per assegnare indirizzi IP secondari aggiuntivi alle macchine virtuali, seguire questa procedura:

  1. Nel portale di Azure selezionare la macchina virtuale di SQL Server SQL-VM.

  2. Selezionare Rete nel riquadro Impostazioni e quindi selezionare l'Interfaccia di rete:

    Selezionare Rete nel riquadro Impostazioni e quindi selezionare l'Interfaccia di rete:

  3. Nella pagina Interfaccia di rete, selezionare Configurazioni IP nel riquadro Impostazioni e quindi scegliere + Aggiungi per aggiungere un altro indirizzo IP:

    Configurazioni IP

  4. Nella pagina Aggiungi configurazione IP eseguire le operazioni seguenti:

    1. Specificare il nome per l'indirizzo IP del cluster Windows, ad esempio windows-cluster-ip per Windows 2016 e versioni precedenti. Ignorare questo passaggio se si usa Window Server 2019 o versione successiva.
    2. Impostare Allocazione su Statica.
    3. Immettere un indirizzo IP inutilizzato nella stessa subnet (SQL-subnet-1) della macchina virtuale di SQL Server (SQL-VM), ad esempio 10.38.1.10.
    4. Lasciare l'indirizzo IP pubblico come predefinito in Annulla associazione.
    5. Selezionare OK per terminare l'aggiunta della configurazione IP.

    Aggiungere l'indirizzo IP del cluster immettendo un indirizzo IP usato nella subnet della prima macchina virtuale di SQL Server

  5. Selezionare di nuovo + Aggiungi per configurare un indirizzo IP aggiuntivo per l'istanza del cluster di failover (con un nome come nome di rete di istanza del cluster di failover), specificando di nuovo un indirizzo IP inutilizzato in SQL-subnet-1, ad esempio 10.38.1.11:

    Selezionare di nuovo + Aggiungi per configurare un indirizzo IP aggiuntivo per il listener del gruppo di disponibilità (con un nome come availability-group-listener), specificando di nuovo un indirizzo IP inutilizzato in SQL-subnet-1, ad esempio 10.31.1.11

  6. Ripetere questi passaggi per la seconda VM di SQL Server. Assegnare due indirizzi IP secondari inutilizzati all'interno di SQL-subnet-2. Usare i valori della tabella seguente per aggiungere la configurazione IP (gli indirizzi IP sono solo esempi, i valori possono variare):

    Campo Input Input
    Nome windows-cluster-ip FCI-network-name
    Allocazione Statico Statico
    Indirizzo IP 10.38.2.10 10.38.2.11

Disinstallare SQL Server

Come parte del processo di creazione dell'istanza del cluster di failover, si installerà SQL Server come istanza in cluster nel cluster di failover. Se è stata distribuita una macchina virtuale con un'immagine di Azure Marketplace senza SQL Server, è possibile ignorare questo passaggio. Se è stata distribuita un'immagine con SQL Server preinstallata, sarà necessario eliminare l'estensione della VM di SQL Server quindi disinstallare SQL Server.

Eliminare l'estensione SQL IaaS Agent

Le immagini di macchine virtuali SQL Server attraverso il Marketplace di Azure sono registrate automaticamente con l'estensione SQL IaaS Agent. Prima di disinstallare l'istanza di SQL Server preinstallata, è necessario prima eliminare l'estensione dalla VM di SQL Server.

Per eliminare l'estensione dalla VM di SQL Server con Azure PowerShell, usare il seguente comando di esempio:

Remove-AzSqlVM -ResourceGroupName <resource_group_name> -Name <SQL VM resource name>

Disinstallare SQL Server

Dopo aver eliminato l'estensione, è possibile disinstallare SQL Server. Seguire questa procedura in ogni macchina virtuale:

  1. Connettersi alla macchina virtuale tramite RDP o bastion. Quando ci si connette per la prima volta a una macchina virtuale con RDP o bastion, un messaggio chiede se si vuole rendere il PC individuabile sulla rete. Selezionare .

  2. Avvia Programmi e funzionalità nel Pannello di controllo.

  3. In Programmi e funzionalità fare clic con il pulsante destro del mouse su Microsoft SQL Server 201_ (64-bit) e selezionare Disinstalla/Cambia.

  4. Selezionare Rimuovi.

  5. Selezionare l'istanza predefinita.

  6. Rimuovere le funzionalità sotto Servizi Motore di database, Analysis Services e Reporting Services (nativo). Non rimuovere elementi in Funzionalità condivise. Il contenuto visualizzato sarà simile allo screenshot seguente:

    Screenshot che mostra le funzionalità da selezionare per disinstallare SQL Server.

  7. Selezionare Avanti e quindi Rimuovi.

  8. Dopo la rimozione dell'istanza, riavviare la macchina virtuale.

Aprire il firewall

In ogni macchina virtuale aprire la porta TCP di Windows Firewall usata da SQL Server. Per impostazione predefinita, SQL Server usa la porta 1433, ma se è stata modificata nell'ambiente, aprire la porta configurata per l'uso dell'istanza di SQL Server. La porta 1433 viene aperta automaticamente nelle immagini di SQL Server distribuite da Azure Marketplace.

Se si usa un servizio di bilanciamento del carico per uno scenario di subnet singola, sarà necessario aprire anche la porta usata dal probe di integrità. Per impostazione predefinita, il probe di integrità usa la porta 59999, ma può essere qualsiasi porta TCP specificata quando si crea il servizio di bilanciamento del carico.

Questa tabella descrive in dettaglio le porte che potrebbe essere necessario aprire, a seconda della configurazione dell'istanza del cluster di failover:

Scopo Porta Note
SQL Server TCP 1443 Porta normale per le istanze predefinite di SQL Server. Se è stata usata un'immagine della raccolta, questa porta è automaticamente aperta.

Usata da: tutte le configurazioni FCI.
Probe di integrità TCP 59999 Qualsiasi porta TCP aperta. Configurare il probe di integrità del servizio di bilanciamento del carico e il cluster per l'uso di questa porta.

Usata da: istanza del cluster di failover con bilanciamento del carico in uno scenario con subnet singola.
Condivisione file UDP 445 Porta usata dal servizio di condivisione file.

Usata da: istanza del cluster di failover con condivisione file Premium.

Accedere al dominio

È anche necessario aggiungere le macchine virtuali al dominio. A tale scopo, è possibile usare un modello di avvio rapido.

Esaminare la configurazione dell'archiviazione

Le macchine virtuali create da Azure Marketplace sono dotate di spazio di archiviazione collegato. Se si prevede di configurare l'archiviazione dell'istanza del cluster di failover usando condivisioni file Premium o dischi condivisi di Azure, è possibile rimuovere l'archiviazione collegata per risparmiare sui costi perché l'archiviazione locale non viene usata per l'istanza del cluster di failover. Tuttavia, è possibile usare lo spazio di archiviazione collegato per Spazi di archiviazione diretta soluzioni di istanza del cluster di failover, quindi rimuoverle in questo caso potrebbe non essere utile. Esaminare la soluzione di archiviazione FCI per determinare se la rimozione dell'archiviazione collegata è ottimale per risparmiare sui costi.

Passaggi successivi

Dopo aver preparato l'ambiente della macchina virtuale, è possibile configurare l'istanza del cluster di failover.

Scegliere una delle guide seguenti per configurare l'ambiente dell'istanza del cluster di failover appropriato per l'azienda:

Per ulteriori informazioni, vedere: