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 (
A legtürelmetlenebbek azonnal induljanak harcba:
Gyors telepítés
A fájl szerkesztése /etc/sysctl.conf
sor 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 (
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