Share via


ILB-figyelő konfigurálása rendelkezésre állási csoportokhoz Azure SQL Server rendszerű virtuális gépeken

Áttekintés

Fontos

Az Azure két különböző üzembe helyezési modellel rendelkezik az erőforrások létrehozásához és kezeléséhez: az Azure Resource Manager és a klasszikus. Ez a cikk a klasszikus üzemi modell használatát ismerteti. Javasoljuk, hogy a legtöbb új üzembe helyezés a Resource Manager modellt használja.

Ha figyelőt szeretne konfigurálni egy Always On rendelkezésre állási csoporthoz a Resource Manager modellben, tekintse meg a terheléselosztó Azure-beli Always On rendelkezésre állási csoporthoz való konfigurálását.

A rendelkezésre állási csoport tartalmazhat olyan replikákat, amelyek csak a helyszínen vagy csak az Azure-ban találhatók, vagy amelyek a helyszíni és az Azure-ra is kiterjednek a hibrid konfigurációkhoz. Az Azure-replikák ugyanabban a régióban vagy több olyan régióban is lehetnek, amelyek több virtuális hálózatot használnak. A cikkben ismertetett eljárások feltételezik, hogy már konfigurált egy rendelkezésre állási csoportot , de még nem konfigurált figyelőt.

Belső figyelőkre vonatkozó irányelvek és korlátozások

A belső terheléselosztó (ILB) azure-beli rendelkezésre állásicsoport-figyelővel való használatára az alábbi irányelvek vonatkoznak:

  • A rendelkezésre állási csoport figyelője Windows Server 2008 R2, Windows Server 2012 és Windows Server 2012 R2 rendszeren támogatott.
  • Minden felhőszolgáltatáshoz csak egy belső rendelkezésreállási csoport figyelője támogatott, mivel a figyelő az ILB-hez van konfigurálva, és minden felhőszolgáltatáshoz csak egy ILB tartozik. Azonban több külső figyelő is létrehozható. További információ: Külső figyelő konfigurálása Always On rendelkezésre állási csoportokhoz az Azure-ban.

A figyelő akadálymentességének meghatározása

Fontos tisztában van azzal, hogy a rendelkezésre állási csoport figyelőjének konfigurálásának két módja van az Azure-ban. A módszerek eltérnek a figyelő létrehozásakor használt Azure-terheléselosztó típusától. Az alábbi táblázat a különbségeket ismerteti:

Terheléselosztó típusa Implementálás A következő esetekben használja:
Külső A virtuális gépeket (VM-eket) üzemeltető felhőszolgáltatás nyilvános virtuális IP-címét használja. A figyelőt a virtuális hálózaton kívülről kell elérnie, beleértve az internetről is.
Belső Belső terheléselosztót használ a figyelő privát címével. A figyelőt csak ugyanabból a virtuális hálózatból érheti el. Ez a hozzáférés a helyek közötti VPN-t is magában foglalja hibrid forgatókönyvekben.

Fontos

A felhőszolgáltatás nyilvános VIRTUÁLIS IP-címét (külső terheléselosztót) használó figyelők esetében, amíg az ügyfél, a figyelő és az adatbázisok ugyanabban az Azure-régióban vannak, nem kell kimenő forgalmat fizetnie. Ellenkező esetben a figyelőn keresztül visszaadott adatok kimenő forgalomnak minősülnek, és a díjakat a normál adatátviteli díjszabás szerint számítjuk fel.

Az ILB csak regionális hatókörű virtuális hálózatokon konfigurálható. Az affinitási csoporthoz konfigurált meglévő virtuális hálózatok nem használhatnak ILB-t. További információ: Belső terheléselosztó áttekintése.

Ez a cikk egy ILB-t használó figyelő létrehozásával foglalkozik. Ha nyilvános vagy külső figyelőre van szüksége, tekintse meg a cikk külső figyelő beállítását ismertető verzióját.

Elosztott terhelésű virtuálisgép-végpontok létrehozása közvetlen kiszolgálóvisszavétellel

Először hozzon létre egy ILB-t a szakasz későbbi részében található szkript futtatásával.

Hozzon létre egy elosztott terhelésű végpontot minden olyan virtuális géphez, amely Egy Azure-replikát üzemeltet. Ha több régióban rendelkezik replikákkal, az adott régió minden replikájának ugyanabban a felhőszolgáltatásban kell lennie ugyanabban az Azure-beli virtuális hálózatban. Több Azure-régióra kiterjedő rendelkezésre állásicsoport-replikák létrehozásához több virtuális hálózat konfigurálására van szükség. A virtuális hálózatok közötti kapcsolat konfigurálásáról további információt a Virtuális hálózat konfigurálása virtuális hálózati kapcsolathoz című témakörben talál.

  1. A részletek megtekintéséhez lépjen a Azure Portal minden olyan virtuális gépre, amely replikát üzemeltet.

  2. Kattintson az egyes virtuális gépek Végpontok lapjára.

  3. Ellenőrizze, hogy a használni kívánt figyelővégpont neve és nyilvános portja még nincs-e használatban. Az ebben a szakaszban szereplő példában a név MyEndpoint, a port pedig 1433.

  4. Töltse le és telepítse a legújabb PowerShell-modult a helyi ügyfélen.

  5. Indítsa el Azure PowerShell.
    Megnyílik egy új PowerShell-munkamenet az Azure felügyeleti moduljainak betöltésével.

  6. Futtassa az Get-AzurePublishSettingsFile parancsot. Ez a parancsmag egy böngészőbe irányítja, hogy letöltsön egy közzétételi beállításfájlt egy helyi könyvtárba. Előfordulhat, hogy a rendszer kérni fogja az Azure-előfizetéséhez tartozó bejelentkezési hitelesítő adatait.

  7. Futtassa a következő Import-AzurePublishSettingsFile parancsot a letöltött közzétételi beállítások fájljának elérési útjával:

    Import-AzurePublishSettingsFile -PublishSettingsFile <PublishSettingsFilePath>
    

    A közzétételi beállítások fájljának importálása után a PowerShell-munkamenetben kezelheti az Azure-előfizetését.

  8. ILB esetén rendeljen hozzá egy statikus IP-címet. Vizsgálja meg az aktuális virtuális hálózati konfigurációt a következő parancs futtatásával:

    (Get-AzureVNetConfig).XMLConfiguration
    
  9. Jegyezze fel annak az alhálózatnak az alhálózatát , amely a replikákat üzemeltető virtuális gépeket tartalmazza. Ezt a nevet használja a szkript $SubnetName paramétere.

  10. Jegyezze fel a VirtualNetworkSite nevét és a replikákat üzemeltető virtuális gépeket tartalmazó alhálózat kezdő AddressPrefix nevét . Keressen egy elérhető IP-címet úgy, hogy mindkét értéket átadja a Test-AzureStaticVNetIP parancsnak, és megvizsgálja az AvailableAddresses címet. Ha például a virtuális hálózat neve MyVNet , és alhálózati címtartománya 172.16.0.128-kor kezdődik, a következő parancs listázná az elérhető címeket:

    (Test-AzureStaticVNetIP -VNetName "MyVNet"-IPAddress 172.16.0.128).AvailableAddresses
    
  11. Válassza ki az elérhető címek egyikét, és használja azt a szkript $ILBStaticIP paraméterében a következő lépésben.

  12. Másolja a következő PowerShell-szkriptet egy szövegszerkesztőbe, és állítsa be a változóértékeket a környezetének megfelelően. Egyes paraméterekhez alapértelmezett beállításokat adtunk meg.

    Az affinitáscsoportokat használó meglévő üzemelő példányok nem adhatnak hozzá ILB-t. Az ILB-követelményekkel kapcsolatos további információkért lásd a belső terheléselosztó áttekintését.

    Ha a rendelkezésre állási csoport az Azure-régiókra is kiterjed, a szkriptet egyszer kell futtatnia a felhőszolgáltatás minden adatközpontjában és az adatközpontban található csomópontokon.

    # Define variables
    $ServiceName = "<MyCloudService>" # the name of the cloud service that contains the availability group nodes
    $AGNodes = "<VM1>","<VM2>","<VM3>" # all availability group nodes containing replicas in the same cloud service, separated by commas
    $SubnetName = "<MySubnetName>" # subnet name that the replicas use in the virtual network
    $ILBStaticIP = "<MyILBStaticIPAddress>" # static IP address for the ILB in the subnet
    $ILBName = "AGListenerLB" # customize the ILB name or use this default value
    
    # Create the ILB
    Add-AzureInternalLoadBalancer -InternalLoadBalancerName $ILBName -SubnetName $SubnetName -ServiceName $ServiceName -StaticVNetIPAddress $ILBStaticIP
    
    # Configure a load-balanced endpoint for each node in $AGNodes by using ILB
    ForEach ($node in $AGNodes)
    {
        Get-AzureVM -ServiceName $ServiceName -Name $node | Add-AzureEndpoint -Name "ListenerEndpoint" -LBSetName "ListenerEndpointLB" -Protocol tcp -LocalPort 1433 -PublicPort 1433 -ProbePort 59999 -ProbeProtocol tcp -ProbeIntervalInSeconds 10 -InternalLoadBalancerName $ILBName -DirectServerReturn $true | Update-AzureVM
    }
    
  13. A változók beállítása után másolja a szkriptet a szövegszerkesztőből a PowerShell-munkamenetbe a futtatásához. Ha a parancssor továbbra is megjelenik >>, nyomja le ismét az Enter billentyűt, hogy a szkript elinduljon.

Ellenőrizze, hogy a KB2854082 telepítve van-e, ha szükséges

Ezután, ha a fürt bármelyik kiszolgálója Windows Server 2008 R2 vagy Windows Server 2012 rendszert futtat, ellenőriznie kell, hogy a KB2854082 gyorsjavítás telepítve van-e a fürt részét képező összes helyszíni kiszolgálóra vagy Azure-beli virtuális gépre. A fürtben található, de a rendelkezésre állási csoportban nem szereplő kiszolgálókon vagy virtuális gépeken is telepítve kell lennie ennek a gyorsjavításnak.

Az egyes fürtcsomópontok távoli asztali munkamenetében töltse le a KB2854082 fájlt egy helyi könyvtárba. Ezután telepítse a gyorsjavítást az egyes fürtcsomópontokon egymás után. Ha a fürtszolgáltatás jelenleg a fürtcsomóponton fut, a kiszolgáló a gyorsjavítás telepítésének végén újraindul.

Figyelmeztetés

A fürtszolgáltatás leállítása vagy a kiszolgáló újraindítása hatással van a fürt és a rendelkezésre állási csoport kvórumállapotára, és előfordulhat, hogy a fürt offline állapotba kerül. A fürt magas rendelkezésre állásának fenntartása a telepítés során:

  • A fürt optimális kvórumállapotban van.
  • Mielőtt bármilyen csomópontra telepítené a gyorsjavítást, az összes fürtcsomópont online állapotban van.
  • Mielőtt telepítené a gyorsjavítást a fürt bármely más csomópontján, engedélyezze, hogy a gyorsjavítás telepítése befejeződjön az egyik csomóponton, beleértve a kiszolgáló teljes újraindítását is.

A tűzfalportok megnyitása a rendelkezésre állási csoport csomópontjaiban

Ebben a lépésben létrehoz egy tűzfalszabályt az elosztott terhelésű végpont mintavételi portjának megnyitásához (59999, a korábban megadottak szerint), valamint egy másik szabályt a rendelkezésre állási csoport figyelőportjának megnyitásához. Mivel a rendelkezésre állási csoport replikáit tartalmazó virtuális gépeken létrehozta az elosztott terhelésű végpontot, meg kell nyitnia a mintavételi portot és a figyelőportot a megfelelő virtuális gépeken.

  1. A replikákat üzemeltető virtuális gépeken indítsa el a Fokozott biztonságú Windows tűzfalat.

  2. Kattintson a jobb gombbal a Bejövő szabályok elemre, majd kattintson az Új szabály parancsra.

  3. A Szabály típusa lapon válassza a Port lehetőséget, majd kattintson a Tovább gombra.

  4. A Protokoll és portok lapon válassza a TCP lehetőséget, írja be az 59999-et az Adott helyi portok mezőbe, majd kattintson a Tovább gombra.

  5. A Művelet lapon hagyja bejelölve a Kapcsolat engedélyezése lehetőséget, majd kattintson a Tovább gombra.

  6. A Profil lapon fogadja el az alapértelmezett beállításokat, majd kattintson a Tovább gombra.

  7. A Név lap Név szövegmezőjében adjon meg egy szabálynevet( például Always On figyelő mintavételi port), majd kattintson a Befejezés gombra.

  8. Ismételje meg az előző lépéseket a rendelkezésre állási csoport figyelőportjához (a szkript $EndpointPort paraméterében korábban megadottak szerint), majd adjon meg egy megfelelő szabálynevet, például az Always On figyelőportot.

A rendelkezésre állási csoport figyelőjének létrehozása

A rendelkezésre állási csoport figyelőjének létrehozása két lépésben. Először hozza létre az ügyfél-hozzáférési pont fürterőforrását, és konfigurálja a függőségeket. Másodszor konfigurálja a fürterőforrásokat a PowerShellben.

Az ügyfél-hozzáférési pont létrehozása és a fürtfüggőségek konfigurálása

Ebben a lépésben manuálisan hozza létre a rendelkezésre állási csoport figyelőjét a Feladatátvevőfürt-kezelőben és SQL Server Management Studio.

  1. Nyissa meg a Feladatátvevőfürt-kezelőt az elsődleges replikát futtató csomópontról.

  2. Válassza ki a Hálózatok csomópontot, majd jegyezze fel a fürthálózat nevét. Ezt a nevet a PowerShell-szkript $ClusterNetworkName változója használja.

  3. Bontsa ki a fürt nevét, majd kattintson a Szerepkörök elemre.

  4. A Szerepkörök panelen kattintson a jobb gombbal a rendelkezésre állási csoport nevére, majd válassza az Erőforrás-ügyfél>hozzáférési pontjának hozzáadása parancsot.

    Ügyfél-hozzáférési pont hozzáadása rendelkezésre állási csoporthoz

  5. A Név mezőben hozzon létre egy nevet az új figyelőnek, kattintson kétszer a Tovább gombra, majd a Befejezés gombra.
    A figyelőt vagy az erőforrást jelenleg ne kapcsolja online állapotba.

  6. Kattintson az Erőforrások fülre, majd bontsa ki az imént létrehozott ügyfél-hozzáférési pontot. Megjelenik a fürt összes fürthálózatának IP-címerőforrása. Ha ez egy csak Azure-beli megoldás, csak egy IP-címerőforrás jelenik meg.

  7. A következő lehetőségek közül választhat:

    • Hibrid megoldás konfigurálása:

      a. Kattintson a jobb gombbal a helyszíni alhálózatnak megfelelő IP-címerőforrásra, majd válassza a Tulajdonságok parancsot. Jegyezze fel az IP-cím és a hálózat nevét.

      b. Válassza a Statikus IP-cím lehetőséget, rendeljen hozzá egy nem használt IP-címet, majd kattintson az OK gombra.

    • Csak Azure-beli megoldás konfigurálása:

      a. Kattintson a jobb gombbal az Azure-alhálózatnak megfelelő IP-cím-erőforrásra, majd válassza a Tulajdonságok parancsot.

      Megjegyzés

      Ha a figyelő később a DHCP által kiválasztott ütköző IP-cím miatt nem tud online állapotba jönni, ebben a tulajdonságablakban konfigurálhat egy érvényes statikus IP-címet.

      b. Ugyanebben az IP-cím tulajdonságai ablakban módosítsa az IP-cím nevét.
      Ezt a nevet használja a PowerShell-szkript $IPResourceName változója. Ha a megoldás több Azure-beli virtuális hálózatra is kiterjed, ismételje meg ezt a lépést minden IP-erőforrás esetében.

A fürterőforrások konfigurálása a PowerShellben

  1. ILB esetén a korábban létrehozott ILB IP-címét kell használnia. Ezt az IP-címet a PowerShellben a következő szkripttel szerezheti be:

    # Define variables
    $ServiceName="<MyServiceName>" # the name of the cloud service that contains the AG nodes
    (Get-AzureInternalLoadBalancer -ServiceName $ServiceName).IPAddress
    
  2. Az egyik virtuális gépen másolja az operációs rendszer PowerShell-parancsfájlját egy szövegszerkesztőbe, majd állítsa be a változókat a korábban feljegyzett értékekre.

    Windows Server 2012 vagy újabb verzió esetén használja a következő szkriptet:

    # Define variables
    $ClusterNetworkName = "<MyClusterNetworkName>" # the cluster network name (Use Get-ClusterNetwork on Windows Server 2012 of higher to find the name)
    $IPResourceName = "<IPResourceName>" # the IP address resource name
    $ILBIP = "<X.X.X.X>" # the IP address of the ILB
    
    Import-Module FailoverClusters
    
    Get-ClusterResource $IPResourceName | Set-ClusterParameter -Multiple @{"Address"="$ILBIP";"ProbePort"="59999";"SubnetMask"="255.255.255.255";"Network"="$ClusterNetworkName";"EnableDhcp"=0}
    

    Windows Server 2008 R2 esetén használja a következő szkriptet:

    # Define variables
    $ClusterNetworkName = "<MyClusterNetworkName>" # the cluster network name (Use Get-ClusterNetwork on Windows Server 2012 of higher to find the name)
    $IPResourceName = "<IPResourceName>" # the IP address resource name
    $ILBIP = "<X.X.X.X>" # the IP address of the ILB
    
    Import-Module FailoverClusters
    
    cluster res $IPResourceName /priv enabledhcp=0 address=$ILBIP probeport=59999  subnetmask=255.255.255.255
    
  3. Miután beállította a változókat, nyisson meg egy emelt szintű Windows PowerShell ablakot, és illessze be a szkriptet a szövegszerkesztőből a PowerShell-munkamenetbe a futtatáshoz. Ha a parancssor továbbra is megjelenik >>, nyomja le ismét az Enter billentyűt, hogy a szkript elinduljon.

  4. Ismételje meg az előző lépéseket minden virtuális gép esetében.
    Ez a szkript konfigurálja az IP-cím erőforrást a felhőszolgáltatás IP-címével, és beállít más paramétereket, például a mintavételi portot. Amikor az IP-cím-erőforrás online állapotba kerül, a korábban létrehozott elosztott terhelésű végpontról válaszolhat a mintavételi porton végzett lekérdezésre.

A figyelő online állapotba hozása

  1. A Feladatátvevőfürt-kezelőben bontsa ki a Szerepkörök elemet, majd jelölje ki a rendelkezésre állási csoportot.

  2. Az Erőforrások lapon kattintson a jobb gombbal a figyelő nevére, majd kattintson a Tulajdonságok parancsra.

  3. Kattintson a Függőségek fülre. Ha több erőforrás is szerepel a listában, ellenőrizze, hogy az IP-címek rendelkeznek-e VAGY, és nem AND függésekkel.

  4. Kattintson az OK gombra.

  5. Kattintson a jobb gombbal a figyelő nevére, majd kattintson az Online állapotba hozás parancsra.

  6. Miután a figyelő online állapotba vált, az Erőforrások lapon kattintson a jobb gombbal a rendelkezésre állási csoportra, majd kattintson a Tulajdonságok parancsra.

    A rendelkezésre állási csoport erőforrásának konfigurálása

  7. Hozzon létre függőséget a figyelőnév-erőforráshoz (ne az IP-cím erőforrásainak nevéhez), majd kattintson az OK gombra.

    Függőség hozzáadása a figyelő nevéhez

  8. Indítsa el SQL Server Management Studio, majd csatlakozzon az elsődleges replikához.

  9. Lépjen az AlwaysOn magas rendelkezésre állású rendelkezésre állási>csoportok><availabilityGroupName>>rendelkezésre állási csoport figyelőihez.
    Meg kell jelennie a Feladatátvevőfürt-kezelőben létrehozott figyelőnévnek.

  10. Kattintson a jobb gombbal a figyelő nevére, majd kattintson a Tulajdonságok parancsra.

  11. A Port mezőben adja meg a rendelkezésre állási csoport figyelőjének portszámát a korábban használt $EndpointPort használatával (ebben az oktatóanyagban az 1433 volt az alapértelmezett), majd kattintson az OK gombra.

Elintézendő elemek

A rendelkezésre állási csoport figyelőjének létrehozása után szükség lehet a RegisterAllProvidersIP és a HostRecordTTL fürtparaméterek módosítására a figyelőerőforráshoz. Ezek a paraméterek csökkenthetik a feladatátvétel utáni újracsatlakozási időt, ami megakadályozhatja a kapcsolat időtúllépését. További információ ezekről a paraméterekről és a mintakódról: Rendelkezésre állási csoport figyelőjének létrehozása vagy konfigurálása.

A rendelkezésre állási csoport figyelőjének tesztelése (ugyanazon a virtuális hálózaton belül)

Ebben a lépésben egy ugyanazon a hálózaton futó ügyfélalkalmazással teszteli a rendelkezésre állási csoport figyelőjét.

Az ügyfélkapcsolatra a következő követelmények vonatkoznak:

  • A figyelőhöz való ügyfélkapcsolatoknak olyan gépekről kell származniuk, amelyek más felhőszolgáltatásban találhatók, mint amelyik az Always On rendelkezésre állási replikákat üzemelteti.
  • Ha az Always On replikák különböző alhálózatokon találhatók, az ügyfeleknek meg kell adniuk a MultisubnetFailover=True értéket a kapcsolati sztring. Ez a feltétel párhuzamos csatlakozási kísérleteket eredményez a különböző alhálózatok replikáira. Ez a forgatókönyv egy régiók közötti Always On rendelkezésre állási csoport üzembe helyezését is magában foglalja.

Az egyik példa a figyelőhöz való csatlakozás ugyanazon Azure-beli virtuális hálózat egyik virtuális gépéről (de nem egy replikát üzemeltető virtuális gépről). A teszt elvégzésének egy egyszerű módja, ha megpróbálja csatlakoztatni SQL Server Management Studio a rendelkezésre állási csoport figyelőjével. Egy másik egyszerű módszer a SQLCMD.exefuttatása, az alábbiak szerint:

sqlcmd -S "<ListenerName>,<EndpointPort>" -d "<DatabaseName>" -Q "select @@servername, db_name()" -l 15

Megjegyzés

Ha az EndpointPort értéke 1433, nem kell megadnia a hívásban. Az előző hívás azt is feltételezi, hogy az ügyfélszámítógép ugyanahhoz a tartományhoz csatlakozik, és hogy a hívó Windows-hitelesítéssel kapott engedélyeket az adatbázishoz.

A figyelő tesztelésekor győződjön meg arról, hogy feladatátvételt végzett a rendelkezésre állási csoporton, hogy az ügyfelek a feladatátvételek során kapcsolódni tudjanak a figyelőhöz.

Következő lépések

Amellett, hogy automatikusan csatlakoztatja az ügyfeleket az elsődleges replikához, a figyelővel átirányíthatók a csak olvasható számítási feladatok a másodlagos replikákra. Ez a használat javíthatja a teljes megoldás teljesítményét és méretezhetőségét. További információ: ReadIntent Routing használata az Azure Always On rendelkezésre állási csoport figyelőjével.

Megjegyzés

Az Azure-figyelőkkel kapcsolatos hibaelhárítási tippekért tekintse meg a rendelkezésre állási csoport figyelőjének hibaelhárítását az Azure-ban az AlwaysOn támogatási csapat blogjában.

A SQL Server Azure-beli használatáról további információt az Azure-beli virtuális gépek SQL Server című témakörben talál.