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 a dokumentum a következő feladatokat ismerteti az SQL Serverhez egy megosztott lemezes feladatátvevő fürtön a Red Hat Enterprise Linux használatával.
- A fürt kézi átváltása
- Feladatátvevő fürt SQL Server-szolgáltatásának figyelése
- Fürtcsomópont hozzáadása
- Fürtcsomópont eltávolítása
- Az SQL Server erőforrásmonitorozási gyakoriságának módosítása
Architektúra leírása
A fürtözési réteg alapja a Red Hat Enterprise Linux (RHEL) HA bővítmény, amely a Pacemakertetejére épül. A Corosync és a Pacemaker koordinálja a fürtkommunikációt és az erőforrás-kezelést. Az SQL Server-példány aktív az egyik csomóponton vagy a másikon.
A következő ábra bemutatja a Linux-klaszter SQL Server összetevőit.
További információért a fürtkonfigurációval, az erőforrás-ügynökök beállításaival és felügyeletével kapcsolatban, látogasson el a RHEL referenciadokumentációhoz.
Fürt manuális átállása
A resource move parancs kényszert hoz létre, amely arra kényszeríti az erőforrást, hogy a célcsomóponton kezdjen. A move parancs végrehajtása után az erőforrás-clear végrehajtása eltávolítja a kényszert, hogy újra áthelyezhető legyen az erőforrás, vagy az erőforrás automatikusan feladatátvételt hajtson végre.
sudo pcs resource move <sqlResourceName> <targetNodeName>
sudo pcs resource clear <sqlResourceName>
Az alábbi példa áthelyezi az mssqlha erőforrást egy sqlfcivm2nevű csomópontra, majd eltávolítja a kényszert, hogy az erőforrás később másik csomópontra váltson.
sudo pcs resource move mssqlha sqlfcivm2
sudo pcs resource clear mssqlha
Feladatátvevő fürt SQL Server-szolgáltatásának figyelése
Tekintse meg a fürt aktuális állapotát:
sudo pcs status
A fürt és az erőforrások élő állapotának megtekintése:
sudo crm_mon
A /var/log/cluster/corosync.log pontnál tekintheti meg az erőforrás-ügynök naplóit.
Csomópont hozzáadása fürthöz
Ellenőrizze az egyes csomópontok IP-címét. Az alábbi szkript az aktuális csomópont IP-címét mutatja.
ip addr showAz új csomópontnak 15 karakternél rövidebb egyedi névre van szüksége. A Red Hat Linuxban alapértelmezés szerint a számítógép neve
localhost.localdomain. Előfordulhat, hogy ez az alapértelmezett név nem egyedi, és túl hosszú. Állítsa be a számítógép nevét az új csomópontra. Állítsa be a számítógép nevét a/etc/hostshozzáadásával. Az alábbi szkript lehetővé teszi/etc/hostsszerkesztésétvi.sudo vi /etc/hostsAz alábbi példa bemutatja a
/etc/hosts, amely tartalmaz három csomópontot név szerint:sqlfcivm1,sqlfcivm2, éssqlfcivm3.127.0.0.1 localhost localhost4 localhost4.localdomain4 ::1 localhost localhost6 localhost6.localdomain6 10.128.18.128 fcivm1 10.128.16.77 fcivm2 10.128.14.26 fcivm3A fájlnak minden csomóponton azonosnak kell lennie.
Állítsa le az SQL Server szolgáltatást az új csomóponton.
Kövesse az utasításokat az adatbázis fájlkönyvtárának a megosztott helyre való csatlakoztatásához:
Az NFS-kiszolgálóról telepítse a következőt
nfs-utils:sudo yum -y install nfs-utilsNyissa meg a tűzfalat az ügyfeleken és az NFS-kiszolgálón:
sudo firewall-cmd --permanent --add-service=nfs sudo firewall-cmd --permanent --add-service=mountd sudo firewall-cmd --permanent --add-service=rpc-bind sudo firewall-cmd --reloadSzerkessze a
/etc/fstabfájlt a csatlakoztatási parancs belefoglalásához:<IP OF NFS SERVER>:<shared_storage_path> <database_files_directory_path> nfs timeo=14,intrFuttassa
mount -aa módosítások érvénybe lépéséhez.Az új csomóponton hozzon létre egy fájlt, amely tárolja az SQL Server-felhasználónevet és -jelszót a Pacemaker-bejelentkezéshez. A következő parancs létrehozza és feltölti ezt a fájlt:
sudo touch /var/opt/mssql/passwd sudo echo "<loginName>" >> /var/opt/mssql/secrets/passwd sudo echo "<password>" >> /var/opt/mssql/secrets/passwd sudo chown root:root /var/opt/mssql/passwd sudo chmod 600 /var/opt/mssql/passwdFigyelem
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.
Az új csomóponton nyissa meg a Pacemaker tűzfalportokat. 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ál, amely nem rendelkezik beépített magas rendelkezésre állási konfigurációval, a Pacemaker számára a következő portokat kell megnyitnia, hogy a fürt többi csomópontjával kommunikálhasson:
- TCP: Portok 2224, 3121, 21064
- UDP: 5405-ös port
Telepítse a Pacemaker-csomagokat az új 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, mint a meglévő csomópontok.
sudo passwd haclusterEngedélyezze és indítsa el
pcsdszolgáltatást és a Pacemakert. Ez lehetővé teszi, hogy az új csomópont újra csatlakozzon a fürthöz az újraindítás után. Futtassa a következő parancsot az új 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 az alábbi parancsokat az új csomóponton.
sudo yum install mssql-server-haA fürt egy meglévő csomópontján hitelesítse az új csomópontot, és adja hozzá a fürthöz:
sudo pcs cluster auth <nodeName3> -u hacluster sudo pcs cluster node add <nodeName3>Az alábbi példa egy vm3 nevű csomópontot ad hozzá a fürthöz.
sudo pcs cluster auth sudo pcs cluster start
Csomópontok eltávolítása fürtből
Csomópont fürtből való eltávolításához futtassa a következő parancsot:
sudo pcs cluster node remove <nodeName>
Az sqlservr-erőforrás monitorozási időközének módosítása
sudo pcs resource op monitor interval=<interval>s <sqlResourceName>
Az alábbi példa 2 másodpercre állítja az mssql-erőforrás monitorozási időközét:
sudo pcs resource op monitor interval=2s mssqlha
Red Hat Enterprise Linux megosztott lemezfürt hibaelhárítása SQL Serverhez
A fürt hibaelhárítása során hasznos lehet annak megértése, hogyan működik együtt a három démon a fürterőforrások kezelésére.
| Daemon | Leírás |
|---|---|
| Corosync | Kvórum tagság biztosítása és üzenetküldés biztosítása a fürtcsomópontok között. |
| Szívritmus-szabályozó | A Corosync rendszeren fut és állapotgépeket biztosít az erőforrások számára. |
| PCSD | A Pacemaker és a Corosync pcs eszközökkel is kezelhető. |
A PCSD-nek futnia kell a pcs eszközök használatához.
A fürt aktuális állapota
sudo pcs status az egyes csomópontok fürt-, kvórum-, csomópont-, erőforrás- és démonállapotának alapvető adatait adja vissza.
Példa egy egészséges pacemaker kvórum kimenetére:
Cluster name: MyAppSQL
Last updated: Wed Oct 31 12:00:00 2016 Last change: Wed Oct 31 11:00:00 2016 by root via crm_resource on sqlvmnode1
Stack: corosync
Current DC: sqlvmnode1 (version 1.1.13-10.el7_2.4-44eb2dd) - partition with quorum
3 nodes and 1 resource configured
Online: [ sqlvmnode1 sqlvmnode2 sqlvmnode3 ]
Full list of resources:
mssqlha (ocf::sql:fci): Started sqlvmnode1
PCSD Status:
sqlvmnode1: Online
sqlvmnode2: Online
sqlvmnode3: Online
Daemon Status:
corosync: active/disabled
pacemaker: active/enabled
A példában partition with quorum azt jelenti, hogy a csomópontok többségi kvóruma online állapotban van. Ha a fürt elveszíti a csomópontok többségének kvórumát, pcs statuspartition WITHOUT quorum ad vissza, és minden erőforrás leáll.
online: [sqlvmnode1 sqlvmnode2 sqlvmnode3] a fürtben jelenleg részt vevő összes csomópont nevét adja vissza. Ha valamelyik csomópont nem vesz részt a programban, pcs statusOFFLINE: [<nodename>]ad vissza.
PCSD Status az egyes csomópontok fürtállapotát jeleníti meg.
A csomópont kapcsolat nélküli állapotának okai
Ellenőrizze a következő elemeket, ha egy csomópont offline állapotban van.
tűzfal
Az alábbi portoknak nyitva kell lenniük az összes csomóponton ahhoz, hogy a Pacemaker kommunikálni tudjon.
- **TCP: 2224, 3121, 21064
Pacemaker- vagy Corosync-szolgáltatások
Csomópont kommunikáció
csomópontnévleképezések