Condividi tramite


Preparare macchine virtuali per un'istanza del cluster di failover di SQL Server (SQL Server su 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 FCI, quindi verifica di scegliere la configurazione corretta in base al tuo ambiente e alla tua azienda.

Per ulteriori informazioni, vedere una panoramica su FCI con SQL Server su macchine virtuali 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, puntando ai controller di dominio.

Scegliere un'opzione di archiviazione FCI

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 appropriate della macchina virtuale nel corso di questo articolo in base alla scelta 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. Premium SSD ZRS replica il tuo disco gestito di Azure in modo sincrono attraverso tre zone di disponibilità di Azure nella regione selezionata. Le macchine virtuali che fanno parte del cluster di failover possono essere posizionate in diverse zone di disponibilità, aiutandoti a ottenere una SQL Server FCI con ridondanza della zona che fornisce un SLA di disponibilità del 99,99% per le macchine virtuali. La latenza del disco per ZRS è maggiore a causa della copia interzonale dei dati.
    • Archiviazione Premium SSD localmente ridondante (LRS): Set di disponibilità in domini di errore/aggiornamento diversi per Archiviazione SSD Premium localmente ridondante. È 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 del cluster di failover si trovano nella stessa zona di disponibilità, la disponibilità delle macchine virtuali è 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.

Sottoreti

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 bilanciamento del carico di Azure o da un nome di rete distribuito (DNN) per instradare il traffico al FCI.

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.

Collocare entrambe le macchine virtuali in una singola subnet che abbia indirizzi IP sufficienti per entrambe le macchine virtuali e tutte le istanze del failover cluster che potresti eventualmente installare nel cluster. Questo approccio richiede un componente aggiuntivo per instradare le connessioni alla tua FCI, come Azure Load Balancer o un nome di rete distribuito (DNN).

Se scegli di distribuire le macchine virtuali di SQL Server in una singola subnet, esamina le differenze tra le opzioni di connettività di Azure Load Balancer e DNN e decidi 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, vai al gruppo di risorse e seleziona la VM del server DNS.
  2. Nella pagina VM, scegliere Networking 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 abbia o meno SQL Server già installato. 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 del cluster di failover (FCI) scelta prima di implementare le macchine virtuali di SQL Server.

Considerazioni sulla scheda di rete

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 usano 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.
  • Nel set di disponibilità di Azure o nella zona di disponibilità.

È 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 tue macchine virtuali di SQL Server (VMs) sono state distribuite in più subnet per migliorare la connettività alla tua istanza FCI, è 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 o versioni precedenti, seguire la procedura descritta in questa sezione per assegnare un indirizzo IP secondario a ogni VM di SQL Server sia per il nome di rete FCI che per il cluster.

Se si utilizza 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 di Windows Server, a meno che non si preveda di configurare il cluster con un nome di rete virtuale (VNN). In tal caso, assegnare entrambi gli indirizzi IP a ciascuna 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. Vai al tuo gruppo di risorse nel portale di Azure e seleziona la prima macchina virtuale SQL Server.

  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 il nome di rete FCI (assegnando un nome come FCI-network-name), 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 IP del cluster Windows FCI-network-name
    Allocazione Statico Statico
    Indirizzo IP 10.38.2.10 10.38.2.11

Disinstallare SQL Server

Nell'ambito del processo di creazione di un'istanza di cluster di failover (FCI), installerai 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 usando Bastion. Quando ci si connette per la prima volta a una macchina virtuale usando Bastion, viene chiesto se si vuole consentire al PC di essere individuabile in 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 controllo di integrità. Per impostazione predefinita, il probe di stato utilizza la porta 59999, ma può essere qualsiasi porta TCP specificata quando si crea il bilanciatore di carico.

Questa tabella dettaglia le porte che potrebbe essere necessario aprire, a seconda della configurazione FCI:

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.
Sonda di salute TCP 59999 Qualsiasi porta TCP aperta. Configurare la sonda di integrità del servizio di bilanciamento del carico e il cluster per utilizzare questa porta.

Usato da: FCI con bilanciamento del carico in uno scenario con subnet singola.
Condivisione file UDP 445 Porta usata dal servizio di condivisione file.

Utilizzato da: FCI 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 prevedi di configurare l'archiviazione dell'istanza del cluster di failover utilizzando condivisioni file Premium o dischi condivisi di Azure, puoi rimuovere l'archiviazione collegata per ridurre i costi perché l'archiviazione locale non viene utilizzata per l'istanza del cluster di failover. Tuttavia, è possibile utilizzare l'archiviazione collegata per le soluzioni Storage Spaces Direct FCI, quindi rimuoverla 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 FCI appropriato per la tua azienda.

Per ulteriori informazioni, vedere: