Sdílet prostřednictvím


Konfigurace jednoho nebo více naslouchacích procesů skupiny dostupnosti AlwaysOn

Platí pro: SQL Server na virtuálním počítači Azure

Tip

Existuje mnoho metod nasazení skupiny dostupnosti. Zjednodušte nasazení a eliminujte potřebu služby Azure Load Balancer nebo názvu distribuované sítě (DNN) pro vaši skupinu dostupnosti AlwaysOn vytvořením virtuálních počítačů s SQL Serverem v několika podsítích ve stejné virtuální síti Azure. Pokud jste skupinu dostupnosti už vytvořili v jedné podsíti, můžete ji migrovat do prostředí s více podsítěmi.

Tento dokument ukazuje, jak pomocí PowerShellu provést jednu z následujících úloh:

  • vytvoření nástroje pro vyrovnávání zatížení
  • přidejte IP adresy do existujícího nástroje pro vyrovnávání zatížení pro skupiny dostupnosti SQL Serveru.

Naslouchací proces skupiny dostupnosti je název virtuální sítě, ke kterému se klienti připojují pro přístup k databázi. Na virtuálních počítačích Azure v jedné podsíti obsahuje nástroj pro vyrovnávání zatížení IP adresu naslouchacího procesu. Nástroj pro vyrovnávání zatížení směruje provoz do instance SQL Serveru, která naslouchá na portu sondy. Skupina dostupnosti obvykle používá interní nástroj pro vyrovnávání zatížení. Interní nástroj pro vyrovnávání zatížení Azure může hostovat jednu nebo více IP adres. Každá IP adresa používá konkrétní port sondy.

Možnost přiřadit více IP adres internímu nástroji pro vyrovnávání zatížení je pro Azure nová a je dostupná jenom v modelu Resource Manageru. Abyste mohli tuto úlohu dokončit, musíte mít v modelu Resource Manager nasazenou skupinu dostupnosti SQL Serveru na virtuálních počítačích Azure. Oba virtuální počítače s SQL Serverem musí patřit do stejné skupiny dostupnosti. Pomocí šablony Microsoftu můžete automaticky vytvořit skupinu dostupnosti v Azure Resource Manageru. Tato šablona automaticky vytvoří skupinu dostupnosti, včetně interního nástroje pro vyrovnávání zatížení za vás. Pokud chcete, můžete skupinu dostupnosti AlwaysOn nakonfigurovat ručně.

K dokončení kroků v tomto článku je potřeba, aby už vaše skupiny dostupnosti byly nakonfigurované.

Související témata zahrnují:

Poznámka:

Tento článek používá modul Azure Az PowerShell, což je doporučený modul PowerShellu pro interakci s Azure. Pokud chcete začít s modulem Az PowerShell, projděte si téma věnované instalaci Azure PowerShellu. Informace o tom, jak migrovat na modul Az PowerShell, najdete v tématu Migrace Azure PowerShellu z AzureRM na Az.

Spuštění relace prostředí PowerShell

Spusťte rutinu Connect-Az Account a zobrazí se přihlašovací obrazovka pro zadání přihlašovacích údajů. Použijte stejné přihlašovací údaje, pomocí kterých se přihlašujete na portál Azure.

Connect-AzAccount

Pokud máte více předplatných, pomocí rutiny Set-AzContext vyberte, které předplatné má relace PowerShellu používat. Pokud chcete zjistit, jaké předplatné aktuální relace PowerShellu používá, spusťte rutinu Get-AzContext. Pokud chcete zobrazit všechna vaše předplatná, spusťte rutinu Get-AzSubscription.

Set-AzContext -SubscriptionId '4cac86b0-1e56-bbbb-aaaa-000000000000'

Ověření verze PowerShellu

Příklady v tomto článku se testují pomocí modulu Azure PowerShell verze 5.4.1.

Ověřte, že je modul PowerShellu 5.4.1 nebo novější.

Viz Instalace modulu Azure PowerShellu.

Konfigurace brány Windows Firewall

Nakonfigurujte bránu Windows Firewall tak, aby umožňovala přístup k SQL Serveru. Pravidla brány firewall umožňují připojení TCP k portům, které používají instance SQL Serveru, a sondu naslouchacího procesu. Podrobné pokyny najdete v tématu Konfigurace brány Windows Firewall pro přístup k databázovému stroji. Vytvořte příchozí pravidlo pro port SQL Serveru a pro port sondy.

Pokud omezujete přístup pomocí skupiny zabezpečení sítě Azure, ujistěte se, že pravidla povolení zahrnují IP adresy virtuálního počítače s back-endovým SQL Serverem a v případě potřeby plovoucí IP adresy nástroje pro vyrovnávání zatížení pro naslouchací proces skupiny dostupnosti a základní IP adresu clusteru.

Určení požadované skladové položky nástroje pro vyrovnávání zatížení

Nástroj pro vyrovnávání zatížení Azure je k dispozici ve dvou SKU: Basic a Standard. Standardní nástroj pro vyrovnávání zatížení se doporučuje, protože skladová položka Basic je naplánovaná na vyřazení ze 30. září 2025. Pro virtuální počítače v zóně dostupnosti se vyžaduje standardní nástroj pro vyrovnávání zatížení. Nástroj pro vyrovnávání zatížení úrovně Standard vyžaduje, aby všechny IP adresy virtuálních počítačů používaly standardní IP adresy.

Aktuální šablona Microsoftu pro skupinu dostupnosti používá nástroj pro vyrovnávání zatížení úrovně Basic se základními IP adresami.

Poznámka:

Koncový bod služby budete muset nakonfigurovat, pokud pro určující cloud použijete standardní nástroj pro vyrovnávání zatížení a Azure Storage.

Příklady v tomto článku určují standardní nástroj pro vyrovnávání zatížení. V příkladech skript obsahuje -sku Standard.

$ILB= New-AzLoadBalancer -Location $Location -Name $ILBName -ResourceGroupName $ResourceGroupName -FrontendIpConfiguration $FEConfig -BackendAddressPool $BEConfig -LoadBalancingRule $ILBRule -Probe $SQLHealthProbe -sku Standard

Pokud chcete vytvořit nástroj pro vyrovnávání zatížení úrovně Basic, odeberte -sku Standard ho z řádku, který vytvoří nástroj pro vyrovnávání zatížení. Příklad:

$ILB= New-AzLoadBalancer -Location $Location -Name $ILBName -ResourceGroupName $ResourceGroupName -FrontendIpConfiguration $FEConfig -BackendAddressPool $BEConfig -LoadBalancingRule $ILBRule -Probe $SQLHealthProbe

Ukázkový skript: Vytvoření interního nástroje pro vyrovnávání zatížení pomocí PowerShellu

Poznámka:

Pokud jste vytvořili skupinu dostupnosti pomocí šablony Microsoftu, interní nástroj pro vyrovnávání zatížení už byl vytvořen.

Následující skript PowerShellu vytvoří interní nástroj pro vyrovnávání zatížení, nakonfiguruje pravidla vyrovnávání zatížení a nastaví IP adresu nástroje pro vyrovnávání zatížení. Pokud chcete skript spustit, otevřete prostředí Windows PowerShell ISE a vložte skript do podokna Skript. Slouží Connect-AzAccount k přihlášení k PowerShellu. Pokud máte více předplatných Azure, použijte Select-AzSubscription k nastavení předplatného.

# Connect-AzAccount
# Select-AzSubscription -SubscriptionId <xxxxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx>

$ResourceGroupName = "<Resource Group Name>" # Resource group name
$VNetName = "<Virtual Network Name>"         # Virtual network name
$SubnetName = "<Subnet Name>"                # Subnet name
$ILBName = "<Load Balancer Name>"            # ILB name
$Location = "<Azure Region>"                 # Azure location
$VMNames = "<VM1>","<VM2>"                   # Virtual machine names

$ILBIP = "<n.n.n.n>"                         # IP address
[int]$ListenerPort = "<nnnn>"                # AG listener port
[int]$ProbePort = "<nnnn>"                   # Probe port

$LBProbeName ="ILBPROBE_$ListenerPort"       # The Load balancer Probe Object Name              
$LBConfigRuleName = "ILBCR_$ListenerPort"    # The Load Balancer Rule Object Name

$FrontEndConfigurationName = "FE_SQLAGILB_1" # Object name for the front-end configuration 
$BackEndConfigurationName ="BE_SQLAGILB_1"   # Object name for the back-end configuration

$VNet = Get-AzVirtualNetwork -Name $VNetName -ResourceGroupName $ResourceGroupName 

$Subnet = Get-AzVirtualNetworkSubnetConfig -VirtualNetwork $VNet -Name $SubnetName 

$FEConfig = New-AzLoadBalancerFrontendIpConfig -Name $FrontEndConfigurationName -PrivateIpAddress $ILBIP -SubnetId $Subnet.id

$BEConfig = New-AzLoadBalancerBackendAddressPoolConfig -Name $BackEndConfigurationName 

$SQLHealthProbe = New-AzLoadBalancerProbeConfig -Name $LBProbeName -Protocol tcp -Port $ProbePort -IntervalInSeconds 15 -ProbeCount 2

$ILBRule = New-AzLoadBalancerRuleConfig -Name $LBConfigRuleName -FrontendIpConfiguration $FEConfig -BackendAddressPool $BEConfig -Probe $SQLHealthProbe -Protocol tcp -FrontendPort $ListenerPort -BackendPort $ListenerPort -LoadDistribution Default -EnableFloatingIP 

$ILB= New-AzLoadBalancer -Location $Location -Name $ILBName -ResourceGroupName $ResourceGroupName -FrontendIpConfiguration $FEConfig -BackendAddressPool $BEConfig -LoadBalancingRule $ILBRule -Probe $SQLHealthProbe 

$bepool = Get-AzLoadBalancerBackendAddressPoolConfig -Name $BackEndConfigurationName -LoadBalancer $ILB 

foreach($VMName in $VMNames)
    {
        $VM = Get-AzVM -ResourceGroupName $ResourceGroupName -Name $VMName 
        $NICName = ($vm.NetworkProfile.NetworkInterfaces.Id.split('/') | select -last 1)
        $NIC = Get-AzNetworkInterface -name $NICName -ResourceGroupName $ResourceGroupName
        $NIC.IpConfigurations[0].LoadBalancerBackendAddressPools = $BEPool
        Set-AzNetworkInterface -NetworkInterface $NIC
        start-AzVM -ResourceGroupName $ResourceGroupName -Name $VM.Name 
    }

Ukázkový skript: Přidání IP adresy do existujícího nástroje pro vyrovnávání zatížení pomocí PowerShellu

Pokud chcete použít více než jednu skupinu dostupnosti, přidejte do nástroje pro vyrovnávání zatížení další IP adresu. Každá IP adresa vyžaduje vlastní pravidlo vyrovnávání zatížení, port sondy a front port. Přidejte do back-endového fondu nástroje pro vyrovnávání zatížení pouze primární IP adresu virtuálního počítače, protože sekundární IP adresa virtuálního počítače nepodporuje plovoucí IP adresu.

Front-endový port je port, který aplikace používají pro připojení k instanci SQL Serveru. IP adresy pro různé skupiny dostupnosti můžou používat stejný front-endový port.

Poznámka:

Pro skupiny dostupnosti SQL Serveru vyžaduje každá IP adresa konkrétní port sondy. Pokud například jedna IP adresa v nástroji pro vyrovnávání zatížení používá port sondy 59999, nemohou žádné jiné IP adresy v tomto nástroji pro vyrovnávání zatížení používat port sondy 59999.

Následující skript přidá novou IP adresu do existujícího nástroje pro vyrovnávání zatížení. Interní nástroj pro vyrovnávání zatížení používá port naslouchacího procesu pro front-endový port vyrovnávání zatížení. Tento port může být port, na který SQL Server naslouchá. Pro výchozí instance SQL Serveru je port 1433. Pravidlo vyrovnávání zatížení pro skupinu dostupnosti vyžaduje plovoucí IP adresu (přímá vrácení serveru), aby back-endový port byl stejný jako front-endový port. Aktualizujte proměnné pro vaše prostředí.

# Connect-AzAccount
# Select-AzSubscription -SubscriptionId <xxxxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx>

$ResourceGroupName = "<ResourceGroup>"          # Resource group name
$VNetName = "<VirtualNetwork>"                  # Virtual network name
$SubnetName = "<Subnet>"                        # Subnet name
$ILBName = "<ILBName>"                          # ILB name                      

$ILBIP = "<n.n.n.n>"                            # IP address
[int]$ListenerPort = "<nnnn>"                   # AG listener port
[int]$ProbePort = "<nnnnn>"                     # Probe port 

$ILB = Get-AzLoadBalancer -Name $ILBName -ResourceGroupName $ResourceGroupName 

$count = $ILB.FrontendIpConfigurations.Count+1
$FrontEndConfigurationName ="FE_SQLAGILB_$count"  

$LBProbeName = "ILBPROBE_$count"
$LBConfigrulename = "ILBCR_$count"

$VNet = Get-AzVirtualNetwork -Name $VNetName -ResourceGroupName $ResourceGroupName 
$Subnet = Get-AzVirtualNetworkSubnetConfig -VirtualNetwork $VNet -Name $SubnetName

$ILB | Add-AzLoadBalancerFrontendIpConfig -Name $FrontEndConfigurationName -PrivateIpAddress $ILBIP -SubnetId $Subnet.Id 

$ILB | Add-AzLoadBalancerProbeConfig -Name $LBProbeName  -Protocol Tcp -Port $Probeport -ProbeCount 2 -IntervalInSeconds 15  | Set-AzLoadBalancer 

$ILB = Get-AzLoadBalancer -Name $ILBname -ResourceGroupName $ResourceGroupName

$FEConfig = get-AzLoadBalancerFrontendIpConfig -Name $FrontEndConfigurationName -LoadBalancer $ILB

$SQLHealthProbe  = Get-AzLoadBalancerProbeConfig -Name $LBProbeName -LoadBalancer $ILB

$BEConfig = Get-AzLoadBalancerBackendAddressPoolConfig -Name $ILB.BackendAddressPools[0].Name -LoadBalancer $ILB 

$ILB | Add-AzLoadBalancerRuleConfig -Name $LBConfigRuleName -FrontendIpConfiguration $FEConfig  -BackendAddressPool $BEConfig -Probe $SQLHealthProbe -Protocol tcp -FrontendPort  $ListenerPort -BackendPort $ListenerPort -LoadDistribution Default -EnableFloatingIP | Set-AzLoadBalancer   

Konfigurace naslouchacího procesu

Naslouchací proces skupiny dostupnosti představuje kombinaci IP adresy a názvu sítě, na kterých naslouchá skupina dostupnosti SQL Serveru. Vytvoření naslouchacího procesu skupiny dostupnosti:

  1. Získejte název síťového prostředku clusteru:

    a. Pomocí protokolu RDP se připojte k virtuálnímu počítači Azure, který je hostitelem primární repliky.

    b. Otevřete Správce clusteru s podporou převzetí služeb při selhání.

    c. Vyberte uzel Sítě a poznamenejte si název sítě clusteru. Tento název použijte v $ClusterNetworkName proměnné ve skriptu PowerShellu. Na následujícím obrázku je název sítě clusteru Síť clusteru 1:

    Snímek obrazovky znázorňující název sítě clusteru ve Správci clusteru s podporou převzetí služeb při selhání

  2. Přidejte přístupový bod klienta. Přístupový bod klienta je síťový název, který aplikace používají pro připojení k databázím ve skupině dostupnosti.

    a. Ve Správci clusteru s podporou převzetí služeb při selhání rozbalte název clusteru a pak vyberte Role.

    b. V podokně Role klikněte pravým tlačítkem myši na název skupiny dostupnosti a pak vyberte Přidat přístupový bod klienta prostředku>.

    Snímek obrazovky Správce clusteru s podporou převzetí služeb při selhání, který ukazuje výběr příkazu Klientský přístupový bod v místní nabídce pro skupinu dostupnosti

    c. V poli Název vytvořte název tohoto nového naslouchacího procesu. Název nového naslouchacího procesu je název sítě, který aplikace používají pro připojení k databázím ve skupině dostupnosti SQL Serveru.

    d. Vytvoření naslouchacího procesu dokončíte tak, že dvakrát vyberete Další a pak vyberete Dokončit. V tuto chvíli nepřeneste naslouchací proces ani prostředek do režimu online.

  3. Převezměte roli clusteru pro skupinu dostupnosti offline. Ve Správci clusteru s podporou převzetí služeb při selhání klikněte v části Role pravým tlačítkem myši na roli a pak vyberte Zastavit roli.

  4. Nakonfigurujte prostředek PROTOKOLU IP pro skupinu dostupnosti:

    a. Vyberte kartu Prostředky a rozbalte přístupový bod klienta, který jste vytvořili. Přístupový bod klienta je offline.

    Snímek obrazovky Správce clusteru s podporou převzetí služeb při selhání, který zobrazuje stav offline pro přístupový bod klienta

    b. Klikněte pravým tlačítkem myši na prostředek IP adresy a pak vyberte Vlastnosti. Poznamenejte si název IP adresy a použijte ji v $IPResourceName proměnné ve skriptu PowerShellu.

    c. V části IP adresa vyberte statickou IP adresu. Nastavte IP adresu jako stejnou adresu, kterou jste použili při nastavování adresy nástroje pro vyrovnávání zatížení na webu Azure Portal.

    Snímek obrazovky Správce clusteru s podporou převzetí služeb při selhání, který zobrazuje výběr IP adresy

  5. Nastavení skupiny dostupnosti SQL Serveru v závislosti na přístupovém bodu klienta:

    a. Ve Správci clusteru s podporou převzetí služeb při selhání vyberte Role a pak vyberte vaši skupinu dostupnosti.

    b. Na kartě Prostředky klikněte v části Další prostředky pravým tlačítkem myši na prostředek skupiny dostupnosti a pak vyberte Vlastnosti.

    c. Na kartě Závislosti přidejte název přístupového bodu klienta (naslouchací proces).

    Snímek obrazovky Správce clusteru s podporou převzetí služeb při selhání, který zobrazuje přidání názvu na kartě Závislosti

    d. Vyberte OK.

  6. Nastavení přístupového bodu klienta na IP adrese:

    a. Ve Správci clusteru s podporou převzetí služeb při selhání vyberte Role a pak vyberte vaši skupinu dostupnosti.

    b. Na kartě Prostředky klikněte pravým tlačítkem myši na klientský přístupový bod v části Název serveru a pak vyberte Vlastnosti.

    Snímek obrazovky Správce clusteru s podporou převzetí služeb při selhání, který zobrazuje možnost nabídky Vlastnosti pro název naslouchacího procesu

    c. Vyberte kartu Závislosti. Ověřte, zda je IP adresa závislostí. Pokud není, nastavte závislost na IP adrese. Pokud je uvedeno více prostředků, ověřte, že IP adresy mají závislosti NEBO, nikoli AND. Pak vyberte OK.

    Snímek obrazovky s kartou Závislosti, která zobrazuje prostředek IP adresy pro skupinu dostupnosti

    Tip

    Můžete ověřit, jestli jsou závislosti správně nakonfigurované. Ve Správci clusteru s podporou převzetí služeb při selhání přejděte na Role, klikněte pravým tlačítkem na skupinu dostupnosti, vyberte Další akce a pak vyberte Zobrazit sestavu závislostí. Pokud jsou závislosti správně nakonfigurované, skupina dostupnosti závisí na názvu sítě a název sítě závisí na IP adrese.

  7. Nastavení parametrů clusteru v PowerShellu:

    a. Zkopírujte následující skript PowerShellu do jedné z instancí SQL Serveru. Aktualizujte proměnné pro vaše prostředí.

    • $ClusterNetworkNameVe Správci clusteru s podporou převzetí služeb při selhání vyhledejte název tak, že vyberete Sítě, kliknete pravým tlačítkem myši na síť a vyberete Vlastnosti. $ClusterNetworkName je v části Název na kartě Obecné.

    • $IPResourceNameje název přidělený prostředku IP adresy ve Správci clusteru s podporou převzetí služeb při selhání. To se nachází ve Správci clusteru s podporou převzetí služeb při selhání výběrem rolí, výběrem názvu skupiny dostupnosti nebo FCI SQL Serveru, výběrem karty Prostředky v části Název serveru, pravým tlačítkem myši klikněte na prostředek IP adresy a vyberte Vlastnosti. Správná hodnota se zobrazí v poli Název na kartě Obecné.

    • $ListenerILBIP je IP adresa, kterou jste vytvořili v nástroji pro vyrovnávání zatížení Azure pro naslouchací proces skupiny dostupnosti. Najděte $ListenerILBIP ve Správci clusteru s podporou převzetí služeb při selhání na stejné stránce vlastností jako název prostředku naslouchacího procesu skupiny dostupnosti nebo FCI SQL Serveru.

    • $ListenerProbePort je port, který jste nakonfigurovali v nástroji pro vyrovnávání zatížení Azure pro naslouchací proces skupiny dostupnosti, například 59999. Platný je jakýkoli nepoužívaný port TCP.

    $ClusterNetworkName = "<MyClusterNetworkName>" # The cluster network name. Use Get-ClusterNetwork on Windows Server 2012 or later to find the name.
    $IPResourceName = "<IPResourceName>" # The IP address resource name.
    $ListenerILBIP = "<n.n.n.n>" # The IP address of the internal load balancer. This is the static IP address for the load balancer that you configured in the Azure portal.
    [int]$ListenerProbePort = <nnnnn>
    
    Import-Module FailoverClusters
    
    Get-ClusterResource $IPResourceName | Set-ClusterParameter -Multiple @{"Address"="$ListenerILBIP";"ProbePort"=$ListenerProbePort;"SubnetMask"="255.255.255.255";"Network"="$ClusterNetworkName";"EnableDhcp"=0}
    

    b. Nastavte parametry clusteru spuštěním skriptu PowerShellu na jednom z uzlů clusteru.

    Poznámka:

    Pokud jsou instance SQL Serveru v samostatných oblastech, musíte skript PowerShellu spustit dvakrát. Poprvé použijte $ListenerILBIP hodnoty a $ListenerProbePort hodnoty z první oblasti. Podruhé použijte $ListenerILBIP hodnoty a $ListenerProbePort hodnoty z druhé oblasti. Název sítě clusteru a název prostředku IP clusteru se také pro každou oblast liší.

  8. Přeneste roli clusteru pro skupinu dostupnosti do online režimu. Ve Správci clusteru s podporou převzetí služeb při selhání klikněte v části Role pravým tlačítkem myši na roli a pak vyberte Spustit roli.

V případě potřeby opakujte předchozí kroky a nastavte parametry clusteru pro IP adresu clusteru s podporou převzetí služeb při selhání Windows Serveru:

  1. Získejte NÁZEV IP adresy clusteru s podporou převzetí služeb při selhání Windows Serveru. Ve Správci clusteru s podporou převzetí služeb při selhání v části Základní prostředky clusteru vyhledejte název serveru.

  2. Klikněte pravým tlačítkem myši na IP adresu a pak vyberte Vlastnosti.

  3. Zkopírujte název IP adresy z názvu. Může se jednat o IP adresu clusteru.

  4. Nastavení parametrů clusteru v PowerShellu:

    a. Zkopírujte následující skript PowerShellu do jedné z instancí SQL Serveru. Aktualizujte proměnné pro vaše prostředí.

    • $ClusterCoreIP je IP adresa, kterou jste vytvořili v nástroji pro vyrovnávání zatížení Azure pro základní prostředek clusteru s podporou převzetí služeb při selhání s Windows Serverem. Liší se od IP adresy naslouchacího procesu skupiny dostupnosti.

    • $ClusterProbePort je port, který jste nakonfigurovali v nástroji pro vyrovnávání zatížení Azure pro sondu stavu clusteru s podporou převzetí služeb při selhání s Windows Serverem. Liší se od sondy naslouchacího procesu skupiny dostupnosti.

    $ClusterNetworkName = "<MyClusterNetworkName>" # The cluster network name. Use Get-ClusterNetwork on Windows Server 2012 or later to find the name.
    $IPResourceName = "<ClusterIPResourceName>" # The IP address resource name.
    $ClusterCoreIP = "<n.n.n.n>" # The IP address of the cluster IP resource. This is the static IP address for the load balancer that you configured in the Azure portal.
    [int]$ClusterProbePort = <nnnnn> # The probe port from WSFCEndPointprobe in the Azure portal. This port must be different from the probe port for the availability group listener.
    
    Import-Module FailoverClusters
    
    Get-ClusterResource $IPResourceName | Set-ClusterParameter -Multiple @{"Address"="$ClusterCoreIP";"ProbePort"=$ClusterProbePort;"SubnetMask"="255.255.255.255";"Network"="$ClusterNetworkName";"EnableDhcp"=0}
    

    b. Nastavte parametry clusteru spuštěním skriptu PowerShellu na jednom z uzlů clusteru.

Pokud je některý prostředek SQL nakonfigurovaný tak, aby používal port mezi 49152 a 65536 ( výchozí dynamický rozsah portů pro TCP/IP), přidejte vyloučení pro každý port. Mezi tyto zdroje patří:

  • Databázový stroj SQL Serveru
  • Naslouchací proces skupiny dostupnosti AlwaysOn
  • Sonda stavu instance clusteru s podporou převzetí služeb při selhání
  • Koncový bod zrcadlení databáze
  • Prostředek základní IP adresy clusteru

Přidání vyloučení zabrání dynamickému přiřazování jiných systémových procesů ke stejnému portu. Pro tento scénář nakonfigurujte následující vyloučení na všech uzlech clusteru:

  • netsh int ipv4 add excludedportrange tcp startport=58888 numberofports=1 store=persistent
  • netsh int ipv4 add excludedportrange tcp startport=59999 numberofports=1 store=persistent

Pokud se port nepoužívá, je důležité nakonfigurovat vyloučení portů. Jinak příkaz selže se zprávou typu Proces nemůže získat přístup k souboru, protože ho používá jiný proces. Pokud chcete ověřit, že jsou vyloučení správně nakonfigurovaná, použijte následující příkaz: netsh int ipv4 show excludedportrange tcp.

Upozorňující

Port sondy stavu naslouchacího procesu skupiny dostupnosti se musí lišit od portu sondy stavu základní IP adresy clusteru. V těchto příkladech je port naslouchacího procesu 59999 a port sondy stavu základní IP adresy clusteru je 58888. Oba porty vyžadují pravidlo brány firewall pro povolení příchozích přenosů.

Nastavení portu naslouchacího procesu v aplikaci SQL Server Management Studio

  1. Spusťte aplikaci SQL Server Management Studio a připojte se k primární replice.

  2. Přejděte na naslouchací procesy skupin dostupnosti>AlwaysOn s vysokou dostupností>.

  3. Teď byste měli vidět název naslouchacího procesu, který jste vytvořili ve Správci clusteru s podporou převzetí služeb při selhání. Klikněte pravým tlačítkem na název naslouchacího procesu a vyberte Vlastnosti.

  4. V poli Port (Port) zadejte číslo portu pro naslouchací proces skupiny dostupnosti pomocí $EndpointPort, které jste použili dříve (výchozí hodnota 1433) a pak vyberte OK.

Otestování připojení k naslouchacímu procesu

Otestování připojení:

  1. Pomocí protokolu RDP (Remote Desktop Protocol) se připojte k SQL Serveru, který je ve stejné virtuální síti, ale nevlastní repliku. Může se jednat o druhý SQL Server v clusteru.

  2. K otestování připojení použijte nástroj sqlcmd . Následující skript například vytvoří připojení sqlcmd k primární replice prostřednictvím naslouchacího procesu s ověřováním systému Windows:

    sqlcmd -S <listenerName> -E
    

    Pokud naslouchací proces používá jiný port než výchozí port (1433), zadejte port v připojovací řetězec. Například následující příkaz sqlcmd se připojí k naslouchacímu procesu na portu 1435:

    sqlcmd -S <listenerName>,1435 -E
    

Připojení SQLCMD se automaticky připojí k instanci SQL Serveru, která je hostitelem primární repliky.

Poznámka:

Ujistěte se, že je zadaný port otevřený na bráně firewall obou SQL Serverů. Oba servery vyžadují příchozí pravidlo pro port TCP, který používáte. Další informace naleznete v tématu Přidání nebo úprava pravidla brány firewall.

Pokud jste na virtuálním počítači sekundární repliky a nemůžete se připojit k naslouchacímu procesu, je možné, že port sondy nebyl správně nakonfigurovaný.

Pomocí následujícího skriptu můžete ověřit, jestli je port sondy správně nakonfigurovaný pro skupinu dostupnosti:

Clear-Host
Get-ClusterResource `
| Where-Object {$_.ResourceType.Name -like "IP Address"} `
| Get-ClusterParameter `
| Where-Object {($_.Name -like "Network") -or ($_.Name -like "Address") -or ($_.Name -like "ProbePort") -or ($_.Name -like "SubnetMask")}

Řízení a omezení.

Všimněte si následujících pokynů k naslouchacímu procesu skupiny dostupnosti v Azure pomocí interního nástroje pro vyrovnávání zatížení:

  • S interním nástrojem pro vyrovnávání zatížení přistupujete pouze k naslouchacímu procesu ze stejné virtuální sítě.

  • Pokud omezujete přístup pomocí skupiny zabezpečení sítě Azure, ujistěte se, že pravidla povolení zahrnují:

    • IP adresy virtuálního počítače s SQL Serverem back-endu
    • Plovoucí IP adresy nástroje pro vyrovnávání zatížení pro naslouchací proces skupiny dostupnosti
    • Pokud je to možné, základní IP adresa clusteru.
  • Vytvoření koncového bodu služby při použití standardního nástroje pro vyrovnávání zatížení se službou Azure Storage pro určující cloud Další informace naleznete v tématu Udělení přístupu z virtuální sítě.

Rutiny PowerShell

Pomocí následujících rutin PowerShellu vytvořte interní nástroj pro vyrovnávání zatížení pro Azure Virtual Machines.

Další kroky

Další informace najdete v následujících tématech: