Mindig bekapcsolt magas rendelkezésre állási csoportok konfigurálása az SQL Serveren
Ebben a cikkben lépésről lépésre végigvezetjük a Mindig bekapcsolva rendelkezésre állási csoportok telepítéséhez és konfigurálásához a Windows Server 2019 rendszeren futó SQL Server rendszeren, megvitatjuk a feladatátvételi forgatókönyveket és néhány mást. Kapcsolódó témák.
Az Always On Availability Groups magas szintű rendelkezésre állást biztosít a MIcrosoft SQL Serverben. Az Always On az MSSQL 2012 kiadásában jelent meg.
Az Always On Availability Groups szolgáltatásai az SQL Serverben
Mire használhatja az SQL Server rendelkezésre állási csoportjait?
MS SQL magas rendelkezésre állás és automatikus feladatátvétel;
SELECT lekérdezések terheléselosztása a csomópontok között (a másodlagos replikák olvashatók lehetnek);
-
Biztonsági mentés másodlagos replikákból;
Adatredundancia. Minden replika megőrzi a rendelkezésre állási csoport adatbázisának másolatait.
Az Always On a Windows Server Failover Cluster-en (WSFC) alapul. A WSFC figyeli a rendelkezésre állási csoport csomópontjait, és automatikus feladatátvételt biztosít. Az MS SQL Server 2017-től kezdve az Always On WSFC nélkül és Linux gazdagépeken is használható. Linux-alapú fürt felépítésekor a WSFC helyett használhatja a Pacemakert.
Az Always On elérhető a Standard kiadásban, de bizonyos korlátozásokkal rendelkezik:
2 replikára korlátozódik (elsődleges és másodlagos);
A másodlagos replika nem használható adatok olvasására;
A másodlagos replika nem használható az MS SQL biztonsági mentésére;
Elérhetőségi csoportonként csak 1 adatbázis támogatott.
A Vállalati kiadásban nincsenek korlátozások.
Tekintsük a feltételeket.
Az Always On Availability Group replikák és adatbázisok halmaza;
-
A Replica egy SQL Server-példány a rendelkezésre állási csoportban. A replika lehet elsődleges vagy másodlagos. Minden replika egy vagy több adatbázist tartalmazhat.
Az Always On WSFC-n alapul. Minden rendelkezésre állási csoport csomópontjának egy Windows feladatátvételi fürt tagjának kell lennie. Minden SQL Server-példány több rendelkezésre állási csoporttal rendelkezhet. Minden rendelkezésre állási csoport legfeljebb 8 másodlagos replikával rendelkezhet.
Ha az elsődleges replika meghibásodik, a fürt új elsődleges replikára szavaz, és az Always On egyik másodlagos replikát elsődlegessé teszi. Mivel a felhasználók csatlakoznak a Listenerhez (egy speciális fürt IP-címhez és a megfelelő DNS-névhez), amikor az Always On funkcióval dolgoznak, ismét lehetséges lesz az írási lekérdezések futtatása. A figyelő felelős a SELECT lekérdezések másodlagos replikák közötti egyensúlyáért is.
Konfigurálja a Windows feladatátvételi fürtöt a Mindig bekapcsolt elérhetőségi csoporthoz
Először is konfigurálnunk kell egy feladatátvételi fürtöt az Always On által használt összes csomóponton.
Íme az én konfigurációm:
2 Windows Server 2019 rendszert futtató virtuális gép
2 SQL Server 2019 Enterprise példány
A csomópontok nevei: testnode1 és testnode2. Az SQL Server-példányok neve: node1 és node2.
Adja hozzá a Failover Clustering szerepet a Kiszolgálókezelővel, vagy telepítse a PowerShell segítségével:
Install-WindowsFeature -Name Failover-Clustering -IncludeManagementTools
A telepítés automatikus, és még nem kell semmit konfigurálnia. Futtassa a Failover Cluster Manager beépülő modult (
FailoverClusters.SnapInHelper.msc), és hozzon létre egy új klasztert.
Adja hozzá a csatlakozni kívánt gazdagépek nevét a fürthöz.
Ezután a varázsló felajánlja néhány teszt elvégzését. Ehhez válassza ki az első elemet.
Adja meg a fürt nevét, válassza ki a hálózatot és a fürt IP-címét. A fürt neve automatikusan megjelenik a DNS-ben; nem kell manuálisan DNS-rekordot létrehoznia. Az én esetemben a fürt neve ClusterAG.
Törölje a jelet a Minden jogosult tárhely hozzáadása a fürthöz jelölőnégyzetből, mert később is tudunk lemezeket hozzáadni.
Csak két csomópont van a fürtben, ezért konfigurálnia kell a Cluster Quorum beállítást. A Klaszter Kvóruma döntő szavazat. Például, ha a fürt egyik csomópontja elérhetetlenné válik, a fürtnek észlelnie kell, hogy mely csomópontok vannak ténylegesen online és láthatják egymást. A Cluster Quorum biztosítja a fürt konzisztenciáját (Cluster -> More Actions -> Configure Cluster Quorum Settings).
Válassza ki a határozatképesség tanú opciót.
Ezután válassza ki a tanú típusát: fájlmegosztó tanú.
Adja meg a megosztott mappa UNC elérési útját. Hozd létre magad a könyvtárat. A feladatátvételi fürtön kívüli kiszolgálón jelen kell lennie.
A fürt konfigurálásakor a következő hibaüzenet jelenhet meg:
There was an error configuring the file share witness. Unable to save property changes for File Share Witness. The system cannot find the file specified.Valószínűleg egy felhasználói fiók, amely alatt a fürt fut, nem rendelkezik NTFS-engedéllyel a megosztott mappához való hozzáféréshez. Alapértelmezés szerint a fürt helyi felhasználói fiók alatt fut. A mappában jogosultságokat adhat az összes fürt számítógépnek, vagy módosíthatja a fürtszolgáltatás fiókját, és megadhatja a megfelelő jogosultságokat.
A Windows Failover Cluster alapkonfigurációja véget ért.
Az Always On Availability Group konfigurálása az MS SQL Serveren
A szokásos SQL Server-példány telepítése után engedélyezheti és konfigurálhatja az Always On Availability Groups szolgáltatást. Engedélyezze őket az SQL Server Configuration Manager példánytulajdonságaiban. Amint a képernyőképen látható, az SQL Server már észlelte, hogy egy WSFC-fürthöz tartozik. Jelölje be az Enable Always On Availability Groups lehetőséget, és indítsa újra az MSSQL-példányszolgáltatást. Ugyanezt tegye a második esetben is.
Tipp. Az Always On konfiguráció előtt győződjön meg arról, hogy az SQL Server-szolgáltatások nem helyi rendszerfiók alatt futnak. Javasoljuk, hogy csoportosan felügyelt szolgáltatásfiókokat vagy egy szokásos tartományi fiókot használjon. Ellenkező esetben nem tudja befejezni az Always-On konfigurációt.
Futtassa az SQL Server Management Studio programot, csatlakozzon a gazdagéphez, kattintson a Always On High Availability lehetőségre, és futtassa az Új elérhetőségi csoport varázslót.
Az SQL Server Management Studio 18.x for SQL Server 2017-ben és az SQL Server 2019-ben megjelent néhány Always On beállítás, amely csak T-SQL-ben volt elérhető, ezért javasolt a legújabb SSMS-verzió használata.
Adja meg a Mindig bekapcsolt rendelkezésre állási csoport nevét, és válassza az Adatbázisszint állapotészlelés lehetőséget. Ezzel a beállítással az Always On képes lesz észlelni, ha egy adatbázis nem megfelelő.
Válassza az SQL Server-adatbázisok lehetőséget, hogy hozzáadja az Always On elérhetőségi csoporthoz.
Kattintson a Replika hozzáadása lehetőségre, és csatlakoztassa a második SQL-kiszolgálót. Így akár 8 szervert is hozzáadhat.
Az Kezdeti szerepkör egy replika szerep a csoport létrehozásának időpontjában. Lehet elsődleges vagy másodlagos;
Automatikus feladatátvétel - ha egy adatbázis elérhetetlenné válik, az Always On az elsődleges szerepet egy másik replikába helyezi át. Ellenőrizze ezt az elemet;
Az Elérhetőségi mód lehetővé teszi a szinkron véglegesítés vagy az aszinkron véglegesítés kiválasztását. Ha szinkron módot választ, az elsődleges replikába érkező tranzakciók elküldésre kerülnek az összes többi másodlagos replikára, amelyen a szinkron mód van. Az elsődleges replika csak azután fejezi be a tranzakciót, hogy a többi replika felírta a lemezre. Így az adatvesztés megszűnik, ha az elsődleges replika meghibásodik. Aszinkron módban az elsődleges replika azonnal írja be a változtatásokat anélkül, hogy megvárná a többi replika válaszát.
Az Olvasható másodlagos egy olyan paraméter, amely lehetővé teszi SELECT-lekérdezések futtatását a másodlagos replikákon. Ha az érték igen, az ügyfelek akkor is csak olvasási hozzáférést kapnak, ha anélkül csatlakoznak
ApplicationIntent=readonlyA véglegesítéshez szükséges szinkronizált másodlagosok a tranzakció befejezéséhez szükséges szinkronizált másodlagos replikák száma. Állítsd be a replikák számától függően, én 1-re állítom.
Ne szerkesszen semmit a Végpont lapon.
A Biztonsági mentési beállítások lapon kiválaszthatja, hogy honnan készüljenek a biztonsági mentések. Hagyja itt az alapértelmezett beállításokat: Prefer Secondary.
Adja meg a rendelkezésre állási csoport figyelő nevét, portját és IP-címét.
Hagyja változatlanul a Csak olvasható útválasztás beállításait.
Válassza ki a replika szinkronizálási típusát. Az első elemet (Automatikus vetés) bejelölve hagyom.
Ezután a beállításokat érvényesíteni kell. Ha nincs hiba, kattintson a Befejezés gombra a módosítások alkalmazásához.
Az én esetemben minden teszt sikeres volt, de a telepítés utáni Eredmények lépésben a varázsló hibát mutatott a rendelkezésre állási csoport figyelő létrehozása során. Az EVENTID 1194 hiba jelent meg a fürt eseménynaplóiban:
Cluster network name resource failed to create its associated computer object in the domain.Ez azt jelenti, hogy a fürtnek nincs elegendő engedélye a figyelő létrehozásához. A dokumentáció szerint elegendő jogosultságot adni számítógép típusú objektumok létrehozására a fürt objektumának. Könnyebb ezt megtenni az AD privilégiumok delegálásával (vagy egy gyors, de nem biztonságos változattal, ha ideiglenesen hozzáadjuk a CLUSTERAG$objektumot a Domain Admins csoporthoz).
Amikor a rendelkezésre állási csoportban mindig bekapcsolt és alacsony SQL teljesítménnyel kapcsolatos problémákat diagnosztizál, alaposan tanulmányozza a Windows-fürtnaplókat a szabványos SQL Server diagnosztikai eszközök használata mellett.
Mivel én hoztam létre a rendelkezésre állási csoportot, de nem a figyelőt, kézzel adtam hozzá. Nyissa meg a rendelkezésre állási csoport helyi menüjét, és kattintson a Figyelő hozzáadása lehetőségre.
Adja meg a figyelő IP-címét, portját és DNS-nevét.
Győződjön meg arról, hogy a Figyelő megjelent az Always On csoport Elérhetőségi csoport figyelői szakaszában.
Ezzel befejezte az Always On rendelkezésre állási csoport alapkonfigurációját.
Az SQL Server mindig bekapcsolva: Működési ellenőrzés és feladatátvétel
Vessünk egy pillantást az Elérhetőségi csoport irányítópultjára (Irányítópult megjelenítése).
Rendben van, a csoport létrejött és működik.
Próbáljuk meg manuálisan a node2-t elsődleges példánymá tenni. Kattintson a jobb gombbal a rendelkezésre állási csoportra, és válassza a Failover lehetőséget.
Jegyezze fel a Failover Readiness értékét. Az Nincs adatvesztés azt jelenti, hogy nem vesznek el adatok.
Csatlakozzon a 2. csomóponthoz.
Kattintson a Befejezés gombra.
Győződjön meg arról, hogy a node2 lett az elsődleges replika (elsődleges példány) a rendelkezésre állási csoportban.
Győződjön meg arról, hogy a hallgató megfelelően működik. Adja meg a figyelő DNS-nevét és portját vesszővel elválasztva az SSMS-ben:
ag1-listener-1,1445Futtasson egyszerű beszúrást, válassza ki és frissítse az SQL-lekérdezéseket az adatbázisban.
Ezután ellenőrizze az elsődleges replika automatikus feladatátvételét. Csak ölje meg az sqlservr.exe folyamatot a TESTNODE2-n.
Ellenőrizze a rendelkezésre állási csoport állapotát a fennmaradó csomóponton: TESTNODE1\NODE1.
A fürt automatikusan megváltoztatta a tesztcsomópont1-et ode1 állapot elsődlegesre a testnode2 óta Az ode2 elérhetetlenné vált.
Ellenőrizze a figyelő állapotát, mivel az ügyfelek ezt fogják használni a csatlakozáshoz.
Az én esetemben sikeresen kapcsolódtam a figyelőhöz, de amikor megpróbáltam elérni az adatbázist, ezt a hibát kaptam:
Unable to access database 'TestDatabase' because it lacks a quorum of nodes for high availability. Try the operation again later.A hiba a A véglegesítéshez szükséges szinkronizált másodlagos elemek beállítás miatt jelent meg. Mivel az értékét 1-re állítottuk a konfiguráláskor, az Always On nem engedi, hogy csatlakozzon az adatbázishoz, mert csak egy elsődleges replikánk maradt.
Állítsa az értéket 0-ra, és próbálja meg újra futtatni a lekérdezést.
A Testnode1 megtartotta az elsődleges példány állapotát, míg a testnode2 másodlagossá vált. Az adatok, amelyeket a testnode1-en módosítottunk, amikor a testnode2-t kikapcsolták, a számítógép bekapcsolása után sikeresen szinkronizálódtak.
Így gondoskodtunk arról, hogy minden megfelelően működjön, és kritikus hiba esetén az adatok olvashatók/írhatóak legyenek.
Könnyen konfigurálhatja az Always On elérhetőségi csoportokat. Ha SQL Server alapú feladatátvételi megoldást szeretne létrehozni, akkor azt a rendelkezésre állási csoportok jól kezelik.


























