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
Ez az oktatóanyag bemutatja, hogyan hozhat létre és konfigurálhat rendelkezésre állási csoportot (AG) linuxos SQL Serverhez. A Windows rendszeren futó SQL Server 2016 (13.x) és a korábbi verziókkal ellentétben engedélyezheti az AG-t a mögöttes Pacemaker-fürt létrehozása nélkül vagy annak létrehozásával is. A fürttel való integráció, ha szükséges, később történik.
Az oktatóanyag a következő feladatokat tartalmazza:
- Rendelkezésre állási csoportok engedélyezése.
- Rendelkezésre állási csoport végpontjai és tanúsítványai létrehozása.
- Az SQL Server Management Studio (SSMS) vagy Transact-SQL használatával hozzon létre egy rendelkezésre állási csoportot.
- Hozza létre az SQL Server bejelentkezési adatait és engedélyeit a Pacemakerhez.
- Készítsen rendelkezésre állási csoport erőforrásokat egy Pacemaker-klaszterben (csak külső típusú esetén).
Előfeltételek
Telepítse a Pacemaker magas rendelkezésre állású klasztert az Linuxon futó SQL Serverhez készült Pacemaker-klaszter telepítéseszerint.
A rendelkezésre állási csoportok funkció engedélyezése
A Windowstól eltérően a PowerShell vagy az SQL Server Configuration Manager nem használható a rendelkezésre állási csoportok (AG) funkció engedélyezésére. Linuxon kétféleképpen engedélyezheti a rendelkezésre állási csoportok funkciót: használhatja az mssql-conf segédprogramot, vagy manuálisan szerkesztheti a mssql.conf fájlt.
Fontos
Az AG szolgáltatást csak konfigurációs replikákhoz kell engedélyeznie, még az SQL Server Expressen is.
Az mssql-conf segédprogram használata
Egy parancssorban futtassa a következő parancsot:
sudo /opt/mssql/bin/mssql-conf set hadr.hadrenabled 1
Az mssql.conf fájl szerkesztése
A /var/opt/mssql mappában található mssql.conf fájlt is módosíthatja. Adja hozzá a következő sorokat:
[hadr]
hadr.hadrenabled = 1
Az SQL Server újraindítása
A rendelkezésre állási csoportok engedélyezése után újra kell indítania az SQL Servert. Használja a következő parancsot:
sudo systemctl restart mssql-server
A rendelkezésre állási csoport végpontjai és tanúsítványai létrehozása
A rendelkezésre állási csoportok TCP-végpontokat használnak a kommunikációhoz. Linux alatt az AG végpontjai csak akkor támogatottak, ha a hitelesítéshez tanúsítványokat használnak. Vissza kell állítania a tanúsítványt arról az egyetlen példányról, amely a többi, ugyanazon AG-ben replikaként részt vevő példány számára szolgál. A tanúsítványfolyamatra még egy csak konfigurációs replikához is szükség van.
Végpontokat csak a Transact-SQL használatával hozhat létre és állíthat vissza tanúsítványokat. Nem SQL Server által létrehozott tanúsítványokat is használhat. Egy folyamatra is szüksége van a lejárt tanúsítványok kezeléséhez és cseréjéhez.
Fontos
Ha az SQL Server Management Studio varázslóval szeretné létrehozni az AG-t, akkor is létre kell hoznia és vissza kell állítania a tanúsítványokat a Linuxon futó Transact-SQL használatával.
A különböző parancsokhoz (beleértve a biztonságot) elérhető lehetőségek teljes szintaxisát a következő témakör ismerteti:
Jegyzet
Bár rendelkezésre állási csoportot hoz létre, a végpont típusa a FOR DATABASE_MIRRORING-t használja, mivel néhány mögöttes szempont egykor megosztott volt azzal a most már elavult funkcióval.
Ez a példa három csomópontos konfigurációhoz hoz létre tanúsítványokat. A példányok neve LinAGN1, LinAGN2és LinAGN3.
Hajtsa végre a következő szkriptet a
LinAGN1a főkulcs, a tanúsítvány és a végpont létrehozásához, valamint a tanúsítvány biztonsági mentéséhez. Ebben a példában a végponthoz az 5022-s tipikus TCP-portot használjuk.CREATE MASTER KEY ENCRYPTION BY PASSWORD = '<master-key-password>'; GO CREATE CERTIFICATE LinAGN1_Cert WITH SUBJECT = 'LinAGN1 AG Certificate'; GO BACKUP CERTIFICATE LinAGN1_Cert TO FILE = '/var/opt/mssql/data/LinAGN1_Cert.cer'; GO CREATE ENDPOINT AGEP STATE = STARTED AS TCP ( LISTENER_PORT = 5022, LISTENER_IP = ALL ) FOR DATABASE_MIRRORING ( AUTHENTICATION = CERTIFICATE LinAGN1_Cert, ROLE = ALL ); GOVégezze el ugyanezt a
LinAGN2-n.CREATE MASTER KEY ENCRYPTION BY PASSWORD = '<master-key-password>'; GO CREATE CERTIFICATE LinAGN2_Cert WITH SUBJECT = 'LinAGN2 AG Certificate'; GO BACKUP CERTIFICATE LinAGN2_Cert TO FILE = '/var/opt/mssql/data/LinAGN2_Cert.cer'; GO CREATE ENDPOINT AGEP STATE = STARTED AS TCP ( LISTENER_PORT = 5022, LISTENER_IP = ALL ) FOR DATABASE_MIRRORING ( AUTHENTICATION = CERTIFICATE LinAGN2_Cert, ROLE = ALL ); GOVégül hajtsa végre ugyanezt a sorozatot
LinAGN3:CREATE MASTER KEY ENCRYPTION BY PASSWORD = '<master-key-password>'; GO CREATE CERTIFICATE LinAGN3_Cert WITH SUBJECT = 'LinAGN3 AG Certificate'; GO BACKUP CERTIFICATE LinAGN3_Cert TO FILE = '/var/opt/mssql/data/LinAGN3_Cert.cer'; GO CREATE ENDPOINT AGEP STATE = STARTED AS TCP ( LISTENER_PORT = 5022, LISTENER_IP = ALL ) FOR DATABASE_MIRRORING ( AUTHENTICATION = CERTIFICATE LinAGN3_Cert, ROLE = ALL ); GOA
scpvagy egy másik segédprogram használatával másolja a tanúsítvány biztonsági másolatait az AG részét képező csomópontokra.Ebben a példában:
- Másolja az
LinAGN1_Cert.cer-tLinAGN2-re ésLinAGN3-re. - Másolja az
LinAGN2_Cert.cer-tLinAGN1-re ésLinAGN3-re. - Másolja az
LinAGN3_Cert.cer-tLinAGN1-re ésLinAGN2-re.
- Másolja az
Módosítsa a másolt tanúsítványfájlokhoz társított csoport és tulajdonos beállításait
mssql-ra.sudo chown mssql:mssql <CertFileName>Hozza létre az példányszintű bejelentkezéseket és a
LinAGN2-val ésLinAGN3-gyel társított felhasználókat aLinAGN1-n.CREATE LOGIN LinAGN2_Login WITH PASSWORD = '<password>'; CREATE USER LinAGN2_User FOR LOGIN LinAGN2_Login; GO CREATE LOGIN LinAGN3_Login WITH PASSWORD = '<password>'; CREATE USER LinAGN3_User FOR LOGIN LinAGN3_Login; GOFigyelem
A jelszónak az SQL Server alapértelmezett jelszóházirendetkell követnie. Alapértelmezés szerint a jelszónak legalább nyolc karakter hosszúnak kell lennie, és a következő négy készletből három karakterből kell állnia: nagybetűk, kisbetűk, 10 számjegyből és szimbólumokból. A jelszavak legfeljebb 128 karakter hosszúak lehetnek. Használjon olyan jelszavakat, amelyek a lehető legkomplexebbek és hosszúak.
Állítsa vissza
LinAGN2_CertésLinAGN3_CertaLinAGN1. A többi replika tanúsítványának birtoklása az AG kommunikációjának és biztonságának fontos eleme.CREATE CERTIFICATE LinAGN2_Cert AUTHORIZATION LinAGN2_User FROM FILE = '/var/opt/mssql/data/LinAGN2_Cert.cer'; GO CREATE CERTIFICATE LinAGN3_Cert AUTHORIZATION LinAGN3_User FROM FILE = '/var/opt/mssql/data/LinAGN3_Cert.cer'; GOEngedélyezze a
LinAGN2ésLinAGN3bejelentkezéseit, hogy csatlakozhassanak aLinAGN1végponthoz.GRANT CONNECT ON ENDPOINT::AGEP TO LinAGN2_Login; GRANT CONNECT ON ENDPOINT::AGEP TO LinAGN3_Login;Hozza létre az példányszintű bejelentkezéseket és a
LinAGN1-val ésLinAGN3-gyel társított felhasználókat aLinAGN2-n.CREATE LOGIN LinAGN1_Login WITH PASSWORD = '<password>'; CREATE USER LinAGN1_User FOR LOGIN LinAGN1_Login; GO CREATE LOGIN LinAGN3_Login WITH PASSWORD = '<password>'; CREATE USER LinAGN3_User FOR LOGIN LinAGN3_Login; GOÁllítsa vissza
LinAGN1_CertésLinAGN3_CertaLinAGN2.CREATE CERTIFICATE LinAGN1_Cert AUTHORIZATION LinAGN1_User FROM FILE = '/var/opt/mssql/data/LinAGN1_Cert.cer'; GO CREATE CERTIFICATE LinAGN3_Cert AUTHORIZATION LinAGN3_User FROM FILE = '/var/opt/mssql/data/LinAGN3_Cert.cer'; GOEngedélyezze a
LinAGN1ésLinAGN3bejelentkezéseit, hogy csatlakozhassanak aLinAGN2végponthoz.GRANT CONNECT ON ENDPOINT::AGEP TO LinAGN1_Login; GRANT CONNECT ON ENDPOINT::AGEP TO LinAGN3_Login; GOHozza létre az példányszintű bejelentkezéseket és a
LinAGN1-val ésLinAGN2-gyel társított felhasználókat aLinAGN3-n.CREATE LOGIN LinAGN1_Login WITH PASSWORD = '<password>'; CREATE USER LinAGN1_User FOR LOGIN LinAGN1_Login; GO CREATE LOGIN LinAGN2_Login WITH PASSWORD = '<password>'; CREATE USER LinAGN2_User FOR LOGIN LinAGN2_Login; GOÁllítsa vissza
LinAGN1_CertésLinAGN2_CertaLinAGN3.CREATE CERTIFICATE LinAGN1_Cert AUTHORIZATION LinAGN1_User FROM FILE = '/var/opt/mssql/data/LinAGN1_Cert.cer'; GO CREATE CERTIFICATE LinAGN2_Cert AUTHORIZATION LinAGN2_User FROM FILE = '/var/opt/mssql/data/LinAGN2_Cert.cer'; GOEngedélyezze a
LinAG1ésLinAGN2bejelentkezéseit, hogy csatlakozhassanak aLinAGN3végponthoz.GRANT CONNECT ON ENDPOINT::AGEP TO LinAGN1_Login; GRANT CONNECT ON ENDPOINT::AGEP TO LinAGN2_Login; GO
A rendelkezésre állási csoport létrehozása
Ez a szakasz bemutatja, hogyan használható az SQL Server Management Studio (SSMS) vagy Transact-SQL az SQL Server rendelkezésre állási csoportjának létrehozásához.
Az SQL Server Management Studio használata
Ez a szakasz bemutatja, hogyan hozhat létre külső fürttípusú elérhetőségi csoportot (AG) az SQL Server Management Studio (SSMS) Új rendelkezésre állási csoport varázslójának segítségével.
Az SSMS-ben bontsa ki Mindig magas rendelkezésre állásúelemet, kattintson a jobb gombbal a Rendelkezésre állási csoportokelemre, és válassza Új rendelkezésreállási csoport varázslólehetőséget.
A Bevezetés párbeszédpanelen válassza a Következőlehetőséget.
A Rendelkezésre állási csoport beállításainak megadása párbeszédpanelen adja meg a rendelkezésre állási csoport nevét, és válassza ki a
EXTERNALvagyNONEfürt típusát a legördülő listában. A Pacemaker üzembe helyezésekor használhatóEXTERNAL. Speciális forgatókönyvekhez, például olvasási felskálázáshoz használhatóNONE. Az adatbázisszintű állapotészlelés beállításának megadása nem kötelező. Erről a lehetőségről további információt a Rendelkezésre állási csoport adatbázisszintű állapotfelismerési feladatátvételi opcióoldalon talál. Válassza Következőlehetőséget.Az Adatbázisok kiválasztása párbeszédpanelen válassza ki azokat az adatbázisokat, amelyek részt vesznek az AG-ben. Minden adatbázisnak teljes biztonsági mentéssel kell rendelkeznie ahhoz, hogy hozzáadhassa azt egy AG-hez. Válassza Következőlehetőséget.
A Replikák megadása párbeszédpanelen válassza ki a Replika hozzáadásalehetőséget.
A Csatlakozás a kiszolgálóhoz párbeszédpanelen adja meg az SQL Server linuxos példányának nevét, amely a másodlagos replika lesz, és adja meg a csatlakozáshoz szükséges hitelesítő adatokat. Válassza , Csatlakozás.
Ismételje meg az előző két lépést azon példány esetében, amely csak konfigurációs replikát vagy egy másik másodlagos replikát fog tartalmazni.
Mindhárom példány megjelenik a Replikák megadása ablakban. Ha külső típusú fürtöt használ, és a másodlagos replika valóban másodlagos lesz, győződjön meg arról, hogy a Rendelkezésre állási mód megegyezik az elsődleges replikáéval, és a feladatátvételi mód Külsőre van állítva. A csak konfigurációs replika esetében válassza ki a konfiguráció rendelkezésre állási módját.
Az alábbi példa egy AG-t mutat be két replikával, egy külső fürttípussal és egy csak konfigurációs replikával.
Az alábbi példa egy AG-t mutat be két replikával, fürt nélküli típusú, és egy konfigurációs célú replikával.
Ha módosítani szeretné a biztonsági mentés beállításait, válassza a Biztonsági mentés beállításai lapot. Az elérhetőségi csoportok (AG-k) biztonsági mentési beállításairól további információt az Always On elérhetőségi csoport másodlagos replikáincímű témakörben talál.
Ha olvasható másodfokokat használ, vagy olyan AG-t hoz létre, amelynek fürttípusa Nincs az olvasási skálázáshoz, a Figyelő lap kiválasztásával létrehozhat egy figyelőt. Később figyelőt is hozzáadhat. Figyelő létrehozásához válassza a Rendelkezésre állási csoport figyelőjének létrehozása lehetőséget, és adjon meg egy nevet, egy TCP/IP-portot, valamint azt, hogy statikus vagy automatikusan hozzárendelt DHCP IP-címet szeretne-e használni. Az "Nincs" fürttípusú AG esetén az IP-címnek statikusnak kell lennie, és meg kell egyeznie az elsődleges IP-címével.
Ha olvasási figyelőt hoz létre forgatókönyvekhez, az SSMS lehetővé teszi a csak olvasható útválasztás létrehozását a varázslóban. Később SSMS-en vagy Transact-SQL-en keresztül is hozzáadhatja. Az írásvédett útválasztás most hozzáadása:
Válassza az Read-Only Útválasztás lapot.
Adja meg az írásvédett replikák URL-címeit. Ezek az URL-címek hasonlóak a végpontokhoz, kivéve, hogy a példány portját használják, nem a végpontot.
Jelölje ki az egyes URL-címeket, és alulról válassza ki az olvasható replikákat. Többszörös kijelöléshez tartsa lenyomva a SHIFT billentyűt, vagy húzza az egérrel kijelölés közben.
Válassza Következőlehetőséget.
Adja meg a másodlagos replikák inicializálásának módját. Az alapértelmezett beállítás az automatikus vetéshasználata, amelyhez az AG-ben részt vevő összes kiszolgálón ugyanazt az elérési utat kell használni. A varázsló biztonsági mentést, másolást és visszaállítást is végezhet (a második lehetőség); csatlakoztatni, ha manuálisan biztonsági másolatot készített, másolt és visszaállított az adatbázist a replikákon (harmadik lehetőség); vagy adja hozzá később az adatbázist (utolsó lehetőség). A tanúsítványokhoz hasonlóan, ha manuálisan készít biztonsági másolatot és másolja őket, állítsa be a többi replika biztonsági mentési fájljaira vonatkozó engedélyeket. Válassza Következőlehetőséget.
Az Érvényesítés párbeszédpanelen, ha nem minden jelenik meg „Sikeres” státusszal, vizsgálja meg. Egyes figyelmeztetések elfogadhatóak és nem végzetesek, például ha nem hoz létre figyelőt. Válassza Következőlehetőséget.
Az Összegzés párbeszédpanelen válassza a Befejezéslehetőséget. Ekkor megkezdődik az AG létrehozásának folyamata.
Ha az AG létrehozása befejeződött, az Eredmények menüpontnál válassza a Bezárás lehetőséget. Mostantól a dinamikus felügyeleti nézetek replikáin, valamint az SSMS Always On Magas rendelkezésre állású mappájában láthatja az AG-t.
Transact-SQL használata
Ez a szakasz példákat mutat be egy AG Transact-SQL használatával történő létrehozására. Az AG létrehozása után konfigurálhatja a „listenert” és az írásvédett útvonalvezetést. Az AG-t a ALTER AVAILABILITY GROUP használatával módosíthatja, de az SQL Server 2017-ben (14.x) nem módosíthatja a fürt típusát. Ha nem külső fürttípusú AG-t akart létrehozni, akkor törölnie kell, és újra létre kell hoznia egy Nincs típusú fürttel. További információkért és egyéb lehetőségekért tekintse meg az alábbi hivatkozásokat:
- HOZZON LÉTRE ELÉRHETŐSÉGI CSOPORTOT (Transact-SQL)
- ALTER ELÉRHETŐSÉGI CSOPORT (Transact-SQL)
- Always On rendelkezésre állási csoport írásvédett útválasztásának konfigurálása
- Always On rendelkezésre állási csoport figyelőjének konfigurálása
Példa A: Két replika csak konfigurációs replikával (külső fürttípus)
Ez a példa bemutatja, hogyan hozhat létre két replika AG-t, amely csak konfigurációs replikát használ.
Hajtsa végre a következő utasítást az elsődleges replikaként működő csomóponton, és tartalmazza az adatbázisok teljes olvasási/írási másolatát. Ez a példa automatikus vetést használ.
CREATE AVAILABILITY GROUP [<AGName>] WITH (CLUSTER_TYPE = EXTERNAL) FOR DATABASE <DBName> REPLICA ON N'LinAGN1' WITH ( ENDPOINT_URL = N' TCP://LinAGN1.FullyQualified.Name:5022', FAILOVER_MODE = EXTERNAL, AVAILABILITY_MODE = SYNCHRONOUS_COMMIT ), N'LinAGN2' WITH ( ENDPOINT_URL = N'TCP://LinAGN2.FullyQualified.Name:5022', FAILOVER_MODE = EXTERNAL, AVAILABILITY_MODE = SYNCHRONOUS_COMMIT, SEEDING_MODE = AUTOMATIC ), N'LinAGN3' WITH ( ENDPOINT_URL = N'TCP://LinAGN3.FullyQualified.Name:5022', AVAILABILITY_MODE = CONFIGURATION_ONLY ); GOA másik replikához csatlakoztatott lekérdezési ablakban hajtsa végre a következő utasítást a replika AG-hez való csatlakoztatásához, és indítsa el a vetés folyamatát az elsődlegesről a másodlagos replikára.
ALTER AVAILABILITY GROUP [<AGName>] JOIN WITH (CLUSTER_TYPE = EXTERNAL); GO ALTER AVAILABILITY GROUP [<AGName>] GRANT CREATE ANY DATABASE; GOA csak a konfigurációs replikához csatlakoztatott lekérdezési ablakban futtassa az alábbi utasítást az AG-hez való csatlakozáshoz.
ALTER AVAILABILITY GROUP [<AGName>] JOIN WITH (CLUSTER_TYPE = EXTERNAL); GO
B: Példa: Három replika írásvédett útválasztással (külső klasztertípus)
A példa bemutat három teljes replikát, és szemlélteti, hogyan lehet az írásvédett útválasztást konfigurálni az AG első létrehozásakor.
Hajtsa végre a következő utasítást az elsődleges replikaként működő csomóponton, és tartalmazza az adatbázisok teljes olvasási/írási másolatát. Ez a példa automatikus vetést használ.
CREATE AVAILABILITY GROUP [<AGName>] WITH (CLUSTER_TYPE = EXTERNAL) FOR DATABASE < DBName > REPLICA ON N'LinAGN1' WITH ( ENDPOINT_URL = N'TCP://LinAGN1.FullyQualified.Name:5022', FAILOVER_MODE = EXTERNAL, AVAILABILITY_MODE = SYNCHRONOUS_COMMIT, PRIMARY_ROLE(ALLOW_CONNECTIONS = READ_WRITE, READ_ONLY_ROUTING_LIST = ( ( 'LinAGN2.FullyQualified.Name', 'LinAGN3.FullyQualified.Name' ) )), SECONDARY_ROLE(ALLOW_CONNECTIONS = ALL, READ_ONLY_ROUTING_URL = N'TCP://LinAGN1.FullyQualified.Name:1433') ), N'LinAGN2' WITH ( ENDPOINT_URL = N'TCP://LinAGN2.FullyQualified.Name:5022', FAILOVER_MODE = EXTERNAL, SEEDING_MODE = AUTOMATIC, AVAILABILITY_MODE = SYNCHRONOUS_COMMIT, PRIMARY_ROLE(ALLOW_CONNECTIONS = READ_WRITE, READ_ONLY_ROUTING_LIST = ( ( 'LinAGN1.FullyQualified.Name', 'LinAGN3.FullyQualified.Name' ) )), SECONDARY_ROLE(ALLOW_CONNECTIONS = ALL, READ_ONLY_ROUTING_URL = N'TCP://LinAGN2.FullyQualified.Name:1433') ), N'LinAGN3' WITH ( ENDPOINT_URL = N'TCP://LinAGN3.FullyQualified.Name:5022', FAILOVER_MODE = EXTERNAL, SEEDING_MODE = AUTOMATIC, AVAILABILITY_MODE = SYNCHRONOUS_COMMIT, PRIMARY_ROLE(ALLOW_CONNECTIONS = READ_WRITE, READ_ONLY_ROUTING_LIST = ( ( 'LinAGN1.FullyQualified.Name', 'LinAGN2.FullyQualified.Name' ) )), SECONDARY_ROLE(ALLOW_CONNECTIONS = ALL, READ_ONLY_ROUTING_URL = N'TCP://LinAGN3.FullyQualified.Name:1433') ) LISTENER '<ListenerName>' ( WITH IP = ('<IPAddress>', '<SubnetMask>'), Port = 1433 ); GONéhány megjegyzés ehhez a konfigurációhoz:
-
AGNamea rendelkezésre állási csoport neve. -
DBNamea rendelkezésre állási csoporttal használt adatbázis neve. Vesszővel elválasztott nevek listája is lehet. -
ListenerNameegy olyan név, amely eltér bármely mögöttes kiszolgálótól vagy csomóponttól. AIPAddressés a DNS-ben van regisztrálva. -
IPAddressegy IP-cím, amely a .-hezListenerNamevan társítva. Egyedi is, és nem ugyanaz, mint bármelyik kiszolgáló vagy csomópont. Az alkalmazások és a végfelhasználókListenerNamevagyIPAddresshasználatával csatlakoznak az AG-hez.-
SubnetMaskIPAddressalhálózati maszkja. Az SQL Server 2019 -ben (15.x) és a korábbi verziókban ez az érték .255.255.255.255Az SQL Server 2022 (16.x) és újabb verzióiban ez az érték .0.0.0.0
-
-
A másik replikához csatlakoztatott lekérdezési ablakban hajtsa végre a következő utasítást a replika AG-hez való csatlakoztatásához, és indítsa el a vetés folyamatát az elsődlegesről a másodlagos replikára.
ALTER AVAILABILITY GROUP [<AGName>] JOIN WITH (CLUSTER_TYPE = EXTERNAL); GO ALTER AVAILABILITY GROUP [<AGName>] GRANT CREATE ANY DATABASE; GOIsmételje meg a 2. lépést a harmadik replikához.
Példa C: Két replika írásvédett útválasztással (nincs klaszter típus)
Ez a példa egy kétreplika-konfiguráció létrehozását mutatja be a Nincs fürttípus használatával. Használja ezt a konfigurációt a read scale forgatókönyvhöz, ahol nem várható feladatátvétel. Ez a lépés létrehozza a hallgatót, amely az elsődleges replikát valósítja meg, és a csak olvasható útválasztást a körkörös kiosztási funkcióval.
Hajtsa végre a következő utasítást az elsődleges replikaként működő csomóponton, és tartalmazza az adatbázisok teljes olvasási/írási másolatát. Ez a példa automatikus vetést használ.
CREATE AVAILABILITY GROUP [<AGName>] WITH (CLUSTER_TYPE = NONE) FOR DATABASE <DBName> REPLICA ON N'LinAGN1' WITH ( ENDPOINT_URL = N'TCP://LinAGN1.FullyQualified.Name: <PortOfEndpoint>', FAILOVER_MODE = MANUAL, AVAILABILITY_MODE = ASYNCHRONOUS_COMMIT, PRIMARY_ROLE( ALLOW_CONNECTIONS = READ_WRITE, READ_ONLY_ROUTING_LIST = (('LinAGN1.FullyQualified.Name'.'LinAGN2.FullyQualified.Name')) ), SECONDARY_ROLE( ALLOW_CONNECTIONS = ALL, READ_ONLY_ROUTING_URL = N'TCP://LinAGN1.FullyQualified.Name:<PortOfInstance>' ) ), N'LinAGN2' WITH ( ENDPOINT_URL = N'TCP://LinAGN2.FullyQualified.Name:<PortOfEndpoint>', FAILOVER_MODE = MANUAL, SEEDING_MODE = AUTOMATIC, AVAILABILITY_MODE = ASYNCHRONOUS_COMMIT, PRIMARY_ROLE(ALLOW_CONNECTIONS = READ_WRITE, READ_ONLY_ROUTING_LIST = ( ('LinAGN1.FullyQualified.Name', 'LinAGN2.FullyQualified.Name') )), SECONDARY_ROLE(ALLOW_CONNECTIONS = ALL, READ_ONLY_ROUTING_URL = N'TCP://LinAGN2.FullyQualified.Name:<PortOfInstance>') ), LISTENER '<ListenerName>' (WITH IP = ( '<PrimaryReplicaIPAddress>', '<SubnetMask>'), Port = <PortOfListener> ); GOEbben a példában:
-
AGNamea rendelkezésre állási csoport neve. -
DBNamea rendelkezésre állási csoporttal használt adatbázis neve. Vesszővel elválasztott nevek listája is lehet. -
PortOfEndpointa létrehozott végpont által használt portszám.-
PortOfInstanceaz SQL Server példánya által használt portszám.
-
-
ListenerNameegy olyan név, amely különbözik a mögöttes replikáktól, de valójában nem kerül felhasználásra. -
PrimaryReplicaIPAddressaz elsődleges replika IP-címe.-
SubnetMaskIPAddressalhálózati maszkja. Az SQL Server 2019 -ben (15.x) és a korábbi verziókban ez az érték .255.255.255.255Az SQL Server 2022 (16.x) és újabb verzióiban ez az érték .0.0.0.0
-
-
Csatlakoztassa a másodlagos replikát az AG-hez, és indítsa el az automatikus vetést.
ALTER AVAILABILITY GROUP [<AGName>] JOIN WITH (CLUSTER_TYPE = NONE); GO ALTER AVAILABILITY GROUP [<AGName>] GRANT CREATE ANY DATABASE; GO
Az SQL Server bejelentkezési és engedélyeinek létrehozása a Pacemakerhez
A Linuxon SQL Servert használó, magas rendelkezésre állású Pacemaker fürtnek hozzáférést kell biztosítani az SQL Server példányhoz, valamint jogosultságokat kell kapnia magára a rendelkezésre állási csoportra. Ezek a lépések létrehozzák a bejelentkezést és a kapcsolódó engedélyeket, valamint egy fájlt, amely tájékoztatja a Pacemakert, hogyan jelentkezzen be az SQL Serverbe.
Az első replikához csatlakoztatott lekérdezési ablakban hajtsa végre a következő szkriptet:
CREATE LOGIN PMLogin WITH PASSWORD ='<password>'; GO GRANT VIEW SERVER STATE TO PMLogin; GO GRANT ALTER, CONTROL, VIEW DEFINITION ON AVAILABILITY GROUP::<AGThatWasCreated> TO PMLogin; GOAz 1. csomóponton adja meg a következő parancsot:
sudo emacs /var/opt/mssql/secrets/passwdEz a parancs megnyitja az Emacs-szerkesztőt.
Írja be a következő két sort a szerkesztőbe:
PMLogin <password>Tartsa lenyomva a
Ctrlbillentyűt, majd nyomja le aX, majdCbillentyűt a fájl bezárásához és mentéséhez.Hajtsa végre a következőt:
sudo chmod 400 /var/opt/mssql/secrets/passwda fájl zárolásához.
Ismételje meg az 1–5. lépést a replikaként szolgáló többi kiszolgálón.
Az elérhetőségi csoport erőforrásainak létrehozása a Pacemaker klaszterben (csak külső)
Miután létrehozott egy rendelkezésre állási csoportot az SQL Serverben, létre kell hoznia a megfelelő erőforrásokat a Pacemakerben, amikor külső fürttípust ad meg. Két erőforrás van társítva egy rendelkezésre állási csoporthoz: magához a rendelkezésre állási csoporthoz és egy IP-címhez. Az IP-címerőforrás konfigurálása nem kötelező, ha nem használja a figyelő funkciót, de ajánlott.
A létrehozott AG-erőforrás egy klónnak nevezett erőforrástípus. Az AG-erőforrás minden csomóponton rendelkezik másolatokkal, és egy főkiszolgáló nevű vezérlő erőforrással. A főkiszolgáló az elsődleges replikát üzemeltető kiszolgálóhoz van társítva. A többi erőforrás másodlagos replikákat (normál vagy csak konfigurációs) üzemeltet, és egy helyreállítási átállás során promotálható a mester szerepkörbe.
Hozza létre az AG-erőforrást a következő szintaxissal:
sudo pcs resource create <NameForAGResource> ocf:mssql:ag ag_name=<AGName> meta failure-timeout=30s promotable notify=trueEbben a példában
NameForAGResourceaz AG fürterőforrásának adott egyedi nevet adja, ésAGNamea létrehozott AG nevét.Hozza létre a figyelő funkcióhoz társított AG IP-címerőforrását.
sudo pcs resource create <NameForIPResource> ocf:heartbeat:IPaddr2 ip=<IPAddress> cidr_netmask=<Netmask>Ebben a példában
NameForIPResourceaz IP-erőforrás egyedi neve, ésIPAddressaz erőforráshoz hozzárendelt statikus IP-cím.Annak érdekében, hogy az IP-cím és az AG-erőforrás ugyanazon a csomóponton fusson, konfiguráljon egy közös elhelyezési korlátozást.
sudo pcs constraint colocation add <NameForIPResource> with promoted <NameForAGResource>-clone INFINITYEbben a példában
NameForIPResourceaz IP-erőforrás neve, ésNameForAGResourceaz AG-erőforrás neve.Hozzon létre egy rendelési kényszert, hogy az AG-erőforrás az IP-cím előtt működjön. Bár a helymegkötés rendelési kényszert jelent, ez a lépés kényszeríti azt.
sudo pcs constraint order promote <NameForAGResource>-clone then start <NameForIPResource>Ebben a példában
NameForIPResourceaz IP-erőforrás neve, ésNameForAGResourceaz AG-erőforrás neve.
Következő lépés
Ebben az oktatóanyagban megtanulta, hogyan hozhat létre és konfigurálhat rendelkezésre állási csoportot linuxos SQL Serverhez. Megtanulta, hogyan:
- Rendelkezésre állási csoportok engedélyezése.
- AG-végpontok és -tanúsítványok létrehozása.
- Az SQL Server Management Studio (SSMS) vagy Transact-SQL használatával hozzon létre egy AG-t.
- Hozza létre az SQL Server bejelentkezési adatait és engedélyeit a Pacemakerhez.
- AG-erőforrások létrehozása Pacemaker klaszterben.
A legtöbb AG-felügyelettel kapcsolatos feladat, beleértve a frissítéseket és a feladatátvételt, lásd: