Oktatóanyag: Rendelkezésre állási csoport figyelőjének konfigurálása Linux rendszerű virtuális gépeken
A következőre vonatkozik:SQL Server azure-beli virtuális gépen
Ez az oktatóanyag bemutatja, hogyan hozhat létre rendelkezésre állási csoport (AG) figyelőt linuxos virtuális gépeken (VM-eken) az Azure-ban, Red Hat Enterprise Linuxhoz (RHEL), SU Standard kiadás Linux Enterprise Serverhez (SLES) és Ubuntuhoz.
A következőket fogja megtanulni:
- Terheléselosztó létrehozása az Azure Portalon
- A terheléselosztó háttérkészletének konfigurálása
- Mintavétel létrehozása a terheléselosztóhoz
- A terheléselosztási szabályok beállítása
- A terheléselosztó erőforrásának létrehozása a fürtben
- Az AG-figyelő létrehozása
- A figyelőhöz való csatlakozás tesztelése
- Feladatátvétel tesztelése
Megjegyzés:
Torzításmentes kommunikáció
Ez a cikk a rabszolga kifejezésre mutató hivatkozásokat tartalmaz, amely a Microsoft által sértőnek ítélt kifejezés, ha ebben a kontextusban használják. A kifejezés azért jelenik meg ebben a cikkben, mert jelenleg a szoftverben jelenik meg. Ha a kifejezés el lesz távolítva a szoftverből, eltávolítjuk a cikkből.
Előfeltételek
Végezze el az oktatóanyagot: Az SQL Server rendelkezésre állási csoportjainak konfigurálása RHEL virtuális gépeken az Azure-ban.
A terheléselosztó létrehozása az Azure Portalon
Az alábbi utasítások végigvezetik a terheléselosztó létrehozása és konfigurálása 1–4. lépésén a Terheléselosztó és rendelkezésre állási csoport figyelőjének konfigurálása (Azure-beli virtuális gépeken futó SQL Server) című cikk Azure Portal-szakaszában.
A terheléselosztó létrehozása
Az Azure Portalon nyissa meg az SQL Server virtuális gépeket tartalmazó erőforráscsoportot.
Az erőforráscsoportban válassza a Hozzáadás lehetőséget.
Keresse meg a terheléselosztót, majd a keresési eredmények között válassza a Microsoft által közzétett Load Balancer elemet.
A Load Balancer panelen válassza a Létrehozás lehetőséget.
A Terheléselosztó létrehozása párbeszédpanelen konfigurálja a terheléselosztót az alábbiak szerint:
Setting Érték Név A terheléselosztót jelképező szövegnév. For example, sqlLB
.Típus Belső Virtuális hálózat A létrehozott alapértelmezett virtuális hálózatot el kell nevezni VM1VNET
.Alhálózat Válassza ki azt az alhálózatot, amelyben az SQL Server-példányok találhatók. Az alapértelmezett értéknek a következőnek kell lennie VM1Subnet
: .IP-cím hozzárendelése Statikus Privát IP-cím Használja a virtualip
fürtben létrehozott IP-címet.Előfizetés Használja az erőforráscsoporthoz használt előfizetést. Erőforráscsoport Válassza ki azt az erőforráscsoportot, amelyben az SQL Server-példányok találhatók. Helyen Válassza ki azt az Azure-helyet, ahol az SQL Server-példányok találhatók.
A háttérkészlet konfigurálása
Az Azure meghívja a háttércímkészlet háttérkészletét. Ebben az esetben a háttérkészlet az AG három SQL Server-példányának címe.
Az erőforráscsoportban válassza ki a létrehozott terheléselosztót.
A Gépház válassza a Háttérkészletek lehetőséget.
Háttérkészleteken válassza a Hozzáadás lehetőséget háttércímkészlet létrehozásához.
A Háttérkészlet hozzáadása csoportban írja be a háttérkészlet nevét.
A Társított területen válassza a Virtuális gép lehetőséget.
Jelölje ki a környezet összes virtuális gépét, és társítsa a megfelelő IP-címet az egyes kijelöléshez.
Válassza a Hozzáadás lehetőséget.
Mintavétel létrehozása
A mintavétel meghatározza, hogy az Azure hogyan ellenőrzi, hogy az SQL Server-példányok közül melyik jelenleg az AG-figyelő tulajdonosa. Az Azure a mintavétel létrehozásakor definiált port IP-címe alapján szondázja a szolgáltatást.
A terheléselosztó Gépház panelen válassza az Állapotminták lehetőséget.
Az Állapotadat-mintavételek panelen válassza a Hozzáadás lehetőséget.
Konfigurálja a mintavételt a Mintavétel hozzáadása panelen. A mintavétel konfigurálásához használja az alábbi értékeket:
Setting Érték Név A mintavételt jelképező szövegnév. For example, SQLAlwaysOnEndPointProbe
.Protokoll TCP
Port Bármilyen elérhető portot használhat. For example, 59999
.Intervallum 5
Nem kifogástalan állapot küszöbértéke 2
Kattintson az OK gombra.
Jelentkezzen be az összes virtuális gépre, és nyissa meg a mintavételi portot az alábbi parancsokkal:
sudo firewall-cmd --zone=public --add-port=59999/tcp --permanent sudo firewall-cmd --reload
Az Azure létrehozza a mintavételt, majd azt használja annak tesztelésére, hogy melyik SQL Server-példány rendelkezik az AG figyelőjével.
A terheléselosztási szabályok beállítása
A terheléselosztási szabályok konfigurálják, hogy a terheléselosztó hogyan irányítja a forgalmat az SQL Server-példányokhoz. Ehhez a terheléselosztóhoz engedélyeznie kell a közvetlen kiszolgálói visszatérést, mert egyszerre csak a három SQL Server-példány egyike rendelkezik az AG-figyelő erőforrásával.
A terheléselosztó Gépház panelen válassza a Terheléselosztási szabályok lehetőséget.
A Terheléselosztási szabályok panelen válassza a Hozzáadás lehetőséget.
A Terheléselosztási szabályok hozzáadása panelen konfigurálja a terheléselosztási szabályt. Használja a következő beállításokat:
Setting Érték Név A terheléselosztási szabályokat jelképező szövegnév. For example, SQLAlwaysOnEndPointListener
.Protokoll TCP Port 1433
Háttérport 1433
. Ez az érték figyelmen kívül lesz hagyva, mert ez a szabály lebegő IP-címet (közvetlen kiszolgálói visszatérést) használ.Szonda Használja a terheléselosztóhoz létrehozott mintavétel nevét. Munkamenet-állandóság Nincs Tétlen időtúllépés (perc) 4
Lebegő IP-cím (közvetlen kiszolgáló visszatérése) Engedélyezve Kattintson az OK gombra.
Az Azure konfigurálja a terheléselosztási szabályt. Most a terheléselosztó úgy van konfigurálva, hogy átirányítsa a forgalmat az AG figyelőt üzemeltető SQL Server-példányra.
Ezen a ponton az erőforráscsoport rendelkezik egy terheléselosztóval, amely az összes SQL Server-géphez csatlakozik. A terheléselosztó egy IP-címet is tartalmaz az SQL Server Always On AG-figyelőhöz, így bármely gép válaszolhat az AG-k kéréseire.
A rendelkezésre állási csoport figyelő erőforrásának létrehozása
Mielőtt terheléselosztó-erőforrást hoz létre a Pacemakerben, először hozza létre a figyelőerőforrást:
sudo crm configure primitive virtualip \
ocf:heartbeat:IPaddr2 \
params ip=x.y.z.a
Az előző példában x.y.z.a
a terheléselosztó előtérbeli IP-címére hivatkozik.
A terheléselosztó erőforrásának létrehozása a fürtben
Kövesse a konfigurálni kívánt disztribúcióra vonatkozó utasításokat.
Jelentkezzen be az elsődleges virtuális gépre. Létre kell hoznunk az erőforrást az Azure Load Balancer-mintavételi port engedélyezéséhez (a példában 59999-et használunk). Futtassa az alábbi parancsot:
sudo pcs resource create azure_load_balancer azure-lb port=59999
Hozzon létre egy csoportot, amely tartalmazza az és
azure_load_balancer
az erőforrástvirtualip
:sudo pcs resource group add virtualip_group azure_load_balancer virtualip
Korlátozások hozzáadása
A helymegkötést úgy kell konfigurálni, hogy az Azure Load Balancer IP-címe és az AG-erőforrás ugyanazon a csomóponton fusson. Futtassa az alábbi parancsot:
sudo pcs constraint colocation add azure_load_balancer ag_cluster-master INFINITY with-rsc-role=Master
Hozzon létre egy rendelési kényszert, hogy az AG-erőforrás az Azure load balancer IP-címe előtt működjön. Bár a helymeghatározási kényszer rendelési kényszert jelent, ez kényszeríti azt.
sudo pcs constraint order promote ag_cluster-master then start azure_load_balancer
A korlátozások ellenőrzéséhez futtassa a következő parancsot:
sudo pcs constraint list --full
A következő kimenetnek kell megjelennie:
Location Constraints: Ordering Constraints: promote ag_cluster-master then start virtualip (kind:Mandatory) (id:order-ag_cluster-master-virtualip-mandatory) promote ag_cluster-master then start azure_load_balancer (kind:Mandatory) (id:order-ag_cluster-master-azure_load_balancer-mandatory) Colocation Constraints: virtualip with ag_cluster-master (score:INFINITY) (with-rsc-role:Master) (id:colocation-virtualip-ag_cluster-master-INFINITY) azure_load_balancer with ag_cluster-master (score:INFINITY) (with-rsc-role:Master) (id:colocation-azure_load_balancer-ag_cluster-master-INFINITY) Ticket Constraints:
A rendelkezésre állási csoport figyelőjének létrehozása
Az elsődleges csomóponton futtassa a következő parancsot az sqlcmd vagy az SSMS-ben. Cserélje le az alább használt IP-címet az
virtualip
IP-címre.AZ SQL Server 2022 és újabb verziói:
ALTER AVAILABILITY GROUP [ag1] ADD LISTENER 'ag1-listener' ( WITH IP(( '10.0.0.7', '0.0.0.0' )), PORT = 1433 ); GO
SQL Server 2017 és SQL Server 2019:
ALTER AVAILABILITY GROUP [ag1] ADD LISTENER 'ag1-listener' ( WITH IP(( '10.0.0.7', '255.255.255.255' )), PORT = 1433 ); GO
Jelentkezzen be az egyes virtuálisgép-csomópontokbe. Az alábbi paranccsal nyissa meg a gazdagépfájlt, és állítsa be az egyes gépek állomásnévfeloldási beállítását
ag1-listener
.sudo vi /etc/hosts
A vi szerkesztőben írja be
i
a szöveget, és egy üres sorban adja hozzá aag1-listener
. Ezután adja hozzáag1-listener
az IP-cím melletti szóköz után.<IP of ag1-listener> ag1-listener
A vi szerkesztőből való kilépéshez először nyomja le az Esc billentyűt, majd írja be a parancsot
:wq
a fájl megírásához és a kilépéshez. Ezt minden csomóponton végezze el.
A figyelő és a feladatátvétel tesztelése
Ez a szakasz az SQL Server AG-figyelőbe való bejelentkezést és a feladatátvétel tesztelését ismerteti.
Az SQL Serverre való bejelentkezés tesztelése a rendelkezésre állási csoport figyelőjével
Az sqlcmd használatával jelentkezzen be az SQL Server elsődleges csomópontjára az AG-figyelő nevével:
- Használjon korábban létrehozott bejelentkezést, és cserélje le
<YourPassword>
a megfelelő jelszóra. Az alábbi példa azsa
SQL Serverrel létrehozott bejelentkezést használja.
sqlcmd -S ag1-listener -U sa -P <YourPassword>
- Használjon korábban létrehozott bejelentkezést, és cserélje le
Ellenőrizze annak a kiszolgálónak a nevét, amelyhez csatlakozik. Futtassa a következő parancsot az sqlcmdben:
SELECT @@SERVERNAME;
A kimenetnek az aktuális elsődleges csomópontot kell megjelenítenie. Ennek akkor kell lennie
VM1
, ha még soha nem tesztelt feladatátvételt.Lépjen ki az SQL Server-munkamenetből a
exit
parancs beírásával.
Feladatátvétel tesztelése
Futtassa a következő parancsot az elsődleges replika vagy egy másik replika manuális feladatátvételéhez
<VM2>
. Cserélje le<VM2>
a kiszolgálónév értékére.sudo pcs resource move ag_cluster-master <VM2> --master
Ha ellenőrzi a kényszereket, látni fogja, hogy a manuális feladatátvétel miatt egy másik kényszer lett hozzáadva:
sudo pcs constraint list --full
Láthatja, hogy egy azonosítóval
cli-prefer-ag_cluster-master
rendelkező korlátozás lett hozzáadva.Távolítsa el a kényszert azonosítóval
cli-prefer-ag_cluster-master
a következő paranccsal:sudo pcs constraint remove cli-prefer-ag_cluster-master
Ellenőrizze a fürterőforrásokat a paranccsal
sudo pcs resource
, és látnia kell, hogy az elsődleges példány most van<VM2>
.Megjegyzés:
This article contains references to the term slave, a term that Microsoft no longer uses. Ha a kifejezés el lesz távolítva a szoftverből, eltávolítjuk ebből a cikkből.
[<username>@<VM1> ~]$ sudo pcs resource Master/Slave Set: ag_cluster-master [ag_cluster] Masters: [ <VM2> ] Slaves: [ <VM1> <VM3> ] Resource Group: virtualip_group azure_load_balancer (ocf::heartbeat:azure-lb): Started <VM2> virtualip (ocf::heartbeat:IPaddr2): Started <VM2>
Az sqlcmd használatával jelentkezzen be az elsődleges replikára a figyelő nevével:
- Használjon korábban létrehozott bejelentkezést, és cserélje le
<YourPassword>
a megfelelő jelszóra. Az alábbi példa azsa
SQL Serverrel létrehozott bejelentkezést használja.
sqlcmd -S ag1-listener -U sa -P <YourPassword>
- Használjon korábban létrehozott bejelentkezést, és cserélje le
Ellenőrizze a kiszolgálót, amelyhez csatlakozik. Futtassa a következő parancsot az sqlcmdben:
SELECT @@SERVERNAME;
Látnia kell, hogy most már csatlakozik ahhoz a virtuális géphez, amelyhez a feladatátvételt el kellett végrehajtania.
Következő lépés
Ahhoz, hogy egy rendelkezésre állási csoport figyelőt használhasson az SQL Server-példányokhoz, létre kell hoznia és konfigurálnia kell egy terheléselosztót.
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: