Configurare una rete neurale del database per l'istanza del cluster di failover

Si applica a:SQL Server nella macchina virtuale di Azure

Consiglio

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.

In Macchine virtuali di Azure il nome di rete distribuita instrada il traffico alla risorsa cluster appropriata. Offre un modo più semplice per connettersi all'istanza del cluster di failover di SQL Server (FCI) rispetto al nome di rete virtuale (VNN), senza la necessità di un servizio di bilanciamento del carico di Azure.

Questo articolo illustra come configurare una risorsa DNN per instradare il traffico all'istanza del cluster di failover con SQL Server in macchine virtuali di Azure per la disponibilità elevata e il ripristino di emergenza (HADR).

Per un'opzione di connettività alternativa, prendere in considerazione un nome di rete virtuale e Azure Load Balancer .

Panoramica

Il nome di rete distribuita sostituisce il nome di rete virtuale (VNN) come punto di connessione quando viene usato con un'istanza del cluster di failover Always On nelle macchine virtuali di SQL Server. Ciò nega la necessità di un'istanza di Azure Load Balancer che instrada il traffico alla rete virtuale, semplificando la distribuzione, la manutenzione e migliorando il failover.

Con una distribuzione dell'istanza del cluster di failover, la rete virtuale esiste ancora, ma il client si connette al nome DNS della rete NEURALE anziché al nome della rete virtuale.

Prerequisiti

Per poter completare la procedura descritta in questo articolo, sono necessari:

Creare una risorsa DNN

La risorsa DNN viene creata nello stesso gruppo di cluster dell'istanza del cluster di failover di SQL Server. Usare PowerShell per creare la risorsa DNN all'interno del gruppo di cluster FCI.

Il comando di PowerShell seguente aggiunge una risorsa DNN al gruppo di cluster dell'istanza del cluster di failover di SQL Server con un nome di risorsa .<dnnResourceName> Il nome della risorsa viene usato per identificare in modo univoco una risorsa. Usare uno che abbia senso per l'utente ed è univoco nel cluster. Il tipo di risorsa deve essere Distributed Network Name.

Il -Group valore deve essere il nome del gruppo di cluster che corrisponde all'istanza del cluster di failover di SQL Server in cui si vuole aggiungere il nome di rete distribuita. Per un'istanza predefinita, il formato tipico è SQL Server (MSSQLSERVER).

Add-ClusterResource -Name <dnnResourceName> `
-ResourceType "Distributed Network Name" -Group "<WSFC role of SQL Server instance>"

Ad esempio, per creare la risorsa dnn-demo DNN per un'istanza del cluster di failover di SQL Server predefinita, usare il comando di PowerShell seguente:

Add-ClusterResource -Name dnn-demo `
-ResourceType "Distributed Network Name" -Group "SQL Server (MSSQLSERVER)"

Impostare il nome DNS DNN del cluster

Impostare il nome DNS per la risorsa DNN nel cluster. Il cluster usa quindi questo valore per instradare il traffico al nodo che attualmente ospita l'istanza del cluster di failover di SQL Server.

I client usano il nome DNS per connettersi all'istanza del cluster di failover di SQL Server. È possibile scegliere un valore univoco. In alternativa, se si dispone già di un'istanza del cluster di failover esistente e non si desidera aggiornare le stringhe di connessione client, è possibile configurare la rete neurale del database per l'uso della rete virtuale corrente già usata dai client. A tale scopo, è necessario rinominare la rete virtuale prima di impostare DNN in DNS.

Usare questo comando per impostare il nome DNS per la rete neurale del database:

Get-ClusterResource -Name <dnnResourceName> | `
Set-ClusterParameter -Name DnsName -Value <DNSName>

Il DNSName valore è quello usato dai client per connettersi all'istanza del cluster di failover di SQL Server. Ad esempio, per consentire ai client di connettersi a FCIDNN, usare il comando di PowerShell seguente:

Get-ClusterResource -Name dnn-demo | `
Set-ClusterParameter -Name DnsName -Value FCIDNN

I client verranno ora inseriti FCIDNN nella stringa di connessione durante la connessione all'istanza del cluster di failover di SQL Server.

Avviso

Non eliminare il nome di rete virtuale corrente (VNN) perché è un componente necessario dell'infrastruttura dell'istanza del cluster di failover.

Rinominare la rete virtuale

Se si dispone di un nome di rete virtuale esistente e si vuole che i client continuino a usare questo valore per connettersi all'istanza del cluster di failover di SQL Server, è necessario rinominare la rete virtuale corrente in un valore segnaposto. Dopo la ridenominazione della rete virtuale corrente, è possibile impostare il valore del nome DNS per la rete neurale neurale profonda sulla rete virtuale.

Alcune restrizioni si applicano per la ridenominazione della rete virtuale. Per altre informazioni, vedere Ridenominazione di un'istanza del cluster di failover.

Se l'uso della rete virtuale corrente non è necessario per l'azienda, ignorare questa sezione. Dopo aver rinominato la rete virtuale virtuale, impostare il nome DNS DNN del cluster.

Impostare la risorsa DNN online

Dopo che la risorsa DNN è denominata in modo appropriato ed è stato impostato il valore del nome DNS nel cluster, usare PowerShell per impostare la risorsa DNN online nel cluster:

Start-ClusterResource -Name <dnnResourceName>

Ad esempio, per avviare la risorsa dnn-demoDNN, usare il comando di PowerShell seguente:

Start-ClusterResource -Name dnn-demo

Configurare i possibili proprietari

Per impostazione predefinita, il cluster associa il nome DNS DNN a tutti i nodi del cluster. Tuttavia, i nodi nel cluster che non fanno parte dell'istanza del cluster di failover di SQL Server devono essere esclusi dall'elenco dei possibili proprietari di DNN.

Per aggiornare i possibili proprietari, seguire questa procedura:

  1. Passare alla risorsa DNN in Gestione cluster di failover.

  2. Fare clic con il pulsante destro del mouse sulla risorsa DNN e scegliere Proprietà.

    Shortcut menu for the DNN resource, with the Properties command highlighted.

  3. Deselezionare la casella di controllo per tutti i nodi che non partecipano all'istanza del cluster di failover. L'elenco dei possibili proprietari per la risorsa DNN deve corrispondere all'elenco dei possibili proprietari per la risorsa dell'istanza di SQL Server. Ad esempio, supponendo che Data3 non faccia parte dell'istanza del cluster di failover, l'immagine seguente è un esempio di rimozione di Data3 dall'elenco dei possibili proprietari per la risorsa DNN:

    Clear the check box next to the nodes that do not participate in the FCI for possible owners of the DNN resource

  4. Selezionare OK per salvare le impostazioni.

Riavviare l'istanza di SQL Server

Usare Gestione cluster di failover per riavviare l'istanza di SQL Server. Seguire questa procedura:

  1. Passare alla risorsa di SQL Server in Gestione cluster di failover.
  2. Fare clic con il pulsante destro del mouse sulla risorsa di SQL Server e portarla offline.
  3. Dopo che tutte le risorse associate sono offline, fare clic con il pulsante destro del mouse sulla risorsa di SQL Server e riportarla nuovamente online.

Aggiornare la stringa di connessione

Aggiornare la stringa di connessione di qualsiasi applicazione che si connette al DNN dell'istanza del cluster di failover di SQL Server e includere MultiSubnetFailover=True nella stringa di connessione. Se il client non supporta il parametro MultiSubnetFailover, non è compatibile con un DNN.

Di seguito è riportato un esempio di stringa di connessione per un DNN dell'istanza del cluster di failover di SQL con il nome DNS fcIDNN:

Data Source=FCIDNN, MultiSubnetFailover=True

Inoltre, se la rete neurale del database non usa la rete virtuale originale, i client SQL che si connettono all'istanza del cluster di failover di SQL Server dovranno aggiornare la stringa di connessione al nome DNS DNN. Per evitare questo requisito, è possibile aggiornare il valore del nome DNS in modo che sia il nome della rete virtuale. È tuttavia necessario sostituire prima la rete virtuale esistente con un segnaposto .

Failover di test

Failover di test della risorsa cluster per convalidare la funzionalità del cluster.

Per testare il failover, seguire questa procedura:

  1. Connettersi a uno dei nodi del cluster DI SQL Server tramite RDP.
  2. Aprire Gestione cluster di failover. Selezionare Ruoli. Rilevare quale nodo è proprietario del ruolo dell'istanza del cluster di failover di SQL Server.
  3. Fare clic con il pulsante destro del mouse sul ruolo dell'istanza del cluster di failover di SQL Server.
  4. Selezionare Sposta e quindi selezionare Miglior nodo possibile.

Gestione cluster di failover visualizza il ruolo e le relative risorse passano alla modalità offline. Le risorse vengono quindi spostate e portate di nuovo online nell'altro nodo.

Testare la connettività

Per testare la connettività, accedere a un'altra macchina virtuale nella stessa rete virtuale. Aprire SQL Server Management Studio e connettersi all'istanza del cluster di failover di SQL Server usando il nome DNS DNN.

Se necessario, è possibile scaricare SQL Server Management Studio.

Evitare conflitti IP

Si tratta di un passaggio facoltativo per impedire che l'indirizzo IP virtuale (VIP) usato dalla risorsa dell'istanza del cluster di failover venga assegnato a un'altra risorsa in Azure come duplicato.

Anche se i clienti usano ora DNN per connettersi all'istanza del cluster di failover di SQL Server, il nome della rete virtuale (VNN) e l'IP virtuale non possono essere eliminati perché sono componenti necessari dell'infrastruttura dell'istanza del cluster di failover. Tuttavia, poiché non esiste più un servizio di bilanciamento del carico che riserva l'indirizzo IP virtuale in Azure, esiste il rischio che a un'altra risorsa nella rete virtuale venga assegnato lo stesso indirizzo IP dell'indirizzo IP virtuale usato dall'istanza del cluster di failover. Ciò può causare potenzialmente un problema di conflitto IP duplicato.

Configurare un indirizzo APIPA o una scheda di rete dedicata per riservare l'indirizzo IP.

Indirizzo APIPA

Per evitare di usare indirizzi IP duplicati, configurare un indirizzo APIPA (noto anche come indirizzo locale di collegamento). A tale scopo, eseguire il comando seguente:

Get-ClusterResource "virtual IP address" | Set-ClusterParameter 
    –Multiple @{"Address"="169.254.1.1";"SubnetMask"="255.255.0.0";"OverrideAddressMatch"=1;"EnableDhcp"=0}

In questo comando , "indirizzo IP virtuale" è il nome della risorsa indirizzo VIP cluster e "169.254.1.1" è l'indirizzo APIPA scelto per l'indirizzo VIP. Scegli l'indirizzo più adatto alla tua azienda. Impostare OverrideAddressMatch=1 per consentire all'indirizzo IP di trovarsi in qualsiasi rete, incluso lo spazio indirizzi APIPA.

Scheda di rete dedicata

In alternativa, configurare una scheda di rete in Azure per riservare l'indirizzo IP usato dalla risorsa indirizzo IP virtuale. Tuttavia, questo utilizza l'indirizzo nello spazio degli indirizzi della subnet e si verifica un sovraccarico aggiuntivo per garantire che la scheda di rete non venga usata per altri scopi.

Limitazioni

  • Il client che si connette al listener DNN deve supportare il MultiSubnetFailover=True parametro nella stringa di connessione.
  • Potrebbero esserci altre considerazioni quando si usano altre funzionalità di SQL Server e un'istanza del cluster di failover con una rete neurale del database. Per altre informazioni, vedere FcI con interoperabilità DNN.

Passaggi successivi

Per altre informazioni, vedere: