Dokumentumról
Ezen dokumentum olyan beállításokra hivatkozik, amelyek elvégzéséhez komolyabb, vagy esetenként rendszergazdai ismeretek, és jogosultság szükséges.
Bevezetés
A SUP® Integrált Számviteli Rendszer a kliens-szerver architektúrájú, alapvetően hálózati működési környezetre van tervezve.
Az adatokat SQL adatbázisban tárolja, melyhez a Firebird SQL 3.0 verziójú adatbázis szerver, helyi hálózaton való elérésére van szükség.
Rövid ismertető a Firebird adatbázisról: https://www.firebirdnews.org/docs/fb2min_hu.html
Az adatbázis szerver adminisztratív beállítása nem igényelnek speciális konfigurációt, így nem kizárt más rendszerekkel való együttműködése.
Ennek ellenére NEM JAVASOLJUK az adatbázisok más rendszer által használt adatbázis motorra való telepítését.
Ilyen esetben az adatok biztonságáért, és a rendszer működőképességéért, semmilyen felelősséget nem vállalunk.
FireBird 2.1, FireBird 2.5 és a FireBird 3.0 ugyanazon az operációs rendszeren belül korlátozottan és csak speciális esetben használható.
Ilyen környzetet kizárólag a helyi sajátosságokat ismerő rendszergazda tud készíteni. A QSoft Kft csak tanácsadással tud segíteni egy többverziót futtató rendszer beüzemeléséhez.
Megfontolandó
- Az adatbázisszerverként használt gép lehetőleg csak adatbázis-szerver, esetleg file-szerver legyen. Főként a print-szerver funkciót ne az adatbázis-szerver lássa el.
- Az adatbázisokat lehetőleg ne a rendszermeghajtón tároljuk, és gondoskodjunk a rendszeres (lehetőleg automatizált) mentésükről.
- A mai hálózatok ajánlott protokollja a TCP/IP. Az Firebird is ezzel dolgozik leghatékonyabban. A fölösleges (NetBEUI, IPX/SPX) protokollokat a gépekről (szerverről) el kell távolítani, mert ezek még használaton kívül is szükségtelen hálózati forgalmat generálnak.
- Nagy adatbázisok, vagy sok kiszolgálandó munkahely esetén kimondottan szerverekbe való (pl.: SAS) merevlemezekkel és hozzájuk való vezérlőkártyával (true RAID), nagyobb sebességet lehet elérni, mint asztali PC alkatrészekből kialakított rendszerrel.
A szerver gép
\\<FileServer>\QSoft\Install.dsk
könyvtárába a Firebird 2.5 telepítő készletet (FB30_QSoft_Setup.exe
) ajánlott bemásolni a későbbi munkahely telepítések, újratelepítések megkönnyítése miatt. Amennyiben szoftver CD nem áll rendelkezésre, a szerver gépen, egy munkahely telepítéséhez, újratelepítéséhez szükséges szoftverek rendelkezésre álljanak.- Az adatbázisszerver processz jó teljesítményéhez elegendő memóriát és gyors háttértár elérést kell biztosítani.
- A SUP rendszer gyors működéséhez az alkalmazást futtató gép és az adatbázisszerver között kellő sávszélességű hálózati kommunikációt biztosítani kell.
Pl.: egy távoli telephelyről az adatbázisszerver elérése (VPN-en keresztül) ún. vastag-kliens módban a használhatatlanság határára lassíthatja a rendszer működését.
Adatbázis file-ok helye
Összetettebb rendszer esetén, vagy szigorúbb biztonsági házirend használatakor az adatbázis file-okat akár teljesen el lehet rejteni a felhasználók elől (nem szükséges a lenti struktúrába tárolni).
A SUP rendszernek üzem közben nem szükséges file szintű hozzáférés az adatbázisokhoz
Minden esetben fontos, hogy a szerveren az adatbázis szerver folyamatot (Firebird SQL) futtató felhasználónak teljes hozzáférése legyen az adatbázis file-okhoz és az azokat tartalmazó mappához (írás, olvasás, létrehozás, spec esetben törlés).
SUP szerver oldali könyvtárszerkezete és annak tartalma
Ezt a könyvtárat - mint megosztást is - és alkönyvtárait a felhasználóknak, klienseknek teljes hozzáféréssel el kell tudni érniük
(kivéve a DB könyvtárat).
Javasolt megosztási név: QSOFT
\QSoft | Ebből nyílnak a további alkönyvtárak, melyek valamilyen szempontból a QSoft Kft. által készített programokkal vannak kapcsolatban. |
\QSoft\SUP | Ebből nyílnak a további alkönyvtárak, melyek a SUP® rendszerrel vannak kapcsolatban (Terminológia: alapkönyvtár - SUP home directory ). |
\QSoft\SUP\BIN | Ebbe az alkönyvtárba kell elhelyezni a SUP.EXE file(-t) és a SUP® rendszerrel kapcsolatos további EXE, LNK, file-okat. |
\QSoft\SUP\DB | Egyszerűbb környezet esetén ide lehet tenni az Firebird SQL adatbázis (FDB) file-okat. A SUP rendszernek (és ezáltal a felhasználóknak) nincs szüksége file-system szintű hozzáférésre az adatbázis file-okhoz |
\QSoft\SUP\SysData | Itt a konfigurációs file-ok, valamint a napló (LOG) file-ok kaptak helyet. |
\QSoft\SUP\Update | Ide kell bemásolni a rendszerkövetés telepítő file-(oka)t, illetve ebbe a könyvtárba tölti le az Internetről a SUP automatikusan a rendszerkövetést. |
\QSoft\SUP\Doc | Az elektronikus formában (PDF) tárolt dokumentáció helye. |
\QSoft\UTIL | Ez az alkönyvtár a kapcsolódó segédprogramok pl.: 7ZIP.EXE helye. |
\QSoft\Install.dsk | A hálózatos telepítés esetén az indító ikonokat célszerű ide másolni. Ha a Firebird SQL telepítő készlete felmásolásra kerül, ebbe az alkönyvtárba ajánlott tenni. |
Szerver modellek
Általánosságban a SuperClassic változat telepítését javasoljuk, a QSoft által adott telepítő (FB30_QSoft_Setup.exe
) alapból ezt telepíti
A szerver modell kiválasztása a firebird.conf
konfigurációs fájl, ServerMode
paraméter módosításával lehetséges.
A választott szerver modell hatással van az erőforrás kihasználásra (memória, cache kezelés, szálkezelés) és a lock-olásra
További információ az adott témával foglalkozó Firebird szerver modellek című cikkben, vagy a Firebird SQL vagy a firebirdsql.org weblapon:
- https://firebirdsql.org/manual/qsg25-classic-or-super.html
- https://firebirdsql.org/manual/qsg25-appx-architectures.html
Telepítés
Telepítő készlet
Windows-os rendszerekhez elsődlegesen a QSoft Kft. által adott telepítő használatát javasoljuk.
Linuxos rendszerhez pedig elsősorban a disztribúciós csomagokból beszerzett telepítőt.használatát javasoljuk.
MacOSX rendszeren jelenleg semmilyen gyakorlati tapasztalattal nem rendelkezünk sem a telepítésről, sem a használatról.
Amennyiben valamilyen helyi policy, vagy rendszergazdai megfontolás mégis a hivatalos telepítőcsomagok használatát teszi szükségessé, akkor a Firebird SQL (www.firebirdsql.org) honlapjáról is eléhetőek a telepítőcsomagok
A letöltésnél a Firebird 3.0 verziójú adatbázis szerver telepítőkészleteiből vűálasszunk.
32bit-es operációs rendszer esetén 32bit-es, 64bit-es operációs rendszer esetén 64bit-es Firebird SQL telepítés szükséges!
A megfelelő telepítőkészlet kiválasztásához előbb olvassa végig ezt a dokumentumot.
Windows környezet
A QSoft Kft. saját telepítőt ad ki, mellyel a telepítés egyszerűen elvégezhető, megtalálható a SUP A016 telepítő CD-n, vagy letölthető a https://dl.sup.hu/fb3qssetup
Linux környezet
Az adatbáziskezelőt a Linux csomagkezelőből egyszerűen lehet telepíteni. A telepítés után célszerű a QSoft Kft. által adott konfigurációt file-t is használatba venni.
Mentés
Automatizált
Windows és Linux szerver esetén egyaránt a QSoft Kft által fejlesztett, ütemezhető alkalmazással megoldható (így a mentés a SUP által visszatölthető).
Dokumentáció: Adatbázisok automatizált mentése - QsBackupFdbService
Kézi mentés
- Felhasználók: SUP programból, jogosultság alapján, feltétel a kliens gépeken gbak.exe telepítve legyen, részletes leírás található a "Kliens telepítési útmutatóban".
(Terminálszerveres környezetben egyedi beállítások lehetnek szükségesek.) - Rendszergazda: SUP-ból, szerveren, mint a felhasználók
- Rendszergazda: Saját scriptből (gbak vagy nbackup). Komolyab hozzáértést és fokozott ovatosságot igényel az adatok biztonsága végett.
Ilyen igény esetén a cég rendszergazdája vegye fel a kapcsolatot a QSoft Kft. ügyfélszolgálataával. - Rendszergazda: File szinten. Nem javasolt. De ha mégis, akkor a mentés idejére, adatbiztonsági okokból célszerű a FireBird szervert leállítani.
Az adatbázis file-ok filesystem szintű mentése megoldható ugyan, de NEM javasolt, mert adatvesztéshez vezethet.
ld.: Firebird FAQ
Hibakeresés
Rendszer teljesítményének ellenőrzése
Telepítés (SUP rendszer bekonfigurálása) után, rendelkezésre áll egy DEMO adatbázis, amelyen lehet ellenőrizni a működőképességet, és a teljesítményt.
A SUP rendszerbe való belépést (felhasználó: "DEMO", jelszó mező üresen marad) követően, a Szerviz | Technikai funkciók | Adatbázis sebességteszt menüpontban.
Ezek egy átlagos (kis terheltségű) rendszer minőségi paraméterei.
Tűzfal
Az operációs rendszer tűzfalán a kliensek részére engedélyezni kell a Firebird SQL Server által használt port(ok) elérését. Részletesen lásd itt.
Alapértelmezésben az adatbázis motor a 3050-es port-ot használja, amennyiben a firebird.conf
-ban (ld. később) beállítottuk a RemoteAuxPort
változót, akkor értelem szerűen az ott beállított port elérését is biztosítani kell minden kliens számára.
Lassú SUP indulás
Firebird Szerver finomhangolása
-- Az alábbi szekció jelenleg még nincs FireBird 3.0 adatbázis szerver verzióhoz ellenőrizve --
Mielőtt az adatbázis szerver paraméterezése megtörténik, - tapasztalataink alapján - előbb a szerver erőforrásait, software és hardware komponenseit javasolt megvizsgálni, ugyanis a sebességproblémák döntő hányadát a rendelkezésre álló erőforrások szűk keresztmetszete okozza.
Konfigurációs file
Az Firebird 3 Server konfigurációs paraméterei a firebird.conf
elnevezésű konfigurációs fájlban találhatók,
illetve a QSoft Kft. telepítési irányelvei szerint telepített példány esetén, az include-olt firebird-qsoft.conf
file-ban
(az include config file-ban beállított értékek felülírják a normál konfigurációs file értékeit)
- Windows környezetben pl. a
C:\Program Files\Firebird30\
könyvtárban.
- Linuxos környezetben (pl. Debian) az
/etc/firebird/3.0/
könyvtárban.
A # jellel kezdődő sorok megjegyzésként funkcionálnak. Egy adott beállítás (sor) érvényteleníthető a sor elejére tett # jellel.
Az új beállítások csak a Firebird szerver újraindítása után lesznek aktívak.
Releváns paraméterek
Leírás:
A DefaultDbCachePages paraméter szabályozza, hogy egy kliens hány lapnyi cache memóriát kapjon adatbázis kapcsolatonként (egy SUP példány két adatbázis kapcsolatot nyit a szerveren).
Fontos, hogy, ha az összes munkahely felcsatlakozik, akkor is a fizikai memóriában dolgozzon a szerver számítógép operációs rendszere, és a cache-ben tárolt adatokat nehogy elkezdje kilapozni a virtuális memóriába.
Alapérték:
DefaultDbCachePages = 2048
Javasolt beállítás:
DefaultDbCachePages = 4096
A SUP adatbázisok 4096 byte méretű lapokkal dolgoznak, így a 2*4096 lapnyi cache 32 MB fizikai memóriát igényel kliensenként ( 2 * 4096 * 4096 / 1024 kB) !
Megjegyzés: az IbPhoenix szerint semmiképp nem célszerű 10000 fölé vinni. Általában 4096-ra szoktuk állítani, vagy nagy rekordszámú adatbázis esetén ennek a duplájára.
Leírás:
Ennyi másodperc után nézi meg, hogy a feloldatlan "lock" deadlock-e? Default értéke 10.
Alapérték:
DeadlockTimeout = 10
Javasolt beállítás:
DeadlockTimeout = 10
Leírás:
Ezt a könyvtárat használja a szerver az ideiglenes file-ok tárolására. Megadható a felhasználható tármennyiség. Több bejegyzés is felsorolható, soronként egy. A sorrend számít, mert a sorrend alapján használja fel a tármennyiséget.
Alapérték:
Nincs beállítva, így a operációs rendszer temp könyvtárát használja ( UNIX rendszereken a /tmp
, Windows-on %TEMP%
.)
Javasolt beállítás:
Nincs konkrét javaslat, de fontos, hogy a temp-ként használt könyvtárban (meghajtón) legyen elég hely (pár GB), ha betelik akkor az adatbázis szerver hibával leállhat.
Leírás:
Az itt megadott idő letelte után a kapcsolatot a kliensekkel megszakítottnak tekinti. Alapértelmezés 180 sec.
Alapérték:
ConnectionTimeout = 180
Javasolt beállítás:
ConnectionTimeout = 180
Leírás:
Több processzor (szál) esetén a FireBird Superserver változat optimális működése végett az alábbi beállítást célszerű elvégezni
Alapérték:
CpuAffinityMask = 1
(Csak az első processzort használja)
Javasolt beállítás:
Egy olyan CPU hozzárendelése, melynek alacsony a kihasználtsága
CpuAffinityMask = 4
(Csak a harmadik processzort használja)
Megjegyzés (kiemelve a firebird.conf-ból):
# Which CPUs should be used (Windows Only)
#
# In an SMP system, sets which processors can be used by the server.
# The value is taken from a bit map in which each bit represents a CPU.
# Thus, to use only the first processor, the value is 1. To use both
# CPU 1 and CPU 2, the value is 3. To use CPU 2 and CPU 3, the value
# is 6. The default value is 1.
#
# Type: integer
#
#CpuAffinityMask = 1
Leírás:
Az itt megadott portot használja FireBird kiegészítő kommunikációhoz. Használata a SUP automatikus cache frissítés működésképtelensége, vagy a lassú bejelentkezés esetén lehet szükséges.
Alapérték:
RemoteAuxPort = 0
Javasolt beállítás:
Csak ha a szerver tűzfala miatt indokolt. További információ végett olvassal ezt a cikket.RemoteAuxPort = 3060
Megjegyzés:
#
# The TCP Port Number to be used for server Event Notification
# messages. The value of 0 (Zero) means that the server will choose
# a port number randomly.
#
# Type: integer
#
#RemoteAuxPort = 0
Leírás:
Ha az adatbázis szerver lassulásánál, a munkahelyek magas számára ( >100) gondolunk, akkor a firebird.conf
file-ban lévő "Locking and shared memory parameters
" szekcióban található paraméterek állításával próbálkozhatunk.
Az alapértelmezettek általában 100 kliens gépig problémamentesen működnek.
Ha mégis probléma adódik, akkor az itt található értékek megnövelésével sebességjavulás érhető el, de figyelembe kell venni, hogy ez hatással van a futás időben lefoglalt fizikai RAM területet nagyságára.
Az éppen használatban levő lock_memory
(Pl.: Debial környezetben) a /usr/lib/firebird2/bin/fb_lock_print
paranccsal ellenőrizhető.
Paraméterek:
# ----------------------------
# Locking and shared memory parameters
#LockMemSize = 1048576
#LockSemCount = 32
#LockGrantOrder = 1
#LockAcquireSpins = 0
#LockHashSlots = 1009
Megjegyzés: A paraméterek részletes leírása megtalálható a firebird.conf
file-ban.
Sebességproblémás esetleírások
A sebességproblémák felderítéséhez, a rendszergazdáknak szóló háttéranyag: Sebességproblémák - firebird.conf
Mielőtt az adatbázis szervert átparaméterezik, tapasztalatunk alapján előbb a szerver erőforrásait, szoftver és hardver komponenseit érdemes górcső alá venni.
A sebességproblémák döntő hányadát a rendelkezésre álló erőforrások szűk keresztmetszete okozza.
Függelék
Információk a Firebird SQL honlapjáról
- A telepítésről: http://www.firebirdsql.org/file/documentation/reference_manuals/user_manuals/html/qsg2-installing.html
- Adatbázisok kezeléséről: http://www.firebirdsql.org/file/documentation/reference_manuals/user_manuals/html/qsg2-safety.html
- A gbak-ról: http://www.firebirdsql.org/file/documentation/reference_manuals/user_manuals/html/gbak.html
- A gfix-ről: http://www.firebirdsql.org/file/documentation/reference_manuals/user_manuals/html/gfix.html
- Az nbackup tool-ról: http://www.firebirdsql.org/file/documentation/reference_manuals/user_manuals/html/nbackup.html#nbackup-intro