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 lemez feladatátvevő fürtpéldánya kiszolgálószintű 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). Az Ubuntu-disztribúciók az RHEL-hez hasonlóak, így a példaszkriptek általában az Ubuntu-on is működnek.
Fogalmi információkért lásd: Failover cluster instances on Linux.
Prerequisites
A következő teljes körű forgatókönyv végrehajtásához két gépre van szükség a két csomópontfürt és egy másik tárolókiszolgáló üzembe helyezéséhez. 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.
Konfigurálás céljából jelöljön ki egy csomópontot elsődlegesként, a másikat pedig másodlagosként. Ezeket a kifejezéseket használja az útmutató követése során.
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. Linuxon az SQL Server mindigmssqlnevű helyi fiókként fut. Mivel ez egy helyi fiók, az identitása nem oszlik meg a csomópontok között. Ezért át kell másolnia a titkosítási kulcsot az elsődleges csomópontról minden másodlagos csomópontra, hogy minden helyimssql-fiók hozzáférhessen a kiszolgáló főkulcsának visszafejtéséhez.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.Végezze el manuálisan az FCI átállítását a többi 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 állítsa vissza az FCI-t az eredeti csomópontra, és távolítsa el a helymegkötést.
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