Creare un'istanza di cluster di rete con Spazi di archiviazione diretta (SQL Server nelle macchine virtuali di Azure)

Si applica a: SQL Server nella macchina virtuale di Azure

Suggerimento

Eliminare la necessità di un nome di rete Azure Load Balancer o distribuito per l'istanza del cluster di failover creando le macchine virtuali SQL Server in più subnet nella stessa rete virtuale di Azure.

Questo articolo illustra come creare un'istanza del cluster di failover usando Spazi di archiviazione diretta con SQL Server in Azure Macchine virtuali (VM). Spazi di archiviazione diretta funge da rete di archiviazione virtuale basata su software (VSAN) che sincronizza l'archiviazione (dischi dati) tra i nodi (macchine virtuali di Azure) in un cluster Windows.

Per altre informazioni, vedere una panoramica dell'istanza di cluster con SQL Server nelle macchine virtuali di Azure e nelle procedure consigliate per il cluster.

Nota

È ora possibile sollevare e spostare la soluzione dell'istanza del cluster di failover in SQL Server nelle macchine virtuali di Azure usando Azure Migrate. Per altre informazioni, vedere Eseguire la migrazione dell'istanza del cluster di failover .

Panoramica

Spazi di archiviazione diretta (S2D) supporta due tipi di architetture: convergenti e iperconvergenti. Un'infrastruttura iperconvergente inserisce l'archiviazione negli stessi server che ospitano l'applicazione cluster, in modo che l'archiviazione si trova in ogni nodo fci SQL Server.

Il diagramma seguente illustra la soluzione completa, che usa Spazi di archiviazione diretta iperconvergenti con SQL Server nelle macchine virtuali di Azure:

Diagramma della soluzione completa, usando Spazi di archiviazione diretta iperconvergenti

Il diagramma precedente mostra le risorse seguenti nello stesso gruppo di risorse:

  • Due macchine virtuali in un cluster di failover di Windows Server. Una macchina virtuale in un cluster di failover è detta anche nodo del cluster o nodo.
  • Ogni macchina virtuale ha due o più dischi dati.
  • Spazi di archiviazione diretta sincronizza i dati nei dischi dati e presenta le risorse di archiviazione sincronizzate sotto forma di pool di archiviazione.
  • Il pool di archiviazione presenta un volume condiviso cluster per il cluster di failover.
  • Il ruolo del cluster dell'istanza del cluster di failover di SQL Server usa il volume condiviso cluster per le unità dati.
  • Un servizio di bilanciamento del carico di Azure per contenere l'indirizzo IP per l'istanza di fcI SQL Server per un singolo scenario di subnet.
  • Un set di disponibilità di Azure contiene tutte le risorse.

Nota

È possibile creare questa intera soluzione in Azure da un modello. Un esempio di modello è disponibile nella pagina Modelli di avvio rapido di GitHub di Azure. Questo esempio non è progettato né testato per carichi di lavoro specifici. È possibile eseguire il modello per creare un'istanza del cluster di failover di SQL Server con risorse di archiviazione di Spazi di archiviazione diretta connesse al dominio. È possibile valutare il modello e modificarlo in base alle proprie esigenze.

Prerequisiti

Prima di completare le istruzioni in questo articolo, è necessario avere già:

Creare un cluster di failover windows

I passaggi per creare il cluster di failover di Windows Server variano a seconda della distribuzione delle macchine virtuali SQL Server in una singola subnet o in più subnet. Per creare il cluster, seguire la procedura descritta nell'esercitazione per uno scenario multi-subnet o un singolo scenario di subnet. Anche se queste esercitazioni sono per la creazione di un gruppo di disponibilità, i passaggi per creare il cluster sono uguali.

Configurare il quorum

Anche se il server di controllo del disco è l'opzione quorum più resiliente, non è supportata per le istanze del cluster di failover configurate con Spazi di archiviazione diretta. Di conseguenza, il server di controllo cloud è la soluzione quorum consigliata per questo tipo di configurazione del cluster per SQL Server nelle macchine virtuali di Azure.

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

Convalidare il cluster

Convalidare il cluster nell'interfaccia utente di Gestione cluster di failover o tramite PowerShell.

Per convalidare il cluster usando l'interfaccia utente, eseguire le operazioni seguenti 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, come illustrato di seguito:

    Selezionare i test di convalida del cluster

  8. Selezionare Avanti.

  9. In Conferma selezionare Avanti.

    La procedura guidata Convalida una configurazione esegue 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 "Storage Spaces Direct", "Inventory", "Network", "System Configuration"

Aggiungere le risorse di archiviazione

I dischi per Spazi di archiviazione diretta devono essere vuoti. Non possono contenere partizioni o altri dati. Per pulire i dischi, seguire le istruzioni riportate in Distribuisci Spazi di archiviazione diretta.

  1. Abilitare Spazi di archiviazione diretta.

    Lo script di PowerShell seguente abilita Spazi di archiviazione diretta:

    Enable-ClusterS2D
    

    In Gestione cluster di failover verrà ora visualizzato il pool di archiviazione.

  2. Creare un volume.

    Spazi di archiviazione diretta crea automaticamente un pool di archiviazione al momento dell'abilitazione. È ora possibile creare un volume. Il cmdlet di PowerShell New-Volume automatizza il processo di creazione del volume. Questo processo include la formattazione, l'aggiunta del volume al cluster e la creazione di un file CSV. In questo esempio viene creato un CSV di 800 gigabyte (GB):

    New-Volume -StoragePoolFriendlyName S2D* -FriendlyName VDisk01 -FileSystem CSVFS_REFS -Size 800GB
    

    Dopo aver eseguito il comando precedente, un volume di 800 GB viene montato come risorsa del cluster. Il volume si trova in C:\ClusterStorage\Volume1\.

    Questo screenshot mostra un file CSV con Spazi di archiviazione diretta:

    Screenshot di un volume condiviso cluster con Spazi di archiviazione diretta

Failover del cluster di test

Testare il failover del cluster. In Gestione cluster di failover fare clic con il pulsante destro del mouse sul cluster, selezionare Altro azioni>Sposta risorsa> cluster coreSelezionare il nodo Seleziona nodo e 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.

Testare il failover del cluster spostando le risorse principali negli altri nodi

Creare l'istanza del cluster di failover di SQL Server

Dopo aver configurato il cluster di failover e tutti i componenti del cluster, inclusa la risorsa di archiviazione, è 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 assicurarsi che tutte le risorse del cluster di base si trovino nella prima macchina virtuale. Se necessario, spostare tutte le risorse in tale 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), l'installazione dell'istanza dell'istanza del cluster di failover per SQL Server 2017 e successiva avrà esito negativo con l'errore The given key was not present in the dictionary.

    Durante l'installazione, SQL Server query di configurazione per il nome Rete virtuale esistente (VNN) e non riconosce il DNN del cluster Windows. Il problema è stato risolto nell'installazione di SQL Server 2019. Per SQL Server 2017 e versioni successive, seguire questa procedura per evitare l'errore di installazione:

    • In Gestione cluster di failover connettersi al cluster fare clic con il pulsante destro del mouse su Ruoli e scegliere Crea ruolo vuoto.
    • Fare clic con il pulsante destro del mouse sul ruolo vuoto appena creato, scegliere Aggiungi 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 SQL Server dell'istanza del cluster di failover, è 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. Selezionare Imposta.

  5. In Centro installazione SQL Server selezionare Installazione.

  6. Selezionare Installazione di un nuovo cluster di failover di SQL Server. Seguire le istruzioni della procedura guidata per installare l'istanza del cluster di failover di SQL Server.

  7. Nella pagina Configurazione rete cluster l'IP fornito varia a seconda che le macchine virtuali SQL Server siano state distribuite in una singola subnet o in più subnet.

    1. Per un singolo ambiente subnet, specificare l'indirizzo IP che si prevede di aggiungere alla Azure Load Balancer
    2. Per un ambiente multi-subnet, specificare l'indirizzo IP secondario nella subnet della prima macchina virtuale SQL Server definita in precedenza come indirizzo IP del nome di rete dell'istanza del cluster di failover:

    specificare l'indirizzo IP secondario nella subnet della prima macchina virtuale SQL Server designata in precedenza come indirizzo IP del nome di rete dell'istanza del cluster di failover

  8. Nella configurazione del motore di database, è necessario che le directory dei dati dell'istanza del cluster siano presenti nell'archiviazione cluster. Con Spazi di archiviazione diretta, non è un disco condiviso ma un punto di montaggio su un volume in ogni server. Spazi di archiviazione diretta sincronizza il volume tra i due nodi. Il volume viene presentato al cluster come csv. Usare il punto di montaggio del volume condiviso cluster per le directory di dati.

    Directory dati

  9. Dopo aver completato le istruzioni nella procedura guidata, il programma di installazione installa un'istanza di fcI SQL Server nel primo nodo.

  10. Dopo aver completato l'installazione dell'istanza del cluster nel primo nodo, connettersi al secondo nodo usando RDP.

  11. Aprire il Centro installazione SQL Server. Selezionare Installazione.

  12. Selezionare Aggiungi nodo a cluster di failover di SQL Server. Seguire le istruzioni riportate nella procedura guidata per installare SQL Server e aggiungere il nodo all'istanza di cluster di rete.

  13. Per uno scenario multi-subnet, in Configurazione rete cluster immettere l'indirizzo IP secondario nella subnet della seconda macchina virtuale SQL Server definita in precedenza come indirizzo IP del nome di rete dell'istanza del cluster di failover

    immettere l'indirizzo IP secondario nella subnet del secondo SQL Server subnet della macchina virtuale designata in precedenza come indirizzo IP del nome di rete dell'istanza del cluster di failover

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

    Conferma multi subnet

  14. Dopo aver completato le istruzioni nella procedura guidata, il programma di installazione aggiunge il secondo nodo fcI SQL Server.

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

Nota

Azure Marketplace le immagini della raccolta sono disponibili con SQL Server Management Studio installato. Se non è stata usata un'immagine del marketplace Scaricare SQL Server Management Studio (SSMS).

Registrare con l'estensione SQL IaaS

Per gestire la macchina virtuale SQL Server dal portale, registrarla con l'estensione SQL IaaS Agent in modalità di gestione leggera, attualmente l'unica modalità supportata con fcI e SQL Server nelle macchine virtuali di Azure.

Registrare una macchina virtuale SQL Server in modalità leggera 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 'Lightweight' SQL IaaS agent
New-AzSqlVM -Name $vm.Name -ResourceGroupName $vm.ResourceGroupName -Location $vm.Location `
   -LicenseType PAYG -SqlManagementType LightWeight  

Configurare la connettività

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

Limitazioni

  • Le macchine virtuali di Azure supportano Microsoft Distributed Transaction Coordinator (MSDTC) in Windows Server 2019 con archiviazione in CSV e un servizio di bilanciamento del carico standard. MSDTC non è supportato in Windows Server 2016 e versioni precedenti.
  • I dischi collegati come dischi formattati NTFS possono essere usati con Spazi di archiviazione diretta solo se l'opzione di idoneità del disco non è selezionata o deselezionata, quando l'archiviazione viene aggiunta al cluster.
  • È supportata solo la registrazione con l'estensione SQL IaaS Agent in modalità di gestione leggera .
  • Le istanze del cluster di failover che usano Spazi di archiviazione diretta perché l'archiviazione condivisa non supporta l'uso di un server di controllo del disco per il quorum del cluster. Usare invece un server di controllo cloud.

Passaggi successivi

Se Spazi di archiviazione diretta non è la soluzione di archiviazione fcI appropriata per l'utente, prendere in considerazione la creazione dell'istanza del cluster di rete usando dischi condivisi di Azure o condivisioni file Premium.

Per altre informazioni, vedere: