A Firebird 3 telepítése a Linux modern verzióira: CentOS8 és Ubuntu 19

Ebben a cikkben a Firebird DBMS 3.0-s verziójának új Linux disztribúciókra történő optimális telepítéséhez szükséges minimális műveletsort ismertetjük. Példaként a CentOS 8 és az Ubuntu 19 került kiválasztásra.

A Firebird disztribúció célrendszerhez történő „szállításához” ebben az útmutatóban a tar.gz archívum letöltésének lehetőségét a projekt hivatalos webhelyéről található hivatkozás segítségével választjuk ki (firebirdsql.org).

A legtürelmetlenebbek azonnal induljanak harcba:

Gyors telepítés

A fájl szerkesztése /etc/sysctl.confsor hozzáadásával:

vm.max_map_count = 256000

Mentse el a fájlt, és alkalmazza a beállítást:

sudo sysctl -p /etc/sysctl.conf

A további utasítások eltérőek a CentOS 8 és az Ubuntu 19 esetében, de ССЫЛКА и КАТАЛОГ adjon meg egy hivatkozást a Firebird projekt hivatalos webhelyéről a disztribúció letöltéséhez, valamint azt a könyvtárat, amelybe a terjesztést a letöltési folyamat során kicsomagolja.
Jelenleg (2020. március) a jelenlegi kiadás a Firebird 3.0.5 (itt van a link a 64 bites verzióhoz).

8 CentOS

sudo yum -y install epel-release
sudo yum -y makecache
sudo yum -y install libicu libtommath tar
ln -s libncurses.so.5 
/usr/lib64/libncurses.so.5
ln -s libtommath.so.1 
/usr/lib64/libtommath.so.0
curl -L ССЫЛКА|tar -zxC /tmp

Ubuntu 19

sudo apt-get -y install libncurses5 libtommath1
ln -s libtommath.so.1 
/usr/lib/x86_64-linux-gnu/libtommath.so.0
wget -O- ССЫЛКА|tar -zxC /tmp

A Firebird DBMS tényleges telepítése:

cd /tmp/КАТАЛОГ
sudo ./install.sh

Ha szeretné jobban megérteni, hogy ezek a műveletek mit csinálnak, olvassa el.

Fő rész

Rövid preambulum

Feltételezhető, hogy az operációs rendszer már minimális verzióban telepítve van, és a nyilvános tárolókhoz vagy azok helyi másolataihoz való hozzáférés be van állítva.

Feltételezhető, hogy az olvasó alapvető ismeretekkel rendelkezik a Linuxról és a Firebird DBMS-ről.

Планирование

A DBMS-kiszolgálón ajánlatos külön szakaszokat kijelölni az ideiglenes fájlokhoz (/tmp), adatbázisfájlok és helyi biztonsági másolatok.

Ideiglenesek közé tartoznak a zárfájlok, a rendezési fájlok, a globális ideiglenes táblák (GTT) „materializációs” fájljai és a megfigyelési táblák. A rendezéshez és a globális ideiglenes táblákhoz szükséges fájlok itt találhatók /tmp, mon$-tábla fájlok és lock-fájlok – be /tmp/firebird.

A rendezési fájlok „törlődnek” (unlink) közvetlenül a létrehozás után, így nem „láthatók” a könyvtárlistában - csak a folyamatkezelők listájában (jelölve deleted):

sudo ls -lhF /proc/`pgrep firebird`/fd

Az álkönyvtár listában /proc/…/fd/ szimbolikus hivatkozások jelennek meg, és a fájlról a tényleges információkat a következők adják:

sudo stat -L /proc/`pgrep firebird`/fd/НОМЕР

ahol НОМЕР – az érdekelt fájl leírója (leírója).

Ahelyett, hogy telefonálna"pgrep исполняемый-файл"Azonnal lecserélheti az érdeklődésre számot tartó folyamat azonosítóját.

Az ideiglenes fájlok nagyon nagyok lehetnek, így /tmp Javasoljuk, hogy legalább 20-30 GB-ot lefoglaljon. Figyelembe kell venni, hogy a rendezett fájlok mérete csak a kérésben kifejezetten vagy implicit módon rendezett adatmennyiségtől függ, és egyetlen felhasználó gigabájtnyi ideiglenes fájlt tud „létrehozni”.

Az adatbázisfájlok szakaszának tartalmaznia kell az összes adatbázisfájlt. plusz legalább a legnagyobb adatbázisfájl másolata. Figyelembe kell venni az adatbázis-fájlok számának növekedését a jövőben több éven keresztül.

A helyi biztonsági mentések szakasznak tartalmaznia kell legalább egy biztonsági mentési archívumot az összes adatbázisról, valamint a legnagyobb adatbázis biztonsági másolatát. Kívánatos, hogy ez a rész a legnagyobb adatbázis visszaállításához is tartalmazzon helyet. Figyelembe kell venni a biztonsági mentések és a biztonsági mentési archívumok növekedését a jövőben több évre.

Előzetes előkészítés

A Firebird 3.0 DBMS-kiszolgáló dinamikusan lefoglalja és felszabadítja a rendszermemóriát, ami annak töredezettségéhez vezethet. Például, miután egyszerre sok felhasználó leválasztja a szuperszervert, hibák léphetnek fel az új kapcsolatok létrehozásakor.

A memória töredezettségét egy rendszerparaméter szabályozza vm.max_map_count, az alapértelmezett 64K. Értékét ajánlatos négyszeresére növelni:

sudo sysctl vm.max_map_count=256000

Annak érdekében, hogy az új érték a rendszer újraindításakor kerüljön beállításra, adja hozzá a fájlhoz /etc/sysctl.conf vonal:

vm.max_map_count = 256000

Célszerű megjegyzést tenni, hogy egyértelmű legyen a paraméter megváltoztatásának oka. Először szerkesztheti a fájlt, majd alkalmazhatja a benne elmentett beállításokat:

sudo sysctl -p /etc/sysctl.conf

A szükséges csomagok telepítése

A Firebird 3.0 Linux DBMS futtatható fájljai az ncurses könyvtáraktól függenek (libncurses.so.5), ICU (nincs verzióhoz kötve és nem jelenik meg a kimenetben ldd) és tommath (libtommath.so.0). Az összeállítási archívum letöltéséhez és kicsomagolásához segédprogramokra lesz szüksége gzip, tar и curl vagy wget. ICU változatok, gzip, tar и curl/wget – jelentéktelenek.

A csomagokkal való munkavégzés a rendszertől és a rendszerben használt csomagkezelőtől függ, ezért ezeket egyenként fogjuk figyelembe venni.

8 CentOS

A CentOS 8 új csomagkezelőt használ – dnf és parancsra „átláthatóan” nevezik yum. Mivel céljaink szerint nincs különbség köztük - a példákban ez lesz yum.

Frissítse a metaadat-gyorsítótárat: sudo yum makecache

A libtomath csomag egy külön E(xtra)P(ackages for)E(nterprise)L(inux) tárolóban található, ezért ellenőrizzük, hogy már benne van-e:

yum -C repolist

"Csak a gyorsítótárból" opció (-C vagy --cache-only) a szükségtelen ellenőrzések és letöltések kiküszöbölésére szolgál, így a yum gyorsabb. Ha nincs epel adattár a listában, telepítse, és frissítse a metaadat-gyorsítótárat:

sudo yum install epel-release &&
sudo yum makecache

Megerősítjük a kéréseket, ha szükséges, ellenőrizzük a pgp kulcsok értékét a már megbízható forrásból ismertekkel.

Ha problémák merülnek fel a lerakat metainformációinak https-erőforrásokból történő betöltésekor, szerkessze a fájlt /etc/yum.repos.d/epel.repo, csere https:// on http:// és ismételje meg a gyorsítótár frissítése parancsot.

Ellenőrizzük a szükséges csomagok állapotát (a parancs bonyolult, a példakimenetben a 32 bites csomag szűrve van):

yum -C list 
ncurses libicu libtommath 
gzip tar curl wget |
grep -v i686
Installed Packages
curl.x86_64 7.61.1-11.el8 @anaconda
gzip.x86_64 1.9-9.el8 @anaconda
ncurses.x86_64 6.1-7.20180224.el8 @anaconda
Available Packages
libicu.x86_64 60.3-1.el8 BaseOS
libtommath.x86_64 1.1.0-1.el8 epel
tar.x86_64 2:1.30-4.el8 BaseOS
wget.x86_64 1.19.5-8.el8_1.1 AppStream

Ezt látjuk curl, gzip и ncurses a telepítő pszeudo-lerakatában tárolva (anaconda), és tar – kizárt a minimális rendszerbeépítésből. Főbb verziók libncurses и libtommath a szükségesnél több: 6 és 1 helyett 5 és 0. Ha ugyanaz a csomag van telepítve és elérhető, akkor frissítést adtak ki hozzá. Telepítse a hiányzó csomagokat:

sudo yum install 
libicu libtommath tar

Ubuntu 19

A segédprogramokat csomagok kezelésére tervezték apt, apt‑get и apt‑cache. Az elsőt interaktív munkára, az utolsó kettőt pedig szkriptekben való használatra tervezték. A csomagnevek kissé eltérnek, és tartalmazzák a verziót.

Ellenőrizzük a szükséges csomagok állapotát (a parancsot kombináljuk, a példakimenetet lerövidítjük, a 32 bites csomagokat kiszűrjük):

apt list libncurses? libicu?? libtommath? 
gzip tar curl wget |
grep -v i386
curl 7.65.3-1
gzip 1.10-0 [upgradable…]
libicu63 63.2-2 [installed]
libncurses5 6.1
libncurses6 6.1 [installed,automatic]
libtommath1 1.1.0
tar 1.30 [installed]
wget 1.20.3 [installed]

Csomagok, amelyekre a szögletes zárójel jelzi installed/upgradable – telepítve. Elérhető, de nincs telepítve ncurses5, ahelyett curl telepítve wget. Telepítse a hiányzó csomagokat:

sudo apt‑get install 
libncurses5 libtommath1

Szimbólum létrehozása

Óta libtommath.so.1 и libncurses.so.6 visszafelé kompatibilis libtommath.so.0 и libncurses.so.5, akkor Firebird esetén elég szimbolikus hivatkozásokat létrehozni a könyvtárak meglévő verzióira.

megtalálja libtommath.so.1 (libncurses.so.? ugyanabban a könyvtárban található):

find /usr -name libtommath.so.1

CentOS:

/usr/lib64/libtommath.so.1

Ubuntu:

/usr/lib/x86_64-linux-gnu/libtommath.so.1

Symlinkeket hozunk létre.

CentOS:

sudo ln -s libtommath.so.1 
/usr/lib64/libtommath.so.0
sudo ln -s libncurses.so.6 
/usr/lib64/libncurses.so.5

Ubuntu:

sudo ln -s libtommath.so.1 
/usr/lib/x86_64-linux-gnu/libtommath.so.0

Ellenőrizzük az eredményt (a parancs bonyolult, a kimeneti példák lerövidültek):

ls -lhF 
$(dirname `find /usr -name libtommath.so.1`) |
grep "lib(ncurses|tommath).so."

CentOS:

libncurses.so.5 -> libncurses.so.6*
libncurses.so.6 -> libncurses.so.6.1*
libncurses.so.6.1*
libtommath.so.0 -> libtommath.so.1*
libtommath.so.1 -> libtommath.so.1.1.0*
libtommath.so.1.1.0*

Ubuntu:

libncurses.so.5 -> libncurses.so.5.9
libncurses.so.5.9
libncurses.so.6 -> libncurses.so.6.1
libncurses.so.6.1
libtommath.so.0 -> libtommath.so.1
libtommath.so.1 -> libtommath.so.1.1.0
libtommath.so.1.1.0

A Firebird DBMS terjesztési készlet letöltése.

A Firebird projekt hivatalos webhelye (firebirdsql.org) hivatkozásokat tesz közzé a „hivatalos” kiadások és a „napi” buildek (pillanatfelvételek) terjesztésére.

A hivatalos Linux kiadások archívumként (tar.gz) és deb/rpm csomagként érhetők el, de a buildek csak archívumként érhetők el. Figyelembe vesszük az "általános telepítőt" (általános telepítő a tar.gz-ből).

A build archívumot le kell tölteni és ki kell csomagolni, de a két folyamatot kombináljuk. A kicsomagolás megtörtént /tmp,Az URL a letölthető archívumra mutató hivatkozást jelöli.

becsavar:

curl -L URL | tar -zxC /tmp

wget:

wget -O– URL | tar -zxC /tmp

Alapértelmezésben curl elküldi a letöltött adatokat az stdout-nak, de nem kezeli az átirányításokat, és hozzáadjuk a "‑L", a wget, ellenkezőleg: kezeli az átirányításokat, de adatokat ír egy fájlba, és mi a "‑O‑" Mert tar használatot jelezni gzip-filter és a könyvtár, amelybe a kicsomagolás végrehajtásra kerül. Amikor a folyamat befejeződött, megjelenik egy ehhez hasonló könyvtár Firebird‑3.0.5.33220‑0.amd64 három fájllal: install.sh, buildroot.tar.gz и manifest.txt.

Firebird telepítése

Az előzetes előkészítés során beállítottuk a rendszerparaméter értékét vm.max_map_count, ellenőrizte a rendelkezésre állást, és telepítette az intenzív osztályt, az ncurses és a tommath könyvtárakat. Győződjön meg arról, hogy az ncurses és a tommath verziói helyesek (libncures.so.5 и libtommath.so.0), és létrehozta a szükséges szimbolikus hivatkozásokat.

A tényleges telepítés nagyon egyszerű. Lépjen abba a könyvtárba, ahol a Firebird terjesztési archívumot kicsomagolta, ellenőrizze, és ha szükséges, állítsa be a „futtatható” szkript jelzőjét install.sh:

chmod +x install.sh

futtassa a telepítő szkriptet:

sudo ./install.sh

Az Enter billentyű megnyomásával megerősítjük a telepítés megkezdését, majd a kérés beérkezésekor beírjuk a sysdba jelszót.

A telepítő szkript automatikusan elindul systemd-Mértékegység firebird-superserver (csendes Firebird 3.0 architektúra). A Firebird szolgáltatás a szuperszerver alapértelmezett paramétereivel fog működni: 2048 oldalas oldalgyorsítótár (adatbázisonként), 64 MB rendezési puffer (megosztott) és csak XNUMX-as verziójú kliensek csatlakoztathatók. Opciók megtekintése firebird.conf:

grep -v ^# firebird.conf | grep -v ^$

Felhívjuk figyelmét, hogy az új értékek a firebird.conf csak a Firebird szolgáltatás újraindítása után aktiválódik.

A paraméterértékek kiválasztásakor figyelembe kell venni, hogy három fő „fogyasztó” van: az oldalgyorsítótár (az adatbázis számára), a rendezési puffer (megosztott) és a szerver által a kliens kapcsolatokhoz lefoglalt memória. Csak az első kettőt tudja kezelni – a klienskapcsolatok memória mennyisége a gyorsítótárazott lekérdezések számától és szövegétől, azok terveitől és a lekérdezésekben érintett adatbázis-objektumoktól függ. Az ügyfélkapcsolati memória becslései csak tapasztalati úton készülnek, és az ügyfélalkalmazások és/vagy adatbázis-objektumok változásával változhatnak.

Kis memóriával (legfeljebb 12-16 GB-ig) rendelkező gazdagépeken működő szuperszerverek esetében a teljes RAM-mennyiség harmadánál vagy negyedénél nem szabad többet kiosztani az oldalgyorsítótár és a rendezési puffer számára.

Ha az adatbázisok száma nem rögzített és változhat, akkor az oldal gyorsítótár memóriájának teljes mennyiségét el kell osztani a szerveren található adatbázisok maximális számával. Az oldalgyorsítótár mérete oldalakban van megadva, és külön kell konvertálni bájtokká.

A klasszikus architektúrára való váltáshoz legalább kifejezetten meg kell adnia ServerMode в firebird.conf, csökkentse az oldal gyorsítótárát (legfeljebb 2K), csökkentse a rendezési puffert (az összes típus megengedett mennyisége osztva a kapcsolatok maximális számával), tiltsa le és állítsa le az egységet firebird-superserver, engedélyezze és indítsa el az egységet firebird-classic.socket.

A Firebird 3.0 szuperklasszikus architektúrájának nincs sok értelme: a „megbízhatóság” olyan, mint egy szuperszerver és ugyanaz az általános rendezési puffer. Nincs közös oldalgyorsítótár, és a különböző kapcsolatok szinkronizálásának „veszteségei” ugyanazok, mint a klasszikusnál.

Emlékeztetni kell arra, hogy a Firebird 3.0-ban bizonyos paraméterek (oldal gyorsítótár, zárfájlok mérete, hash táblák és néhány egyéb) beállíthatók databases.conf adatbázisonként külön-külön. Egy szuperszervernél hasznos például egy kis érték beállítása DefaultDbCachePages в firebird.conf és telepítse az egyes oldalgyorsítótárakat a szükséges adatbázisokhoz databases.conf.

Tegye fel kérdéseit a cikkel kapcsolatban a megjegyzésekben, vagy írjon levelet támogatási címünkre [e-mail védett].

Forrás: will.com

Hozzászólás