Jegyzet
Az oldalhoz való hozzáférés engedélyezést igényel. Próbálhatod be jelentkezni vagy könyvtárat váltani.
Az oldalhoz való hozzáférés engedélyezést igényel. Megpróbálhatod a könyvtár váltását.
A következőkre vonatkozik:SQL Server Linux rendszeren
A rendelkezésre állási csoport (AG) kontextusában a rendelkezésre állási replikák elsődleges és másodlagos szerepköre általában felcserélhető egy feladatátvételi folyamat során. A feladatátvétel három formája létezik: automatikus feladatátvétel (adatvesztés nélkül), tervezett manuális feladatátvétel (adatvesztés nélkül) és kényszerített manuális feladatátvétel (lehetséges adatvesztéssel), amelyet általában kényszerített feladatátvételnekhívnak. Az automatikus és tervezett manuális feladatátvételek megőrzik az összes adatot. Egy AG átváltása a rendelkezésre állási replika szintjén történik. Vagyis egy AG az egyik másodlagos replikára (az aktuális feladatátvételi célra) irányítja át a feladatátvételt.
Az átállásról szóló háttérinformációkért lásd a Feladatátvétel és Feladatátvételi módok (Always On rendelkezésre állási csoportok).
Manuális feladatátvétel
A fürtfelügyeleti eszközökkel feladatátvételt kell végrehajtania egy külső fürtkezelő által felügyelt AG-nek. Ha például egy megoldás a Pacemaker használatával felügyel egy Linux-fürtöt, a pcs használatával manuális feladatátvételeket hajthat végre Red Hat Enterprise Linux (RHEL) vagy Ubuntu rendszeren. A SUSE Linux Enterprise Serveren (SLES) használja a crm. (Az SQL Server 2025 -től (17.x) kezdődően a SUSE Linux Enterprise Server (SLES) nem támogatott.)
Fontos
Normál működés során ne végezzen feladatátvételt Transact-SQL vagy SQL Server felügyeleti eszközökkel, például PowerShell-lel vagy SSMS-lel. Ha CLUSTER_TYPE = EXTERNAL, a FAILOVER_MODE egyetlen elfogadható értéke EXTERNAL. Ezekkel a beállításokkal minden manuális vagy automatikus átállási műveletet a külső klászermenedszer hajt végre. Az adatvesztést is okozható feladatátvétel kényszerítésével kapcsolatos utasításokért lásd: Feladatátvétel kényszerítése.
Manuális átállási lépések
Az átkapcsoláshoz annak a másodlagos replikának, amelyik elsődleges replikává válik, szinkronnak kell lennie. Ha egy másodlagos replika aszinkron, változtassa meg a rendelkezésre állási módot.
Manuális feladatátvétel két lépésben.
Először manuális feladatátvételt úgy, hogy áthelyezi az erőforrás- a fürtcsomópontról egy új csomópontra.
A fürt áthelyezi az AG-erőforrást, és hozzáad egy helykorlátozást. Ez a korlátozás úgy konfigurálja az erőforrást, hogy az új csomóponton fusson. Távolítsa el ezt a korlátozást a sikeres feladatátvétel érdekében a jövőben.
Másodszor, távolítsa el a helymegkötést.
1. lépés. Manuális feladatátvétel a rendelkezésre állási csoport erőforrásának áthelyezésével történik.
Ha manuálisan szeretne átállást végrehajtani a(z) ag_cluster nevű AG-erőforráson a(z) nodeName2nevű fürtcsomópontra, futtassa a megfelelő parancsot az Ön disztribúciójához.
RHEL/Ubuntu példa
sudo pcs resource move ag_cluster-master nodeName2 --master --lifetime=30SSLES-példa
crm resource migrate ag_cluster nodeName2 --lifetime=30S
A --lifetime beállítás használatakor az erőforrás áthelyezéséhez létrehozott helykorlátozás ideiglenes jellegű, és az előző példában 30 másodpercig érvényes.
Az ideiglenes korlátozás nem törlődik automatikusan, és megjelenhet a kényszerlistában, de lejárt kényszerként. A lejárt korlátozások nem befolyásolják a pacemaker-fürt feladatátvételi viselkedését. Ha nem használja a --lifetime beállítást az erőforrás áthelyezésekor, távolítsa el az automatikusan hozzáadott helymegkötést, amelyet a következő szakaszban jegyezünk fel.
2. lépés. A helymegkötés eltávolítása
A manuális feladatátvétel során a pcs parancs move vagy crm parancs migrate helykorlátot ad hozzá az új célcsomópontra helyezendő erőforráshoz. Az új korlátozás megtekintéséhez futtassa a következő parancsot az erőforrás manuális áthelyezése után:
RHEL/Ubuntu példa
sudo pcs constraint list --fullSLES-példa
crm config showEz egy példa a manuális feladatátvétel miatt létrejövő kényszerre.
Enabled on: Node1 (score:INFINITY) (role: Master) (id:cli-prefer-ag_cluster-master)Jegyzet
A Red Hat Enterprise Linux 8.x és Ubuntu 18.04 rendszerű pacemaker-fürtök AG-erőforrásneve hasonlíthat ag_cluster-klónként, mivel az erőforrásokra vonatkozó nómenklatúra a fejleszthető klónhasználatára vált.
RHEL/Ubuntu példa
Az alábbi parancsban
cli-prefer-ag_cluster-masteraz eltávolítandó kényszer azonosítója.sudo pcs constraint list --fullezt az azonosítót adja vissza.sudo pcs resource clear ag_cluster-masterVagy
sudo pcs constraint remove cli-prefer-ag_cluster-masterMásik lehetőségként az automatikusan létrehozott kényszerek áthelyezését és törlését is elvégezheti egyetlen sorban az alábbiak szerint. Az alábbi példa a Red Hat Enterprise Linux 8.x-nek megfelelő klónozási terminológiát használja.
sudo pcs resource move ag_cluster-clone --master nodeName2 && sleep 30 && sudo pcs resource clear ag_cluster-cloneSLES-példa
Az alábbi parancsban
cli-prefer-ms-ag_clustera kényszer azonosítója.crm config showezt az azonosítót adja vissza.crm configure delete cli-prefer-ms-ag_cluster commit
Jegyzet
Az automatikus feladatátvétel nem ad helykorlátozást, ezért nincs szükség törlésre.
További információ:
- Red Hat – Klaszter erőforrások kezelése
- Pacemaker – Erőforrások manuális áthelyezése
- SLES felügyeleti útmutatója – Fürterőforrások kezelése
Kényszerített átállás
A kényszerített feladatátvétel célja kifejezetten a katasztrófa utáni helyreállítás. Ebben az esetben nem lehet feladatátvételt végrehajtani a fürtfelügyeleti eszközökkel, mert az elsődleges adatközpont leállt. Ha egy nem szinkronizált másodlagos replikára kényszeríti a feladatátvételt, előfordulhat adatvesztés. Csak akkor kényszerítse ki a feladatátvételt, ha azonnal vissza kell állítania a szolgáltatást az AG-nek, és hajlandó kockáztatni az adatok elvesztését.
Ha nem tudja használni a fürtfelügyeleti eszközöket a fürttel való interakcióhoz (például, ha a fürt az elsődleges adatközpontban egy katasztrófaesemény miatt nem válaszol), előfordulhat, hogy kényszerítenie kell az átváltást a külső fürtkezelő megkerülése érdekében. Ez az eljárás nem ajánlott a rendszeres műveletekhez, mert adatvesztéssel jár. Akkor használja, ha a fürtfelügyeleti eszközök nem hajtják végre a feladatátvételi műveletet. Funkcionálisan ez az eljárás hasonlít arra, ahogyan a kényszerített manuális feladatátvételt hajt végre egy AG-n a Windowsban.
A feladatátvétel kényszerítési folyamata a Linuxon futó SQL Serverre vonatkozik.
Ellenőrizze, hogy a fürt már nem kezeli-e az AG-erőforrást.
Állítsa az erőforrást nem felügyelt módra a cél klaszter csomóponton. Ez a parancs jelzi az erőforrás-ügynöknek, hogy állítsa le az erőforrás-figyelést és -kezelést. Például:
sudo pcs resource unmanage <resourceName>Ha az erőforrás mód nem felügyelt módra történő beállítására tett kísérlet meghiúsul, törölje az erőforrást. Például:
sudo pcs resource delete <resourceName>Jegyzet
Ha töröl egy erőforrást, az az összes kapcsolódó korlátozást is törli.
A másodlagos replikát futtató SQL Server-példányon állítsa be a munkamenet környezeti változóját
external_cluster.EXECUTE sp_set_session_context @key = N'external_cluster', @value = N'yes';Feladatátvétel az AG-vel a Transact-SQL használatával. Az alábbi példában cserélje le
<MyAg>az AG nevére. Csatlakozzon a cél másodlagos replikát üzemeltető SQL Server-példányhoz, és futtassa a következő parancsot:ALTER AVAILABILITY GROUP <MyAg> FORCE_FAILOVER_ALLOW_DATA_LOSS;A kényszerített feladatátvétel után állítsa az AG-t kifogástalan állapotba, mielőtt újraindítaná a fürterőforrás-figyelést és -felügyeletet, vagy újrakezdené az AG-erőforrást. Tekintse át a alapvető feladatokat a kényszerített feladatátvételiután.
Indítsa újra a fürterőforrás-figyelést és -felügyeletet:
A fürterőforrás-figyelés és -kezelés újraindításához futtassa a következő parancsot:
sudo pcs resource manage <resourceName> sudo pcs resource cleanup <resourceName>Ha törölte a fürterőforrást, hozza létre újra. A fürterőforrás újbóli létrehozásához kövesse a Rendelkezésre állási csoport erőforrásának létrehozásacímű témakör utasításait.
Fontos
Ne használja az előző lépéseket vészhelyreállítási próbákhoz, mert adatvesztést kockáztatnak. Ehelyett módosítsa az aszinkron replikát szinkronra, és kövesse a normál manuális feladatátvétel utasításait.
Adatbázisszintű monitorozási és feladatátvételi eseményindító
A CLUSTER_TYPE=EXTERNALesetében a feladatátvételi eseményindító szemantikája eltér a WSFC-hez képest. Amikor az AG egy SQL Server WSFC-példányon van, az adatbázis ONLINE állapotából való átmenet az AG egészségügyi állapotának hibát jelző jelentését eredményezi. Válaszul a fürtkezelő feladatátvételi műveletet indít el. Linux rendszeren az SQL Server-példány nem tud kommunikálni a fürttel. Az adatbázis állapotának figyelése külsőtörténik. Ha a felhasználó az adatbázisszintű átállásra és annak monitorozására jelentkezett be (az AG létrehozásakor a DB_FAILOVER=ON opció beállításával), a fürt minden alkalommal ellenőrzi, hogy az adatbázis állapota ONLINE-e, amikor egy monitorozási műveletet futtat. A klaszter lekérdezi az állapotot sys.databases. A ONLINEállapottól eltérő állapot esetén automatikusan elindítja a feladatátvételt (ha teljesülnek az automatikus feladatátvételi feltételek). A feladatátvétel tényleges ideje a figyelési művelet gyakoriságától, valamint az adatbázis állapotának sys.databases.-beli frissítésétől függ.
Az automatikus feladatátvételhez legalább egy szinkron replika szükséges.
Kapcsolódó tartalom
- Red Hat Enterprise Linux-fürt beállítása SQL Server elérhetőségi csoport erőforrásaihoz
- Az SQL Server rendelkezésre állási csoport fürt erőforrásainak konfigurálása a SUSE Linux Enterprise Server-fürt számára
- Ubuntu-fürt konfigurálása AZ SQL Server rendelkezésre állási csoport fürterőforrásainak
Közreműködés az SQL dokumentációjában
Tudta, hogy saját maga szerkesztheti az SQL-tartalmakat? Ha így tesz, nem csak a dokumentáció fejlesztésében segít, hanem az oldal közreműködőjeként is jóváírást kap.
További információ: Microsoft Learn-dokumentáció szerkesztése.