Windows Server feladatátvevő fürt SQL Serverrel Azure-beli virtuális gépeken

A következőre vonatkozik:SQL Server azure-beli virtuális gépen

Ez a cikk azokat a különbségeket ismerteti, amikor a Windows Server feladatátvevő fürt funkcióját azure-beli virtuális gépeken futó SQL Serverrel használja magas rendelkezésre állás és vészhelyreállítás (HADR), például Always On rendelkezésre állási csoportok (AG) vagy feladatátvevő fürtpéldányok (FCI) esetében.

Ha többet szeretne megtudni magáról a Windows szolgáltatásról, tekintse meg a Windows Server feladatátvevő fürt dokumentációját.

Áttekintés

A windowsos SQL Server magas rendelkezésre állású megoldásai, például az Always On rendelkezésre állási csoportok (AG) vagy a feladatátvevő fürtpéldányok (FCI) az alapul szolgáló Windows Server feladatátvételi fürtszolgáltatásra (WSFC) támaszkodnak.

A fürtszolgáltatás figyeli a hálózati kapcsolatokat és a fürt csomópontjainak állapotát. Ez a figyelés azon állapotellenőrzések mellett történik, amelyeket az SQL Server a rendelkezésre állási csoport vagy a feladatátvevő fürtpéldány-szolgáltatás részeként végez. Ha a fürtszolgáltatás nem tudja elérni a csomópontot, vagy ha a fürt AG- vagy FCI-szerepköre nem megfelelő, akkor a fürtszolgáltatás megfelelő helyreállítási műveleteket kezdeményez az alkalmazások és szolgáltatások helyreállításához és online állapotba helyezéséhez, akár ugyanazon, akár a fürt egy másik csomópontján.

Fürt állapotfigyelése

A magas rendelkezésre állás érdekében a fürtnek biztosítania kell a fürtözött megoldást alkotó különböző összetevők állapotát. A fürtszolgáltatás számos rendszer- és hálózati paraméter alapján figyeli a fürt állapotát a hibák észlelése és megválaszolása érdekében.

A hiba deklarálásának küszöbértékének beállítása azért fontos, hogy egyensúlyt teremtsen a hiba azonnali megválaszolása és a téves hibák elkerülése között.

A monitorozásnak két stratégiája van:

Figyelés Leírás
Agresszív Gyors hibaészlelést és a kemény hibák helyreállítását biztosítja, amely a legmagasabb rendelkezésre állást biztosítja. A fürtszolgáltatás és az SQL Server egyaránt kevésbé megbocsátja az átmeneti meghibásodást, és bizonyos helyzetekben átmeneti leállások esetén előfordulhat, hogy idő előtt feladatátvételt hajtanak végre az erőforrásokon. A hiba észlelése után a következő korrekciós művelet hosszabb időt vehet igénybe.
Nyugodt Megbocsátóbb hibaészlelést biztosít, és nagyobb tűrést biztosít a rövid átmeneti hálózati problémák esetén. Elkerüli az átmeneti hibákat, de a valódi hibák észlelésének késleltetését is kockáztatja.

A felhőbeli fürtkörnyezet agresszív beállításai korai hibákhoz és hosszabb üzemkimaradásokhoz vezethetnek, ezért az Azure-beli virtuális gépek feladatátvevő fürtjei esetében nyugodt figyelési stratégia javasolt. A küszöbérték-beállítások módosításához tekintse meg a fürt ajánlott eljárásait .

Fürt szívverése

A fürt szívverését és a csomópontok közötti állapotészlelést befolyásoló elsődleges beállítások:

Beállítás Leírás
Késés Ez határozza meg a fürt szívveréseinek csomópontok közötti küldésének gyakoriságát. A késleltetés a következő szívverés elküldése előtti másodpercek száma. Ugyanazon a fürtön belül különböző késleltetési beállítások konfigurálhatók ugyanazon alhálózat csomópontjai és a különböző alhálózatokon lévő csomópontok között.
Küszöbérték A küszöbérték azoknak a szívveréseknek a száma, amelyek kihagyhatók, mielőtt a fürt helyreállítási műveletet hajt végre. Ugyanazon a fürtön belül különböző küszöbérték-beállítások konfigurálhatók ugyanazon alhálózat csomópontjai és a különböző alhálózatokon lévő csomópontok között.

Előfordulhat, hogy ezekhez a beállításokhoz az alapértelmezett értékek túl alacsonyak a felhőkörnyezetekhez, és átmeneti hálózati problémák miatt szükségtelen hibákat okozhatnak. A toleránsabb használat érdekében használjon nyugodt küszöbérték-beállításokat az Azure-beli virtuális gépek feladatátvevő fürtjeihez. További részletekért tekintse meg a fürt ajánlott eljárásait .

Határozatképesség

Bár egy kétcsomópontos fürt kvórumerőforrás nélkül fog működni, az ügyfeleknek szigorúan kvórumerőforrást kell használniuk az éles környezet támogatásához. A fürtérvényesítés nem ad át fürtöt kvórumerőforrás nélkül.

A háromcsomópontos fürtök gyakorlatilag kvórumerőforrás nélkül képesek túlélni egy csomópont elvesztését (legfeljebb két csomópontra). Miután azonban a fürt két csomópontra csökkent, fennáll a veszélye annak, hogy a fürtözött erőforrások offline állapotba kerülnek, hogy megakadályozzák a megosztott agyi forgatókönyvet, ha egy csomópont elveszik, vagy kommunikációs hiba lép fel a csomópontok között. A kvórumerőforrás konfigurálása lehetővé teszi, hogy a fürterőforrások csak egy csomóponttal online állapotban maradjanak.

A lemeztanúsítás a legrugalmasabb kvórum lehetőség, de ha lemeztanúsítást szeretne használni egy Azure-beli virtuális gépen futó SQL Serveren, olyan Azure-beli megosztott lemezt kell használnia, amely bizonyos korlátozásokat ír elő a magas rendelkezésre állású megoldásra. Ezért használjon lemeztanúsítót, amikor a feladatátvevő fürtpéldányt Azure Shared Disks használatával konfigurálja, ellenkező esetben használjon felhőbeli tanúsítót, amikor csak lehetséges.

Az alábbi táblázat az Azure-beli virtuális gépeken futó SQL Serverhez elérhető kvórumbeállításokat sorolja fel:

Felhőbeli tanúsító Lemeztanúsuló Fájlmegosztási tanúsító
Támogatott operációs rendszer Windows Server 2016+ Mind Mind
Leírás A felhőbeli tanúsító a feladatátvevő fürt kvórumának egy olyan típusa, amely a Microsoft Azure használatával szavaz a fürt kvórumáról. Az alapértelmezett méret körülbelül 1 MB, és csak az időbélyeget tartalmazza. A felhőbeli tanúsító ideális több helyen, több zónában és több régióban történő üzembe helyezéshez. Ha lehetséges, használjon felhőbeli tanúsítót, hacsak nem rendelkezik megosztott tárterülettel rendelkező feladatátvevő fürtmegoldással. A lemeztanúsított lemez egy kis fürtözött lemez a Fürt rendelkezésre álló tár csoportjában. Ez a lemez magas rendelkezésre állású, és feladatátvételt végezhet a csomópontok között. A fürtadatbázis egy példányát tartalmazza, amelynek alapértelmezett mérete kisebb, mint 1 GB. A lemeztanúsítás az előnyben részesített kvórumbeállítás az Azure-beli megosztott lemezeket (vagy bármely megosztott lemezes megoldást, például megosztott SCSI-t, iSCSI-t vagy szálcsatornás SAN-t) használó fürtök esetében. Fürtözött megosztott kötet nem használható lemeztanúsításként. Konfiguráljon egy Azure-beli megosztott lemezt lemeztanúsulóként. A fájlmegosztási tanúsító egy SMB-fájlmegosztás, amely általában Windows Servert futtató fájlkiszolgálón van konfigurálva. A fürtinformációkat egy witness.log fájlban tartja fenn, de nem tárolja a fürtadatbázis másolatát. Az Azure-ban konfigurálhat egy fájlmegosztást egy külön virtuális gépen ugyanazon a virtuális hálózaton belül. Használjon fájlmegosztási tanúsítót, ha egy lemeztanús vagy felhőbeli tanúsító nem érhető el a környezetben.

Első lépésként tekintse meg a fürt kvórumának konfigurálását ismertető témakört.

Virtuális hálózat neve (VNN)

A rendelkezésre állási csoport figyelőjéhez vagy feladatátvevőfürt-példányához való csatlakozás helyszíni élményének megfelelően helyezze üzembe az SQL Server virtuális gépeket ugyanazon a virtuális hálózaton belül több alhálózaton. Ha több alhálózattal rendelkezik, az nem jelenti azt, hogy az Azure Load Balancer további függőséget igényel a HADR-megoldás felé irányuló forgalom irányításához. További információ: Több alhálózati AG és több alhálózati FCI.

Hagyományos helyszíni környezetben a fürtözött erőforrások, például a feladatátvevő fürtpéldányok vagy az Always On rendelkezésre állási csoportok a virtuális hálózat nevére támaszkodva irányítják a forgalmat a megfelelő célhoz – a feladatátvevő fürtpéldányhoz vagy az Always On rendelkezésre állási csoport figyelőhöz. A virtuális név a DNS-ben köti az IP-címet, és az ügyfelek használhatják a virtuális nevet vagy az IP-címet a magas rendelkezésre állási célhoz való csatlakozáshoz, függetlenül attól, hogy jelenleg melyik csomópont az erőforrás tulajdonosa. A VNN a fürt által felügyelt hálózati név és cím, a fürtszolgáltatás pedig a hálózati címet a csomópontról a csomópontra helyezi át egy feladatátvételi esemény során. Hiba esetén a cím offline állapotba kerül az eredeti elsődleges replikán, és online állapotba kerül az új elsődleges replikán.

Az egyetlen alhálózatban lévő Azure-beli virtuális gépeken további összetevőre van szükség ahhoz, hogy az ügyfél forgalmát a fürtözött erőforrás virtuális hálózatának nevére irányítsák (feladatátvevő fürtpéldány vagy egy rendelkezésre állási csoport figyelője). Az Azure-ban egy terheléselosztó tárolja annak a VNN-nek az IP-címét, amelyre a fürtözött SQL Server-erőforrások támaszkodnak, és a forgalmat a megfelelő magas rendelkezésre állási célhoz kell irányítani. A terheléselosztó a hálózati összetevők hibáit is észleli, és áthelyezi a címet egy új gazdagépre.

A terheléselosztó elosztja az előtérbe érkező bejövő folyamatokat, majd átirányítja a forgalmat a háttérkészlet által meghatározott példányokra. A forgalom konfigurálásához terheléselosztási szabályokat és állapotmintákat kell használnia. Az SQL Server FCI-vel a háttérkészletpéldányok az SQL Servert futtató Azure-beli virtuális gépek, a rendelkezésre állási csoportokkal pedig a háttérkészlet a figyelő. A terheléselosztó használatakor enyhe feladatátvételi késés tapasztalható, mivel az állapotadat-mintavétel alapértelmezés szerint 10 másodpercenként végez élő ellenőrzést.

Első lépésként megtudhatja, hogyan konfigurálhatja az Azure Load Balancert feladatátvevő fürtpéldányhoz vagy rendelkezésre állási csoporthoz.

Támogatott operációs rendszer: Minden
Támogatott SQL-verzió: Minden
Támogatott HADR-megoldás: Feladatátvevő fürtpéldány és rendelkezésre állási csoport

A VNN konfigurálása nehézkes lehet, ez egy további hibaforrás, amely késést okozhat a hibaészlelésben, és a többleterőforrás kezelésével járó többletköltségek és költségek is járnak. Ezen korlátozások némelyikének megoldása érdekében az SQL Server támogatást nyújtott az Elosztott hálózatnév szolgáltatáshoz.

Elosztott hálózat neve (DNN)

A rendelkezésre állási csoport figyelőjéhez vagy feladatátvevőfürt-példányához való csatlakozás helyszíni élményének megfelelően helyezze üzembe az SQL Server virtuális gépeket ugyanazon a virtuális hálózaton belül több alhálózaton. Ha több alhálózattal rendelkezik, azzal nem szükséges a DNN-hez való extra függőség, hogy a forgalmat a HADR-megoldáshoz irányíthassa. További információ: Több alhálózati AG és több alhálózati FCI.

Az egyetlen alhálózaton üzembe helyezett SQL Server virtuális gépek esetén az elosztott hálózatnév funkció alternatív módot kínál az SQL Server-ügyfelek számára, hogy terheléselosztó használata nélkül csatlakozzanak az SQL Server feladatátvevő fürtpéldányához vagy a rendelkezésre állási csoport figyelőhöz. A DNN szolgáltatás az SQL Server 2016 SP3, az SQL Server 2017 CU25, az SQL Server 2019 CU8 és a Windows Server 2016-os és újabb verzióitól kezdve érhető el.

DNN-erőforrás létrehozásakor a fürt a DNS-nevet a fürt összes csomópontjának IP-címével köti össze. Az ügyfél megpróbál csatlakozni a lista minden IP-címéhez, hogy megtalálja, melyik erőforráshoz szeretne csatlakozni. A folyamat felgyorsításához adja meg a kapcsolati MultiSubnetFailover=True sztringet. Ez a beállítás arra utasítja a szolgáltatót, hogy az összes IP-címet párhuzamosan próbálja ki, így az ügyfél azonnal csatlakozhat az FCI-hez vagy a figyelőhöz.

Ha lehetséges, elosztott hálózatnév ajánlott terheléselosztón keresztül, mert:

  • A végpontok közötti megoldás robusztusabb, mivel már nem kell fenntartania a terheléselosztó erőforrását.
  • A terheléselosztó mintavételeinek kiküszöbölése minimálisra csökkenti a feladatátvétel időtartamát.
  • A DNN leegyszerűsíti a feladatátvevő fürtpéldány vagy a rendelkezésre állási csoport figyelőjének kiépítését és kezelését az Azure-beli virtuális gépeken futó SQL Serverrel.

A legtöbb SQL Server-funkció transzparensen működik az FCI-vel és a rendelkezésre állási csoportokkal a DNN használatakor, de vannak bizonyos funkciók, amelyek különös figyelmet igényelhetnek.

Támogatott operációs rendszer: Windows Server 2016 és újabb verziók
Támogatott SQL-verzió: SQL Server 2019 CU2 (FCI) és SQL Server 2019 CU8 (AG)
Támogatott HADR-megoldás: Feladatátvevő fürtpéldány és rendelkezésre állási csoport

Első lépésként megtudhatja, hogyan konfigurálhat elosztott hálózatinév-erőforrást feladatátvevő fürtpéldányhoz vagy rendelkezésre állási csoporthoz.

A DNN más SQL Server-funkciókkal való használatakor további szempontokat is figyelembe kell venni. További információ: FCI és DNN együttműködési,AG- és DNN-együttműködés .

Helyreállítási műveletek

A fürtszolgáltatás hiba észlelésekor korrekciós műveletet hajt végre. Ez újraindíthatja az erőforrást a meglévő csomóponton, vagy feladatátvételt okozhat egy másik csomóponton. A korrekciós intézkedések kezdeményezése után el kell végezniük egy kis időt.

Egy újraindított rendelkezésre állási csoport például az alábbi sorrendben érhető el:

  1. A figyelő IP-címe online állapotba kerül
  2. A figyelőhálózat neve online állapotba kerül
  3. A rendelkezésre állási csoport online állapotban van
  4. Az egyes adatbázisok helyreállításon mennek keresztül, ami számos tényezőtől, például az ismétlési napló hosszától függően eltarthat egy ideig. A kapcsolatokat a figyelő csak az adatbázis teljes helyreállítása után irányítja át. További információ: Feladatátvételi idő becslése (RTO).

Mivel a helyreállítás eltarthat egy ideig, a 20 másodperces hiba észlelésére szolgáló agresszív monitorozási csoport egy átmeneti esemény (például az Azure-beli virtuális gépek memóriamegőrző karbantartása) esetén percek kimaradásához vezethet. Ha a monitorozást 40 másodperces nyugodtabb értékre állítja, elkerülheti a szolgáltatás hosszabb megszakítását.

A küszöbérték-beállítások módosításához tekintse meg a fürt ajánlott eljárásait .

Csomópont helye

Az Azure-beli virtuális gépeken futó Windows-fürtök csomópontjai fizikailag el vannak választva ugyanazon az Azure-régión belül, vagy különböző régiókban lehetnek. A távolság hálózati késést okozhat, hasonlóan, ha a fürtcsomópontok a saját létesítményeikben lévő helyek között oszlanak meg. Felhőkörnyezetekben a különbség az, hogy egy régióban nem biztos, hogy tisztában van a csomópontok közötti távolságokkal. Ezenkívül néhány egyéb tényező, például a fizikai és virtuális összetevők, a ugrások száma stb. is hozzájárulhat a megnövekedett késéshez. Ha a csomópontok közötti késés aggodalomra ad okot, érdemes lehet a fürt csomópontjait egy közelségi elhelyezési csoportban elhelyezni a hálózat közelsége érdekében.

Erőforráskorlátok

Az Azure-beli virtuális gépek konfigurálásakor meg kell határoznia a processzor, a memória és az IO számítási erőforrásainak korlátait. Azok a számítási feladatok, amelyek több erőforrást igényelnek, mint a megvásárolt Azure-beli virtuális gép, vagy a lemezkorlátok a virtuális gépek teljesítményével kapcsolatos problémákat okozhatnak. A teljesítménycsökkenés a fürtszolgáltatás vagy az SQL Server magas rendelkezésre állási funkciójának sikertelen állapot-ellenőrzését eredményezheti. Az erőforrás szűk keresztmetszetei miatt előfordulhat, hogy a csomópont vagy az erőforrás megjelenik a fürtben vagy az SQL Serveren.

Az SQL IO-műveletek vagy karbantartási műveletek, például a biztonsági mentések, az indexek vagy a statisztikák karbantartása miatt a virtuális gép vagy lemez eléri az IOPS - vagy MBPS-átviteli sebességkorlátokat, ami miatt az SQL Server nem válaszol az IsAlive/LooksAlive ellenőrzésre.

Ha az SQL Server váratlan feladatátvételt tapasztal, ellenőrizze, hogy betartja-e a teljesítményre vonatkozó ajánlott eljárásokat , és figyeli a kiszolgálót a lemez- vagy virtuálisgép-szintű korlátkezeléshez.

Azure-platform karbantartása

A többi felhőszolgáltatáshoz hasonlóan az Azure is rendszeresen frissíti platformját a virtuális gépek gazdagépinfrastruktúra megbízhatóságának, teljesítményének és biztonságának javítása érdekében. E frissítések célja a szoftverösszetevők üzemeltetési környezetben történő javításától a hálózati összetevők frissítéséig, illetve a hardverleszerelésig terjed.

A legtöbb platformfrissítés nincs hatással az ügyfél virtuális gépére. Ha a hatástalan frissítés nem lehetséges, az Azure kiválasztja azt a frissítési mechanizmust, amely a legkevésbé hat az ügyfél virtuális gépeire. A legtöbb nem hatáshatású karbantartás 10 másodpercnél rövidebb ideig szünetelteti a virtuális gépet. Bizonyos esetekben az Azure memóriamegőrző karbantartási mechanizmusokat használ. Ezek a mechanizmusok legfeljebb 30 másodpercig szüneteltetik a virtuális gépet, és megőrzik a memóriát a RAM-ban. A virtuális gép ezután folytatódik, és az óra automatikusan szinkronizálódik.

A memóriamegőrző karbantartás az Azure-beli virtuális gépek több mint 90%-ánál működik. G, M, N és H sorozat esetén nem működik. Az Azure egyre inkább élő migrálási technológiákat használ, és javítja a memóriamegőrző karbantartási mechanizmusokat a szüneteltetés időtartamának csökkentése érdekében. Ha a virtuális gépet élőben migrálják egy másik gazdagépre, néhány bizalmas számítási feladat, például az SQL Server, enyhe teljesítménycsökkenést mutathat a virtuális gép szüneteltetése előtti néhány percben.

A platformkarbantartás során az erőforrás szűk keresztmetszete miatt előfordulhat, hogy az AG vagy az FCI megjelenik a fürtszolgáltatásban. További információért tekintse meg a cikk erőforráskorlátokkal foglalkozó szakaszát.

Ha agresszív fürtfigyelést használ, egy kiterjesztett virtuálisgép-szüneteltetés feladatátvételt válthat ki. A feladatátvétel gyakran több állásidőt okoz, mint a karbantartási szünet, ezért ajánlott nyugodt figyelést használni, hogy elkerülje a feladatátvételt, miközben a virtuális gép karbantartásra szüneteltetve van. Az Azure-beli virtuális gépek fürtküszöbeinek beállításával kapcsolatos további információkért tekintse meg a fürt ajánlott eljárásait .

Korlátozások

Vegye figyelembe az alábbi korlátozásokat, amikor FCI- vagy rendelkezésre állási csoportokkal és AZURE-beli virtuális gépeken futó SQL Serverrel dolgozik.

MSDTC

Az Azure-beli virtuális gépek támogatják a Microsoft Distributed Transaction Coordinator (MSDTC) szolgáltatást Windows Server 2019 rendszeren fürtözött megosztott köteteken (CSV) és Azure Standard Load Balanceren , illetve Azure-beli megosztott lemezeket használó SQL Server virtuális gépeken.

Az Azure-beli virtuális gépeken az MSDTC nem támogatott a Windows Server 2016 vagy korábbi verzióiban fürtözött megosztott kötetekkel, mert:

  • A fürtözött MSDTC-erőforrás nem konfigurálható megosztott tároló használatára. Windows Server 2016-on, ha MSDTC-erőforrást hoz létre, akkor sem jelenik meg a használatra elérhető megosztott tárterület, még akkor sem, ha rendelkezésre áll a tárterület. Ezt a problémát kijavítottuk a Windows Server 2019-ben.
  • Az alapszintű terheléselosztó nem kezeli az RPC-portokat.

További lépések

Most, hogy megismerkedett a windowsos feladatátvevő fürt azure-beli virtuális gépeken futó SQL Serverrel való használatakor tapasztalható különbségekkel, megismerheti a magas rendelkezésre állású funkciók rendelkezésre állási csoportjait vagy feladatátvevőfürt-példányait. Ha készen áll az első lépésekre, mindenképpen tekintse át a konfigurációs javaslatok ajánlott eljárásait .