Selles artiklis kirjeldame minimaalset tegevuste kogumit, mis on vajalik Firebird versiooni 3.0 optimaalseks paigaldamiseks uutele Linuxi distribuudi. NĂ€idete hulgas on valitud CentOS 8 ja Ubuntu 19.
Firebird distributsiooni "toimetamiseks" sihtsĂŒsteemile on kĂ€esolevas juhendis valitud tar.gz arhiivi allalaadimise variant projekti ametlikult kodulehelt ().
Kiirematele â kohe tegutsema:
Kiire paigaldamine
Redigeerime faili /etc/sysctl.conf, lisades rea:
vm.max_map_count = 256000
Salvestame faili ja rakendame seade:
sudo sysctl -p /etc/sysctl.conf
Edasiantud juhised erinevad CentOS 8 ja Ubuntu 19 jaoks, kuid LINK ja KATALOG nÀitavad linki Firebird projekti ametlikult kodulehelt distributsiooni allalaadimiseks ja katalooge, kuhu distributsioon pakitakse allalaadimise kÀigus.
Praeguseks (mÀrts 2020) on aktuaalne Firebird 3.0.5 vÀljaanne ( 64-bitisele versioonile).
CentOS 8
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 LINK|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- LINK|tar -zxC /tmp
Tegelikult Firebird DB installimine:
cd /tmp/KATALOG
sudo ./install.sh
Kui soovite paremini mÔista, milleks need tegevused on mÔeldud, lugege edasi.
PÔhiosa
KĂŒmmekond eelnevat
Eeldatakse, et operatsioonisĂŒsteem on juba minimaalsete seadistustega paigaldatud ja juurdepÀÀs on seadistatud avalikele hoidlatele vĂ”i nende kohalikele koopiatele.
Eeldatakse, et lugejal on baasteadmised Linuxist ja Firebird DB-st.
Planeerimine
DB serveris on soovitatav eraldada eraldi partitsioonid ajutiste failide (/tmp), andmebaasi failide ja kohalike varukoopiatega.
Ajutised failid sisaldavad lukustusfaile, sortimisfaile, globaalsete ajutiste tabelite (GTT) ja jĂ€lgimistabelite faile. Sortimisfailid ja globaalsete ajutiste tabelite failid asuvad /tmp, mon$-tabelite failid ja lukustusfailid â asuvad /tmp/firebird.
Sortimisfailid "kustutatakse" (unlink) kohe pĂ€rast loomist, mistĂ”ttu ei saa neid kohandises "nĂ€ha" â ainult protsessi deskriptorite (handles) loendis (mĂ€rkida kui deleted):
sudo ls -lhF /proc/`pgrep firebird`/fd
Loend pseudokataloogis /proc/âŠ/fd/ nĂ€itab sĂŒmboolseid linke, samas kui positiivne informatsioon faili kohta annab:
sudo stat -L /proc/`pgrep firebird`/fd/NUMBER
kus NUMBER â huvipakkuva faili deskriptor.
KÀsku "pgrep tÀidesaatev-fail" asemel vÔite kohe asendada huvipakkuva protsessi ID.
Ajutised failid vĂ”ivad olla vĂ€ga suured, seetĂ”ttu on soovitatav eraldada vĂ€hemalt 20-30 GB. Tuleb arvestada, et sortimisfailide suurus sĂ”ltub ainult andmete mahust, mida otsingus selgelt vĂ”i mÀÀratlemata sorteeritakse, ning ĂŒksik kasutaja vĂ”ib âluuaâ gigabaitide viisi ajutisi faile. /tmp Andmebaasifailide jaotisel peaks olema ruumi kĂ”igi andmebaaside failide jaoks, lisaks vĂ€hemalt ĂŒks koopia suurima andmebaasi failist. Tuleb arvestada andmebaaside failide kasvu jĂ€rgmiste aastate jooksul.
Kohalike varukoopiate jaotisel peaks olema vĂ€hemalt ĂŒks arhiveeritud varukoopia kĂ”igist andmebaasidest, lisaks suurima andmebaasi varukoopia. Soovitav on, et sellel jaotisel oleks ka ruumi suurima andmebaasi taastamiseks. Tuleb arvestada varukoopiate ja arhiveeritud varukoopiate kasvu mitu aastat ette.
Firebird 3.0 andmebaasiserver eraldab ja vabastab dĂŒnaamiliselt sĂŒsteemimĂ€lu, mis vĂ”ib pĂ”hjustada selle fragmentatsiooni. NĂ€iteks, kui suur hulk kasutajaid samaaegselt superserverist vĂ€lja logib, vĂ”ivad uusi ĂŒhendusi luues esineda vead.
Eeltingimused
MĂ€lu fragmentatsiooni kontrollib sĂŒsteemiparameeter
vm.max_map_count , vaikimisi â 64K. Soovitav on selle vÀÀrtust neljakordistada:sudo sysctl vm.max_map_count=256000
Uue vÀÀrtuse kehtestamiseks sĂŒsteemi taaskĂ€ivitamisel lisame faili
rea: /etc/sysctl.conf Soovitav on kirjutada kommentaar, et oleks arusaadav, miks see parameeter muudeti. Esiteks vÔib faili redigeerida ja seejÀrel salvestatud seadeid rakendada:
vm.max_map_count = 256000
Vajalike paketide installimine
sudo sysctl -p /etc/sysctl.conf
Firebird 3.0 Linuxi andmebaasiserveri kÀivitatavad failid sÔltuvad ncurses teekidest (
libncurses.so.5), ICU-st (ilma versiooniga sidumata ja kuvamata vĂ€ljundis)) ja tommathist ( lddlibtommath.so.0). Arhiivi allalaadimiseks ja vĂ€lja pakkimiseks on vajalikud utiliidid.ICU versioonid ei ole olulised. gzip, tar ja curl vĂ”i wgetTöötamine pakettidega sĂ”ltub sĂŒsteemist ja sĂŒsteemis kasutatavast paketihaldurist, seetĂ”ttu vaatame neid jĂ€rjestikku. gzip, tar ja curl/wget CentOS 8 kasutab uut paketihaldurit â
dnf
CentOS 8
ja seda saab âlĂ€bipaistvaltâ kutsuda kĂ€suga yum . Kuna meie eesmĂ€rkide jaoks ei ole nende vahel erinevust, on nĂ€idetes kasutatud Metaandmete vahemĂ€lu vĂ€rskendamine:sudo yum makecache Metaandmete vahemĂ€lu vĂ€rskendamine:.
Paketil libtomath on eraldi E(xtra)P(ackages for)E(nterprise)L(inux) reposteorium, seetĂ”ttu kontrollime, et see on juba ĂŒhendatud: yum -C repolist
Valik âainult vahemĂ€lustâ (
--cache-only
): ĂŒhenduse tihendamine. Kui teil on aeglane kanal vĂ”i vaatate palju teksti, vĂ”ib see ĂŒhendust kiirendada. vĂ”i --cache-only) kasutatakse, et vĂ€listada liigseid kontrolle ja laadimisi, kiirendades yum-i tööd. Kui nimekirjas ei ole epel-repositooriumi â installime selle ja uuendame metaandmete vahemĂ€lu:
sudo yum install epel-release &&
sudo yum makecache
Kinnitage pÀringud, vajadusel vÔrdledes pgp-vÔtmete vÀÀrtusi usaldusvÀÀrsetest allikatest teadaolevatega.
Kui esineb probleeme metaandmete laadimisega https-allikatest, siis redigeerime faili /etc/yum.repos.d/epel.repo, asendades https:// . Tundub, et http:// ja kordame vahemÀlu uuendamise kÀsku.
Kontrollime vajalike pakettide olekut (kÀsk on koondatud, nÀidatud vÀljundis on filtreeritud 32-bitine pakett):
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
NĂ€hes, et curl, gzip ja ncurses on paigaldatud paigaldaja pseudorepositooriumisse (anaconda), ja tar â on vĂ€listatud sĂŒsteemi minimaalsest installist. Suured versioonid libncurses ja libtommath on suuremad kui vajalik: 6 ja 1 asemel 5 ja 0. Kui sama pakett on nii paigaldatud kui saadaval â on selle jaoks vĂ€lja antud uuendus. Paigaldame puuduvad paketid:
sudo yum install
libicu libtommath tar
Ubuntu 19
Pakettide haldamiseks on mĂ”eldud utiliidid apt, aptâget ja aptâcache. Esimene on mĂ”eldud interaktiivseks tööks, samas kui viimased kaks â skriptide kasutamiseks. Pakettide nimed on veidi erinevad ja sisaldavad versiooni.
Kontrollime vajalike pakettide olekut (kĂ€sk on koondatud, nĂ€idatud vĂ€ljund on lĂŒhendatud ja filtreeritud 32-bitised paketid):
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]
Paketid, mille kohta on ruudulistes sulgudes mĂ€rgitud paigaldatud/upgradable â on paigaldatud. Saadaval, kuid mitte paigaldatud ncurses5, selle asemel curl on installitud wget. Paigaldame puuduvad paketid:
sudo aptâget install
libncurses5 libtommath1
SĂŒmbollinkide loomine
Kuna libtommath.so.1 ja libncurses.so.6 on tagasi ĂŒhilduvad ). Arhiivi allalaadimiseks ja vĂ€lja pakkimiseks on vajalikud utiliidid. ja ), ICU-st (ilma versiooniga sidumata ja kuvamata vĂ€ljundis), siis Firebird jaoks piisab, kui luua sĂŒmbollingid olemasolevate raamatukogude versioonide jaoks.
Leidke libtommath.so.1 (libncurses.so.? asuvad samas kataloogis):
find /usr -name libtommath.so.1
CentOS:
/usr/lib64/libtommath.so.1
Ubuntu:
/usr/lib/x86_64-linux-gnu/libtommath.so.1
Loome sĂŒmbollinke.
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
Kontrollime tulemust (kĂ€sk on koondatud, nĂ€idatud vĂ€ljavĂ”tted on lĂŒhendatud):
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
Firebird DB jaotuse laadimine.
Firebird projekti ametlikul saidil (firebirdsql.org) avaldatakse lingid "ametlike" vÀljaannete (releases) ja "igapÀevaste" kooste (snapshot build) kohta.
Ametlikud vĂ€ljaanded Linuxile on saadaval arhivide (tar.gz) ja deb/rpm pakettidena, samas kui kooste on saadaval ainult arhivide kujul. Me kĂ€sitleme "ĂŒldist paigaldajat" (generic installer from tar.gz).
Kooste arhiv peab laadima ja lahti pakkima, kuid me ĂŒhitame need kaks protsessi. Lahtipakkimine toimub /tmp, URL tĂ€histab allalaaditava arhivi linki.
curl:
curl -L URL | tar -zxC /tmp
wget:
wget -Oâ URL | tar -zxC /tmp
Vaikimisi curl saab allalaaditud andmed standardsesse vĂ€ljundisse, kuid ei kĂ€sitle ĂŒmbersuunamisi ja me lisame ââL", kuid wget, vastupidi: kĂ€sitleb ĂŒmbersuunamisi, kuid salvestab andmed faili ja me paneme ââOââ. Antud juhul tar mÀÀrame kasutuse gzip-filtri ja kausta, kuhu lahtipakkimine toimub. Protsessi lĂ”ppedes ilmub kaust nimega Firebirdâ3.0.5.33220â0.amd64 millel on kolm faili: install.sh, buildroot.tar.gz ja manifest.txt.
Firebirdi paigaldamine
Eeltingimuste tĂ€itmisel oleme seadnud sĂŒsteemi parameetrit , vaikimisi â 64K. Soovitav on selle vÀÀrtust neljakordistada:, kontrollinud ja installinud ICU, ncurses ja tommath raamatukogusid. Veendunud, et ncurses ja tommath versioonid (libncures.so.5 ja ). Arhiivi allalaadimiseks ja vĂ€lja pakkimiseks on vajalikud utiliidid.) on Ă”iged ning loonud vajalikke sĂŒmboolseid linke.
Paigaldamine toimub vÀga lihtsalt. Siseneme kausta, kuhu Firebird'i jaotuse arhiv on lahti pakitud, kontrollime ning vajadusel seadistame skripti "tÀidetav" lipu install.sh:
chmod +x install.sh
kÀivitame paigaldusskripti:
sudo ./install.sh
Enter klahvi vajutamisega kinnitame paigaldamise alustamist ning piisava soovi korral sisestame sysdba salasÔna.
Paigaldusskript kĂ€ivitab automaatselt systemd-ĂŒhiku firebird-superserver (Firebird 3.0 vaikimisi arhitektuur). Firebird teenus töötab superserveri jaoks vaikeseade mÀÀrangutega: lehe vahemĂ€lu 2048 lehte (andmebaasi kohta), sortimisvahemĂ€lu 64 MB (ĂŒhine) ning ĂŒhendus ainult kolmanda versiooni klientidega. Vaata seadeid firebird.conf:
grep -v ^# firebird.conf | grep -v ^$
Rohkem tÀhelepanu vÀÀrib, et uued vÀÀrtused firebird.conf aktiveeritakse alles pÀrast Firebird teenuse taaskÀivitamist.
Parameetrite vÀÀrtuste valimisel tuleb arvesse vĂ”tta, et on kolm peamist "tarbijat": lehekĂŒlje vahemĂ€lu (andmebaasi jaoks), sorteerimisvahemĂ€lu (ĂŒldine) ja mĂ€lumaht, mis on serveri poolt eraldatud kliendiĂŒhendustele. Saame hallata ainult kahte esimest â kliendiĂŒhenduste mĂ€lumaht sĂ”ltub salvestatud pĂ€ringute arvust ja sisust, nende plaanidest ja pĂ€ringutesse kaasatud andmebaasi objektidest. KliendiĂŒhenduste mĂ€lumahtu hinnatakse ainult empiiriliselt ja see vĂ”ib muutuda sĂ”ltuvalt kliendi rakendustest ja/vĂ”i andmebaasi objektidest.
Superserveri jaoks vĂ€ikese mĂ€lumaagiga hostides (kuni 12-16 GB) ei tohiks lehekĂŒlje vahemĂ€lule ja sorteerimisvahemĂ€lule eraldada rohkem kui kolmandikku kuni neljandikku kogu RAM-ist.
Kui andmebaaside arv ei ole fikseeritud ja vĂ”ib muutuda, tuleb lehekĂŒlje vahemĂ€lu kogumaht jagada maksimaalse andmebaaside arvu vahel, mis vĂ”ivad serveris olla. LehekĂŒlje vahemĂ€lu suurus mÀÀratakse lehekĂŒlgedena ja tuleb eraldi ĂŒmber arvutada baitideks.
Klassikalise arhitektuuri aktiveerimiseks tuleb vĂ€hemalt selgelt mÀÀrata ServerMode ja firebird.conf, vĂ€hendada seal lehekĂŒlje vahemĂ€lu (mitte rohkem kui 2K), vĂ€hendada sorteerimisvahemiku vahemĂ€lu (kĂ”igi sorteerimise lubatud kogus jagatud maksimaalse ĂŒhenduste arvuga), keelata ja peatada ĂŒksus firebird-superserver, lubada ja kĂ€ivitada ĂŒksus firebird-classic.socket.
Superklassikalise arhitektuuri kasutamine Firebird 3.0-s ei oma erilist mĂ”tet: "usaldusvÀÀrsus" on superserveriga sama ja selline ĂŒhine sorteerimisvahemĂ€lu. Ăhist lehekĂŒlje vahemĂ€lu ei ole ja "kaotused" erinevate ĂŒhenduste sĂŒnkroniseerimisel on sarnased klassikirjalaste omadustega.
Peamine on meeles pidada, et Firebird 3.0-s saab osa parameetritest (lehekĂŒlje vahemĂ€lu, lokaalfaili suurused, hash-tabelid ja mĂ”ned muud) mÀÀrata databases.conf iga andmebaasi jaoks individuaalselt. Superserveri puhul on nĂ€iteks kasulik mÀÀrata vĂ€ike vÀÀrtus DefaultDbCachePages ja firebird.conf ja seada vajalikud andmebaasid individuaalsed lehekĂŒlje vahemĂ€lud databases.conf.
Artikli kohta esitage kĂŒsimusi kommentaarides vĂ”i kirjutage meie tugiaadressile support@ibase.ru.
Allikas: habr.com
