Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A következőkre vonatkozik:SQL Server Linux rendszeren
Az SQL Server kétcsomópontos megosztott lemezes failover klaszterpéldánya szerverszintű redundanciát biztosít a magas rendelkezésre állás érdekében. Ebben az oktatóanyagban megtudhatja, hogyan hozhat létre két csomópontú feladatátvevő fürtpéldányt Linux alapú SQL Serveren. A következő lépéseket fogja elvégezni:
- Linux beállítása és konfigurálása
- Az SQL Server telepítése és konfigurálása
- A hosts fájl konfigurálása
- Megosztott tárterület konfigurálása és az adatbázisfájlok áthelyezése
- A Pacemaker telepítése és konfigurálása minden fürtcsomóponton
- A feladatátvevő fürtpéldány konfigurálása
Ez a cikk bemutatja, hogyan hozhat létre kétcsomópontos megosztott lemez feladatátvételi fürtpéldányt (FCI) az SQL Serverhez. A cikk útmutatást és példaszkripteket tartalmaz a Red Hat Enterprise Linuxhoz (RHEL).
Fogalmi információkért lásd: Failover cluster instances on Linux.
Prerequisites
A következő végpont-végpont forgatókönyv teljesítéséhez két gépre van szükséged a kétcsomópontos klaszterhez, és egy másik szerverre a tároláshoz. Az alábbi lépések ismertetik a kiszolgálók konfigurálását.
Linux beállítása és konfigurálása
Az első lépés az operációs rendszer konfigurálása a fürtcsomópontokon. A klaszter minden csomópontján konfigurálj egy Linux disztribúciót. Használja ugyanazt az eloszlást és verziót mindkét csomóponton. Használja az alábbi disztribúciók egyikét vagy másikát:
- RHEL érvényes előfizetéssel a HA-bővítményhez
Az SQL Server telepítése és konfigurálása
Telepítse és állítsa be az SQL Servert mindkét csomóponton. Részletes útmutatásért tekintse meg LinuxSQL Server telepítési útmutatóját.
Jelöld ki az egyik csomópontot elsődlegesnek, a másikat másodinak konfigurációs célokra. Használja ezeket a kifejezéseket az útmutatóban.
A másodlagos csomóponton állítsa le és tiltsa le az SQL Servert. Az alábbi példa leállítja és letiltja az SQL Servert:
sudo systemctl stop mssql-server sudo systemctl disable mssql-serverNote
A beállítás során egy kiszolgálói főkulcs jön létre az SQL Server-példány számára, és elhelyezésre kerül a
/var/opt/mssql/secrets/machine-key-nál. Linux rendszeren az SQL Server mindig helyi fiókként fut,mssql. Mivel ez egy helyi fiók, az identitása nem oszlik meg a csomópontok között. Ezért a titkosítási kulcsot az elsődleges csomópontról a másodlagos csomópontra kell másolni, hogy minden helyimssqlfiók hozzáférhessen ahhoz, hogy dekódolja a szerver mesterkulcsot.Az elsődleges csomóponton hozzon létre egy SQL Server-bejelentkezést a Pacemakerhez, és adja meg a bejelentkezési engedélyt a
sp_server_diagnosticsfuttatásához. A Pacemaker ezzel a fiókkal ellenőrzi, hogy melyik csomópont futtatja az SQL Servert.sudo systemctl start mssql-serverCsatlakozzon az SQL Server
masteradatbázishoz asafiókkal, és futtassa a következőket:USE master; GO CREATE LOGIN [<loginName>] WITH PASSWORD = N'<password>'; ALTER SERVER ROLE [sysadmin] ADD MEMBER [<loginName>];Caution
A jelszónak az SQL Server alapértelmezett password szabályzatot kell 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.
Azt is megteheti, hogy részletesebben állítja be az engedélyeket. A Pacemakerbe való bejelentkezéshez
VIEW SERVER STATEszükséges az állapot lekérdezéséhez a(z)sp_server_diagnostics, setupadmin ésALTER ANY LINKED SERVERhasználatával, valamint az FCI-példány nevének az erőforrás nevére való frissítéséhez a(z)sp_dropserveréssp_addserverfuttatásával.Az elsődleges csomóponton állítsa le és tiltsa le az SQL Servert.
A hosts fájl konfigurálása
Minden fürtcsomóponton konfigurálja a hosts fájlt. A hosts fájlnak tartalmaznia kell minden fürtcsomópont IP-címét és nevét.
Ellenőrizze az egyes csomópontok IP-címét. Az alábbi szkript az aktuális csomópont IP-címét mutatja.
sudo ip addr showÁllítsa be a számítógép nevét az egyes csomópontokon. Adjon minden csomópontnak egy 15 karakteres vagy annál kisebb egyedi nevet. Állítsa be a számítógép nevét úgy, hogy hozzáadja a
/etc/hosts-hoz. Az alábbi szkript lehetővé teszi a(z)/etc/hostsszerkesztését a(z)visegítségével.sudo vi /etc/hostsAz alábbi példa a
/etc/hostspéldára vonatkozó kiegészítéseket mutat két csomóponthoz, amelyeketsqlfcivm1éssqlfcivm2néven neveznek.127.0.0.1 localhost localhost4 localhost4.localdomain4 ::1 localhost localhost6 localhost6.localdomain6 10.128.18.128 sqlfcivm1 10.128.16.77 sqlfcivm2
A tárhely beállítása és az adatbázisfájlok áthelyezése
Olyan tárhelyet kell biztosítania, amelyhez mindkét csomópont hozzáférhet. Használhatja az iSCSI-t, az NFS-t vagy az SMB-t. Konfigurálja a tárolót, mutassa be a tárolót a fürtcsomópontoknak, majd helyezze át az adatbázisfájlokat az új tárolóba. Az alábbi cikkek az egyes tárolótípusok lépéseit ismertetik:
- Feladatátvételi fürtpéldány konfigurálása Linuxon (iSCSI)
- Feladatátvevő fürtpéldány konfigurálása Linuxon (NFS)
- Feladatátvételi fürtpéldány konfigurálása Linux rendszeren (SMB)
A Pacemaker telepítése és konfigurálása minden fürtcsomóponton
Mindkét fürtcsomóponton hozzon létre egy fájlt az SQL Server-felhasználónév és -jelszó tárolásához a Pacemaker-bejelentkezéshez.
A következő parancs létrehozza és feltölti ezt a fájlt:
sudo touch /var/opt/mssql/secrets/passwd echo '<loginName>' | sudo tee -a /var/opt/mssql/secrets/passwd echo '<loginPassword>' | sudo tee -a /var/opt/mssql/secrets/passwd sudo chown root:root /var/opt/mssql/secrets/passwd sudo chmod 600 /var/opt/mssql/secrets/passwdMindkét fürtcsomóponton nyissa meg a Pacemaker tűzfalportjait. Ha szeretné megnyitni ezeket a portokat a
firewalldhasználatával, futtassa a következő parancsot:sudo firewall-cmd --permanent --add-service=high-availability sudo firewall-cmd --reloadHa egy másik tűzfalat használsz, amelynek nincs beépített magas rendelkezésre állású konfigurációja, nyisd meg a következő portokat, hogy a Pacemaker kommunikálhasson a klaszter többi csomópontjával:
- TCP: Port 2224, 3121, 21064
- UDP: 5405-ös port
Telepítse a Pacemaker-csomagokat minden csomópontra.
sudo yum install pacemaker pcs fence-agents-all resource-agentsAdja meg a Pacemaker- és Corosync-csomagok telepítésekor létrehozott alapértelmezett felhasználó jelszavát. Használja ugyanazt a jelszót mindkét csomóponton.
sudo passwd haclusterEngedélyezze és indítsa el
pcsdszolgáltatást és a Pacemakert. Ez lehetővé teszi, hogy a csomópontok újra csatlakozhassanak a fürthöz az újraindítás után. Futtassa a következő parancsot mindkét csomóponton.sudo systemctl enable pcsd sudo systemctl start pcsd sudo systemctl enable pacemakerTelepítse az SQL Server FCI-erőforrásügynökét. Futtassa a következő parancsokat mindkét csomóponton.
sudo yum install mssql-server-ha
Kerítésügynök konfigurálása
A STONITH-eszköz egy kerítésügynököt biztosít. Termelési klaszterekhez beállítanod kell egy kerítő ügynököt. A Azure-ban STONITH eszköz létrehozásának példáját lásd a Pacemaker beállítása Red Hat Enterprise Linux Azure-ban. Módosítsa a környezet utasításait.
A feladatátvevő fürtpéldány konfigurálása
Az FCI egy erőforráscsoportban lesz létrehozva. Ez valamivel egyszerűbb, mivel az erőforráscsoport enyhíti a korlátozások szükségességét. Adja hozzá azonban az erőforrásokat az erőforráscsoporthoz a kezdési sorrendben. Kezdési sorrend a következő:
- Tárolási erőforrás
- Hálózati erőforrás
- Alkalmazáserőforrás
Ez a példa létrehoz egy FCI-t a NewLinFCIGrp csoportban. Az erőforráscsoport nevének egyedinek kell lennie a Pacemakerben létrehozott bármely erőforrástól.
Hozza létre a lemezerőforrást. Ha nincs probléma, nem kap választ. A lemezerőforrás létrehozásának módja a tárolási típustól függ. Az alábbi szakasz példákat mutat be az egyes tárolótípusokra (iSCSI, NFS és SMB). Alkalmazza a példát, amely a tárolási típusra vonatkozik a klaszterezett tárolásnál.
sudo pcs resource create <iSCSIDiskResourceName> Filesystem device="/dev/<VolumeGroupName>/<LogicalVolumeName>" directory="<FolderToMountiSCSIDisk>" fstype="<FileSystemType>" --group <RGName>-
<iSCSIDiskResourceName>az iSCSI-lemezhez társított erőforrás neve -
<VolumeGroupName>a kötetcsoport neve -
<LogicalVolumeName>a létrehozott logikai kötet neve -
<FolderToMountiSCSIDisk>a lemez csatlakoztatásához használt mappa (a rendszeradatbázisok és az alapértelmezett hely esetében ez/var/opt/mssql/data) -
<FileSystemType>az ext4 vagy XFS lehet, attól függően, hogy a rendszer hogyan formázta a dolgokat, és hogy a disztribúció mit támogat.
-
Hozza létre az FCI által használt IP-címet. Ha nincs probléma, nem kap választ.
sudo pcs resource create <IPResourceName> ocf:heartbeat:IPaddr2 ip=<IPAddress> nic=<NetworkCard> cidr_netmask=<NetMask> --group <RGName>-
<IPResourceName>az IP-címhez társított erőforrás neve -
<IPAddress>az FCI IP-címe -
<NetworkCard>az alhálózathoz társított hálózati kártya (azaz eth0) -
<NetMask>az alhálózat hálómaszkja (azaz 24) -
<RGName>az erőforráscsoport neve
-
Hozza létre az FCI-erőforrást. Ha nincs probléma, nem kap választ.
sudo pcs resource create <FCIResourceName> ocf:mssql:fci op defaults timeout=60s --group <RGName>-
<FCIResourceName>nem csak az erőforrás neve, hanem az FCI-hez társított barátságos név is. A felhasználók és alkalmazások ezt használják a csatlakozáshoz. -
<RGName>az erőforráscsoport neve.
-
Futtassa a következő parancsot:
sudo pcs resource. Az FCI-nek online állapotúnak kell lennie.Csatlakozzon az FCI-hez SSMS vagy sqlcmd használatával az FCI DNS/erőforrás nevével.
Adja ki a nyilatkozatot
SELECT @@SERVERNAME. Az FCI nevét kell visszaadnia.Adja ki a nyilatkozatot
SELECT SERVERPROPERTY('ComputerNamePhysicalNetBIOS'). Annak a csomópontnak a nevét kell visszaadnia, amelyen az FCI fut.Manuálisan vigye át az FCI-t a másik csomópontra. Lásd a(z) Feladatátvételi fürtpéldány működtetése Linuxon című szakasz alatti utasításokat.
Végül helyezze vissza az FCI-t az eredeti csomópontra.
Summary
Ebben az oktatóanyagban a következő feladatokat végezte el.
- Linux beállítása és konfigurálása
- Az SQL Server telepítése és konfigurálása
- A hosts fájl konfigurálása
- Megosztott tárterület konfigurálása és az adatbázisfájlok áthelyezése
- A Pacemaker telepítése és konfigurálása minden fürtcsomóponton
- A feladatátvevő fürtpéldány konfigurálása