Kapcsolódó információk:
Paraméterezési útmutatók

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 2.5 verziójú adatbázis szerverre 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 és a FireBird 2.5 ugyanazon az operációs rendszeren belül NEM használható

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 (FB21_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.

Telepítő készlet

Windows-os rendszerekhez elsődlegesen a FireBird (http://www.firebirdsql.org/) honlapjáról, Linuxos rendszerhez pedig elsősorban a disztribúciós csomagokból beszerzett telepítőt használatát javasoljuk.

A letöltésnél a Firebird 2.5 verziójú adatbázis szerver telepítőkészletét töltsük le.

Windows operációs rendszerekhez a SUP telepítő CD-n is található telepítő készlet.

32bit-es operációs rendszer esetén 32bit-es, 64bit-es operációs rendszer esetén 64bit-es Firebird telepítés szükséges!

A megfelelő telepítőkészlet kiválasztásához előbb olvassa végig ezt a dokumentumot.

Elérhetőség a FireBird honlapján

Megjegyzés: MacOSX rendszeren jelenleg semmilyen gyakorlati tapasztalattal nem rendelkezünk.

Telepítés Windows-os környezetben

A telepítés a Windows alapú programoknál megszokott telepítő file segítségével történik. Windows 2003/2008-ra való telepítés esetén rendszer adminisztrátori jogosultság szükséges! A telepítéskor a SYSDBA jelszava: "masterkey" legyen. Telepítés során megfontolandó a Firebird process futtatásához egy külön felhasználó létrehozása.

A telepítő file lehet:

  • Firebird honlapról letöltött, a rendszernek megfelelő, 2.5-ös verziójú telepítővel
  • InstallCD-ről: 
    • un. SUP_Full telepítőkészlettel ( \SUP_Setup\SUP_Full_Setup.exe )
    • Firebird telepítő ( \SUP_Setup\FB21_QSoft_Setup.exe )

Az InstallCD-ről való telepítés (automatikusan) a szerverhez megfelelő Firebird változatot telepíti.

A SUP_Full telepítő a Firebird telepítése után további beállításokat is végez a rendszeren (Pl.: szerver oldali könyvtárszerkezet). A Firebird telepítéstől függetlenül, futtatása szükséges lehet (Pl. friss telepítésnél).

Példa a telepítésre "egygépes" környezetben

A QSoft Kft. Firebird SQL 2.5 adatbázismotor telepítése "egygépes" környezet esetén a következő varázsló stílusú telepítő lépéseit követve végezhető el.


Firebird 2.5 "egygépes" telepítés


Firebird 2.5 "egygépes" telepítés beállításai

Sikeres telepítés után az Firebird adatbázisszerver rögtön - esetenként a rendszer újraindítása után - automatikusan elindul. Superserver változat telepítése esetén (32 bites operációs rendszer) a Control Panelen (Vezérlőpult) létrejön egy új parancsikon Firebird 2.5 Server Manager néven, ahol az adatbázisszerver legalapvetőbb tulajdonságai beállíthatók, illetve a szerver leállítható, újraindítható.

A Firebird adatbázismotor a C:\Program Files\Firebird25\bin könyvtárban található fbrestart.bat -tal is újraindítható!

 Megjegyzés

Egyes esetekben a 3050-es port mellett alkalmazás alapú tűzfal szabályt szükséges definiálni, így az adatbázis szerver futásidőben nyitott (dinamikus) portjaihoz is lehetséges a kapcsolódás. Dokumentáció: Lassú indítás probléma

Telepítés Linux-os környezetben

Debian 8  vagy Ubuntu 14.04 LTS disztribúciók esetén csomagban rendelkezésre áll a Firebird 2.5-es, Superserver (firebird2.5-super), vagy Classic (firebird2.5-classic), vagy SuperClassic (firebird2.5-superclassic) változata.

A modellek közötti választáshoz további információ a Firebird szerver modellek című cikkben.

Példa a telepítésre Debian környezetben

  • A telepítés folyamán rendszergazda (root) jogosultság szükséges

  • apt-get install firebird2.5-super (telepítés)
  • ha a telepítés hibátlanul sikerült (hibakód: 0 ), akkor: dpkg-reconfigure firebird2.5-super ( YES , majd ' masterkey ')
  • chmod -R o+t,o+W /home/qsoft/ (ha a share maga a 'qsoft' könytártól indul.
    Erre azért van szükség, hogy a Firebirdnek legyen olvasási joga azokon a könyvtárakon, ami a 'qsoft/sup/db'-hez vezet
  • ha a share Samba oldaláról elérhető (hálózaton elérhető), akkor oda be lehet másolni az esetleges előző adatbázisokat a '/sup/db'-be
    Viszont ebben az esetben fokozottan kell ügyelni a Samba szerver beállítására, hogy az így másolt file-ok az adatbázis szerver számára megfelelő jogosultsággal jöjjenek létre
    (Pl.: force user = firebird és force group = firebird )
  • chown -R firebird.firebird /home/qsoft/sup/db (az adatbázisokhoz legyen teljes joga)
  • egyes disztribúciók szigurú irányelvei alapján, alapesetben localhost-ra korlátozzák a hozzáférést a szerverhez.
    ezt a /etc/firebird/2.5/firebird.conf ban a RemoteBindAddress = localhost sor kikommentezésével lehet megszüntetni.
  • helyileg kipróbálhatjuk a telnet localhost 3050 paranccsal, hogy fut-e az adatbázis szerver
  • távolról (pl. egy munkaállomásról) kipróbálhatjuk a telnet <szerver-IP> 3050 paranccsal, hogy elérhető-e az adatbázis szerver

 Megjegyzés

Egyes esetekben a 3050-es port mellett a firebird.conf file-ban definiálni kell egy fix portot, és ezt kell felvenni a tűzfal szabályok közé kivételként. Dokumentáció: Lassú indítás probléma

 

Biztonsági kérdések

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) 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).

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: File szinten. A mentés idejére, adatbiztonsági okokból célszerű a FireBird szervert leállítani.

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 (alapértelmezésben 3050-es) elérését.
Amennyiben a firebird.conf-ban (ld. később) beállítottuk a RemoteAuxPort változót, akkor értelem szerűen az itt beállított port elérését is biztosítani kell minden kliens számára.

Firebird Server finomhangolása

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.

Az Firebird 2.5 Server konfigurációs paraméterei a firebird.conf elnevezésű szövegfile-ban találhatóak.

  • Windows környezetben pl. a C:\ProgramFiles\Firebird2\ könyvtárban.
  • Linuxos környezetben (pl. Debian) az /etc/firebird/2.5/ 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 Server újraindítása után lesznek aktívak.

Superserver változat esetén:

  • Windows platformon:  Start menü | Beállítások | Vezérlőpult | Firebird Server Manager  Stop | Start

  • Linux (Pl.: Debian) esetén: "/etc/init.d/Firebird restart" (leállítás: "/etc/init.d/Firebird stop" indítás: "/etc/init.d/Firebird start" )

Classic változat esetén ld. Firebird, és az operációs rendszer dokumentációja

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.

Releváns paraméterek

DefaultDbCachePages

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.

DeadlockTimeout

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

TempDirectories

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.

ConnectionTimeout

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

CpuAffinityMask – csak Windows-on FireBird Superserver esetén

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

RemoteAuxPort

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 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 keresse ügyfélszolgálatunkat
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

"Locking and shared memory" paraméterek

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, software és hardware 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.

SUP szerver oldali könyvtárszerkezete és annak tartalma

SUP® Integrált Számviteli Rendszer és moduljai működtetéséhez szükséges szerver oldali alkönyvtárszerkezet létrehozása, amelyhez szükséges a File-szerveren egy pl. QSoft nevű megosztás létrehozása, melynek tartalmát a következőekben részletezzük. A könyvtárszerkezetet a SUP_Full Setup létrehozza.

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

\QSoftEbből nyílnak a további alkönyvtárak, melyek valamilyen szempontból a QSoft Kft. által készített programokkal vannak kapcsolatban.
 
\QSoft\SUPEbbő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\BINEbbe az alkönyvtárba kell elhelyezni a SUP.EXE file(-t) és a SUP® rendszerrel kapcsolatos további EXE, LNK, file-okat.
\QSoft\SUP\DBEgyszerű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\SysDataItt a konfigurációs file-ok, valamint a napló (LOG) file-ok kaptak helyet.
\QSoft\SUP\UpdateIde 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\DocAz elektronikus formában (PDF) tárolt dokumentáció helye.
\QSoft\UTILEz 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.
Megjegyzés: hálózati telepítés esetén célszerű a file-szerverre felmásolni az Firebird telepítő készletét, mert az nagymértékben könnyíti a kliensek beállítását..

Függelék

Információk a FireBird honlapjáról