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
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.
Elméleti információkért lásd: Átállási fürtpéldányok – SQL Server Linux rendszeren.
Előfeltételek
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 fürt minden csomópontján konfiguráljon linuxos 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. Használja ezeket a kifejezéseket ezt az útmutatót követve.
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-serverJegyzet
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>];Figyelmeztetés
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.
Azt is megteheti, hogy részletesebben állítja be az engedélyeket. A Pacemaker-bejelentkezéshez
VIEW SERVER STATEhasználatra van szükség az állapot lekérdezéséhez asp_server_diagnosticsés segítségével, valamint az adminisztrációs beállításokhoz. Használni kell az ALTER ANY LINKED SERVER parancsot is, hogy az FCI-példány nevét frissítsék az erőforrás nevére, asp_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 engedélyezi/etc/hostsszerkesztésétvisegí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átvevő fürtpéldány konfigurálása – iSCSI – SQL Server linuxos
- Failover fürtpéldány konfigurálása – NFS – SQL Server Linux alatt
- SMB-tároló feladatátvevő fürtpéldányának konfigurálása – SQL Server Linux
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 sudo echo '<loginName>' >> /var/opt/mssql/secrets/passwd sudo echo '<loginPassword>' >> /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. A következő parancs futtatásával nyithatja meg ezeket a portokat a
firewalldsegítségével:sudo firewall-cmd --permanent --add-service=high-availability sudo firewall-cmd --reloadHa egy másik tűzfalat használ, amely nem rendelkezik beépített magas rendelkezésre állású konfigurációval, a Pacemakernek a fürt más csomópontjaival való kommunikációhoz a következő portokat kell megnyitnia:
- 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
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 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 állítsa át az FCI-t a másik csomópontra (vagy csomópontokra). Tekintse meg a Operálja a feladatátvevő fürtpéldányt – SQL Server Linuxonalatti 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.
Összefoglalás
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