Digitálny repozitár ako objekt
Úvod
Prvotný námet smerujúci ku vzniku predloženého článku sa opiera o nedávno riešený praktický problém, resp. úlohu, ktorá vyplynula z aktívnej prevádzky inštitucionálneho repozitára Katedry mediamatiky a kultúrneho dedičstva Fakulty humanitných vied na Žilinskej univerzite v Žiline (ďalej len KMKD). Výskumu digitálnych priestorov a digitálnych objektov sa aktívne venujeme na tomto pracovisku už dlhší čas.
Teoretické i praktické jadro problematickej témy sme spracovali formou prípadovej štúdie, v ktorej sme vzniknutý problém analyzovali, pričom sme sa pokúsili i načrtnúť možné riešenie. Podstata štúdie spočíva primárne v návrhu efektívneho riešenia migrácie systému digitálneho repozitára ako celku. Predmetný digitálny repozitár sme plánovali z viacerých bezpečnostných dôvodov aktualizovať, čo vyústilo napokon do nutnosti migrácie jednotlivých jeho súčastí do úplne nového, modernejšieho prostredia. Svojou povahou tento systém napĺňal funkčné kritériá inštitucionálneho repozitára využívajúceho slobodný software DSpace vo verzii 6.2.
V našom článku budeme nazerať na digitálny repozitár, založený na DSpace, ako na funkčný celistvý objekt. Jeho imanentnou súčasťou sú, okrem iného, i digitálne objekty. My sa pokúsime o abstraktnejší teoretický náčrt riešenia, v ktorom budeme repozitár vnímať ako jeden, no o to komplexnejší objekt s odpovedajúcimi vlastnosťami. Je všeobecne známe, že digitálny objekt môžeme, v prípade potreby, premiestniť z jedného elektronického priestoru do druhého. Pri dodržaní istých pravidiel a postupov nehrozí strata integrity samotného objektu ani jeho metadát. Praktická realizácia postupov však už nemusí byť triviálna záležitosť.
Prípadová štúdia a jej riešenie
Opis pôvodného stavu
V prostredí KMKD bol v 4/2017 uvedený do prevádzky pilotný projekt menšieho katedrového repozitára založeného na open-source softvéri DSpace. Implementácia systému vyplynula z požiadaviek konkrétneho akademického prostredia, ktoré vyžadovalo nový druh virtuálneho priestoru. O prínosoch, ktoré môže takýto systém priniesť v oblasti komunikácie vedy a vedeckých výstupov niet pochýb. K tejto téme už vzniklo nespočetné množstvo odborných prác (napr. Bartošek 2004, Makulová 2003, Kopecká 2014, Formanek 2015, Formanek 2016, Kozejová-Palkechová 2017 a mnoho ďalších).
Prevádzka repozitára KMKD bola v pilotnom období typická tým, že dochádzalo k postupnému ladeniu celého systému a odstraňovaniu chýb. Prebiehala vnútorná, systémová (back-end) i vonkajšia (front-end) optimalizácia, vrátane realizácie rozličných performance testov (viď Formanek 2018). Už v tom čase využíval predmetný repozitár virtualizačnú vrstvu na báze XenServer, ktorá zabezpečovala kompletnú virtualizáciu celého servera, vrátane všetkých pridružených výpočtových zdrojov a úložísk.
Ako základný operačný systém sme pri implementácii repozitára v roku 2017 zvolili Ubuntu Server 16.04 LTS, teda vo verzii s dlhodobou podporou (skr. z ang. Long Term Support). Spoločnosť Canonical (2018) uvádza, že klasické „desktop“ verzie tejto distribúcie vydáva každých šesť mesiacov, pričom kladie dôraz predovšetkým na bezpečnostné aktualizácie. Takýto rýchly cyklus vydávania nových verzií nie je vôbec vhodný na použitie v serveroch, takže Canonical zastrešuje i vývoj serverových edícií s označením LTS, ktorých životný cyklus predĺžil až na päť rokov. Používatelia teda majú istotu dlhodobej dostupnosti potrebných aktualizácií. Na obrázku 1 nižšie môžeme vidieť tzv. Ubuntu roadmap - časový plán vydávania nových verzií Ubuntu s presne vyznačenou dĺžkou podpory.
Obrázok 1: Časový plán podpory od spoločnosti Canonical (2018)
Podľa wiki stránok Canonical (Ubuntu Wiki 2017) sú LTS verzie Ubuntu Servera určené obzvlášť na použitie v enterprise segmente serverov, pričom podliehajú diametrálne vyššej úrovni testovania než verzie klasické. Navyše prinášajú kompatibilitu s moderným hardvérom.
Voľba Ubuntu Servera LTS pri výbere operačného systému pre repozitár (a samozrejme aj pre iné systémy) sa teda objektívne javí i dnes ako rozumná. Na jar roku 2017 bola vydaná aktualizovaná verzia Ubuntu Server 16.04.3 LTS. Toto označenie hovorí, že ide o tretiu menšiu aktualizáciu pôvodnej LTS distribúcie vydanej už v roku 2016. „Minoritné“ aktualizácie nemajú vplyv na zmenu verzií hlavných komponentov systému, pretože sú v nich zahrnuté predovšetkým bezpečnostné aktualizácie jadra Linux a niektorých sekundárnych systémových súčastí. Pri takejto menšej aktualizácii teda nedochádza k nahradeniu kľúčových softvérových balíčkov výrazne novšou verziou. Týka sa to napríklad databázového (PostgreSQL), verzie PHP či webového servera (Tomcat). Ide o softvérové komponenty systému, ktoré sú pre správne fungovanie digitálneho repozitára DSpace rozhodujúce. Náhle, „skokové“ povýšenie verzie tohto softvéru môže vyvolať problémy s kompatibilitou pôvodnej konfigurácie, čo môže potenciálne vyústiť až do nefunkčnosti celého repozitára.
Na jar 2018 repozitár KMKD už aktívne využívala komunita používateľov v ostrej prevádzke. Digitálne objekty postupne pribúdali, hoci pozvoľným tempom. V tomto období funkcionalitu zabezpečoval DSpace 6.2 spustený nad operačným systémom Ubuntu Server LTS 16.04.5 (piata aktualizácia pôvodnej „veľkej“ verzie), spoločne s webovým serverom Tomcat 7 a databázou PostgreSQL 9.5. Označenie verzií týchto softvérov je v kontexte tejto práce dôležité.
Podsystém aktualizácií operačného systému začal v apríli 2018 automaticky detegovať vydanie novšej LTS verzie (18.04) a navrhoval vykonanie skorej aktualizácie. Hoci podľa obrázka 1 majú byť kritické aktualizácie pre verziu 16.04 dostupné až do jari 2021, hlavná hardvérová podpora sa končí už ku koncu roka 2018. Z toho vyplýva, že ponúkaný celkový upgrade hlavnej distribúcie nie je nevyhnutný, no stojí rozhodne za zváženie. Verziu 18.04 navyše Canonical primárne podporuje až do konca roku 2020 s následnou podporou aktualizácií do jari 2023. Rozhodli sme sa teda vykonať zálohu repozitára a pristúpiť k pomerne radikálnemu povýšeniu verzie OS v zmysle zobrazených odporúčaní.
Dostávame sa tak k jadru celej prípadovej štúdie, ktorým sa stáva metodika efektívnej aktualizácie operačného systému v digitálnom repozitári postavenom na DSpace. Bohužiaľ, ako neskôr ukážeme, povýšenie verzie OS môže byť sprevádzané mnohými problémami s kompatibilitou.
(Ne)úspešná aktualizácia
V súčasnosti najnovšia verzia Ubuntu 18.04 obsahuje v softvérových balíčkoch aktuálnejšie verzie už spomínaných kľúčových softvérov, než verzia 16.04. Danú situáciu môžeme vidieť na obrázku 2 nižšie. Práve od funkčnosti týchto súčastí závisí správne fungovanie repozitára. Samozrejme, pri aktualizácii sa zmení ešte obrovské množstvo iných súčastí systému (verzia jadra, PHP 7.2,...), no tieto nemajú na repozitár až taký radikálny vplyv.
Obrázok 2: Porovnanie verzií softvérov medzi starším a novším vydaním OS
Na skutočnosť, že nevyhnutne dôjde k povýšeniu verzie Tomcat a PostgreSQL sme boli upozornení pred spustením automatickej aktualizácie Ubuntu Servera 16.04. V detailnejších nastaveniach tohto procesu sme trvali na zachovaní pôvodnej konfigurácie. Rozhodli sme sa tak práve kvôli zachovaniu kompatibility. Aktualizovať sme teda plánovali len funkčnú, výkonnú časť, no konfiguračné súbory mali ostať nezmenené. Proces aktualizácie začal po odsúhlasení sťahovať potrebné aktualizácie z internetového úložiska softvérových balíčkov, dovedna viac ako 600 MB. Následne sa zobrazil zoznam diferencií, ktorý je nutné vykonať. Po odsúhlasení zmien[1] sa pristúpilo k ich aplikovaniu.
Zmeny boli úspešne implementované, no po odporúčanom reštarte VM (virtual machine), systém DSpace digitálneho repozitára nenaštartoval. Prístup cez webové GUI k digitálny objektom bol znefunkčnený, viď obrázok 3 vyššie. Pokúšali sme sa problémy vyriešiť po systémovej stránke, no žiaľ, neboli sme v našej snahe úspešní.
Vďaka použitiu virtualizačnej vrstvy XenServer, bolo však možné i po takejto ťažkej havárii obnoviť funkčnosť repozitára (VM) pomocou vopred vytvoreného tzv. snapshotu (istým spôsobom ide o „obraz“ RAM+HDD) behom niekoľkých minút. Automatická a periodická tvorba snapshotov vtedy prakticky zachránila dostupnosť všetkých objektov. Samotné digitálne objekty ostali neporušené, no po aktualizácii došlo k neznámej nekompatibilite hlavných systémových zložiek, čo spôsobilo pre nás fatálne aplikačné zlyhanie.
Digitálny repozitár ako (digitálny) objekt
Po počiatočnom neúspechu sme hľadali iné alternatívy, ako zabezpečiť funkčný digitálny repozitár pod aktuálnou verziou OS. Jedna z teoretických úvah nás priviedla k myšlienke vnímať systém repozitára DSpace ako jeden celistvý objekt - digitálny objekt – a využiť z toho vyplývajúce vlastnosti pri manipulácii s ním: možnosť migrácie, či tvorby záloh.
V odbornom manuáli pre DSpace (Duraspace 2018 s. 82) sa uvádza, že kompletná záloha digitálnej knižnice, resp. repozitára pod DSpace zahŕňa:
- Zálohu databázy - treba vykonať tzv. dump. Tzv. „dump databázy“ definuje Rob Heusdens (2017) ako proces, ktorý sa vykonáva pomocou na to určeného softvérového nástroja. Dochádza k určitému vnútorne konzistentnému výpisu metadát, údajov alebo celej zvolenej databázovej schémy vo formáte, ktorý dokáže následne analogicky prečítať importovací nástroj inej databázy.
- Zálohu tzv. assetstore - priečinok obsahujúci súbory s obsahom (týka sa digitálnych objektov).
- Zálohu konfigurácie - konfiguračné súbory DSpace (umiestnené vo [dspace]/conf/...).
- Zálohu vizuálnej témy a jej prispôsobení - vzhľad web GUI a i.([dspace]/webapps/xmlui/themes/...).
V publikácii americkej California Digital Library (2017 s.3) nachádzame definíciu, ktorá hovorí, že digitálny objekt (všeobecne) pozostáva:
- z metadát,
- množiny súborov tvoriacich vlastný obsah a
- z mechanizmu, ktorý spája predošlé dve súčasti dokopy (viď obrázok 4).
Obrázok 4: Časti digitálneho objektu podľa CDL (California Digital Library)
Digitálna knižnica či digitálny repozitár sprístupňuje zvyčajne veľký počet rôznorodých objektov. Ak sa pokúsime vnímať ľubovoľne rozsiahlu množinu súborov s obsahom (napr. PDF,...) ako jeden celok a databázu s množstvom popisných a štrukturálny metadát ako ďalšiu ucelenú súčasť, môžeme ich považovať za primárne zložky jediného digitálneho objektu. Sekundárne zložky tvoria konfiguračné súbory, či kódy webového GUI. V istom zmysle ide o ďalšie „metadáta“ repozitára ako objektu. Takto poňatý digitálny objekt je možné následne ľubovoľne presúvať z jedného kompatibilného elektronického prostredia do druhého. Samotný mechanizmus, ktorý spája spomenuté súčasti dokopy, predstavuje v našom konkrétnom prípade prázdny aplikačný rámec DSpace bez akéhokoľvek obsahu. Digitálnym objektom sa tak stáva napokon samotný digitálny repozitár.
Úspešné riešenie migrácie
Podľa definície pozostáva digitálny objekt z roviny súborov s obsahom, z roviny metadát uložených v databáze a z aplikačného rámca, ktorý je funkčným stmeľujúcim prvkom. Aplikačná vrstva sama osebe nenesie žiadne údaje digitálnych objektov. Len využíva „služby“ a dáta nižších, jej podriadených vrstiev a poskytuje (grafické) rozhranie používateľom alebo administrátorom. Situáciu vidíme na ľavej časti obrázku 5.
Obrázok 5: Vizualizácia procesu migrácie digitálneho repozitára
Obrázok 5 zároveň vizuálne popisuje vrstvový model, pomocou ktorého by bolo teoreticky možné migrovať celý repozitár na modernejšiu a aktuálnejšiu platformu. Ide o prípady, kedy je nutné napríklad aktualizovať použitý OS, prípadne nahradiť zastaraný hardvér. Na obrázku 5 ďalej vidíme, že virtuálny stroj VM1 je funkčný a beží na pôvodnom hardvéri a so starším OS. Vytvorme teraz druhú inštanciu, hoci aj v inom prostredí (napr. modernejší XenServer na novom hardvéri). Virtuálny stroj VM2 môže byť pokojne spustený na odlišnom hardvéri, kam sa nainštaluje i čistý OS – Ubuntu 18.04 v našom prípade. Následne sa dostávame k inštalácii DSpace a všetkých potrebných softvérových prerekvizít v novších verziách. Je výhodné použiť čo možno najnovšie verzie (DSpace 6.3 v našom prípade oproti pôvodnému DSpace 6.2).
Upozorňujeme, že pri migrácii medzi výrazne odlišnými „majoritnými“ verziami DSpace (napr. z 3.0 na 6.0) nemusí spomenutá úvaha platiť, pretože najmä údaje v databáze môžu podliehať úplne iným požiadavkám spracovania, čo môže vyústiť do vzájomnej nekompatibility. Riešením na preklenutie veľkej „priepasti verzií“ by mohol byť postupný a opakovaný upgrade (3.0 à 4.0 à 5.0 à 6.0 à 6.3).
V tejto časti myšlienkového postupu už máme moderný DSpace spustený na modernom OS (VM2). Následne stačí triviálnym spôsobom prekopírovať Assetstore (súbory s obsahom), databázu a konfiguračné súbory z VM1 do správnej lokácie vo VM2. Výsledkom procesu bude identická kópia digitálneho repozitára, čo sa týka vzhľadu GUI, vytvorených používateľských účtov, skupín, práv, ako aj sprístupňovaných digitálnych objektov. Ostatné softvérové súčasti však budú aktualizované. Samozrejme, k dosiahnutiu funkčného riešenia je nutné vykonať ešte TCP/IP konfiguráciu tak, aby nenastala sieťová kolízna situácia medzi VM1 a VM2, prípadne zmeniť odpovedajúci DNS záznam, či uskutočniť iné drobné administrátorské úkony. Nie je v možnostiach tohto článku (a ani jeho cieľom) detailne popísať presný step-by-step postup. V prílohe článku sa však nachádzajú kľúčové linuxové príkazy, ktorými je možné už teoreticky popísaný postup realizovať aj v praxi.
Teoreticky popísaný postup sme v praxi realizovali, vďaka čomu môžeme od 3.11.2018 používať katedrový repozitár KMKD na novšej, bezpečnejšej a aktuálnejšej platforme.
Záver
Na základe predloženej štúdie môžeme konštatovať, že definícia digitálneho objektu (podľa California Digital Library 2017) je v teoretickej i praktickej rovine aplikovateľná i na celý digitálny repozitár ako celok. V praktickej úrovni tento pohľad prináša výhody využiteľné napríklad pri migrácii, či kompletnej zálohe digitálnych repozitárov a knižníc založených na open-source softvéri DSpace. Vyššia úroveň abstrakcie dovoľuje abstrahovať zo systému len tie časti, ktoré reálne nesú dôležité údaje. Naopak, čisto aplikačnú, či hardvérovú vrstvu umožňuje v takto vytvorenom modeli nahradiť novšou bez priameho dosahu na dielčie digitálne objekty a ich metadáta uložené v repozitári.
Príloha - potrebné príkazy v prostredí terminálu operačného systému Ubuntu
Export databázy
sudo service tomcat7 stop
Príkaz vypne webový server Tomcat, aby nebránil exkluzívnemu prístupu k databáze.
sudo PGPASSWORD="dspace_pass" pg_dump -U dspace -h localhost -Fc dspace_db | gzip > dspace-db-$(date +%Y-%m-%d-%H.%M.%S).gz
Príkaz vykoná dump lokálnej databázy s názvom „dspace_db“ (za prepínačom -Fc) prostredníctvom systémového používateľa „dspace“ (za prepínačom -U) s priradeným heslom „dspace_pass“ (v premennej PGPASSWORD). Dump vo formáte sql je následne zazipovaný a pomenovaný ako „dspace-db-AKTUÁLNY-ČAS-A-DÁTUM.gz“. Tento súbor je nutné preniesť do nového systému, buď pomocou príkazu scp alebo pomocou utility WinSCP, prípadne inak.
sudo service tomcat7 start
Príkaz zapne webový server Tomcat.
Prekopírovanie Assetstore
Štandardne sa priečinok so súbormi s obsahom (tzv. assetstore) nachádza na ceste [dspace]/assetstore/ pričom obsahuje stromovú štruktúru číselne pomenovaných adresárov a súbory s mnohomiestnym číselným identifikátorom. Bez údajov z databázy sú teda tieto súbory nepoužiteľné.
sudo scp /dspace/assetstore/* administrator@novy_hostname:/home/administrator/assetstore -R
Ak sme pripojení v pôvodnom systéme, tak príkaz prekopíruje obsah assetstore do domáceho priečinka administrátora nového systému s názvom „novy_hostname“. Podstatou príkazu je kompletné skopírovanie obsahu assetstore na odpovedajúce miesto v novom systéme.
sudo mv /home/administrator/assetstore /dspace/assetstore
Ak sme už pripojení na novom systéme, tento príkaz premiestni priečinok z domovského adresára na preddefinované miesto assetstore, ktoré očakáva nová inštancia DSpace na novom systéme.
Import databázy (vykonávame len na novom systéme)
sudo service tomcat8 stop
Príkaz vypne webový server Tomcat, aby nebránil exkluzívnemu prístupu k databáze.
sudo -u dspace_db createdb -U dspace -E UNICODE dspace_pass
Príkaz vytvorí novú prázdnu databázu „dspace_db“ pod používateľom „dspace“ a heslom „dspace_pass“.
sudo gunzip dspace_db-2018-11-13-06.41.54.gz
Príkaz rozbalí zazipovanú zálohu databázy.
sudo -u postgres pg_restore -d dspace_db < dspace_db-2018-11-13-06.41.54
Príkaz vykonaná restore (import) z rozzipovaného súboru dspace_db_-2018-11-13... do databázy „dspace_db“ pod systémovým účtom „postgres“.
Uvedenie nového systému do prevádzky
sudo service postresql restart
sudo service tomcat8 start
Príkazy vykonajú reštart databázového servera a štart webového servera.
sudo /dspace/bin/dspace database test
Príkaz otestuje funkčnosť pripojenia DSpace k databáze PostgreSQL.
- BARTOŠEK, M. 2004. Digitální knihovny – teorie a praxe. In Národní knihovna – knihovnická revue [online], roč. 15, č. 4, s. 233 – 254 [cit. 2018-11-26]. Dostupné na: http://full.nkp.cz/nkkr/NKKR0404/0404233.html
- California Digital Library. 2017. CDL Guidelines for Digital Objects [online]. 2017-01 [cit. 2018-11-16]. Dostupné na: https://www.cdlib.org/gateways/docs/GDO.pdf
- CANONICAL. (c)2018. The Ubuntu lifecycle and release cadence [online]. 2018 [cit. 2018-11-16]. Dostupné na: https://www.ubuntu.com/about/release-cycle
- DURASPACE. 2018. DSpace manual [online]. 2018-06-27 [cit. 2018-11-23]. Dostupné na : https://github.com/DSpace/DSpace/releases/download/dspace-6.3/DSpace-Manual.pdf
- FORMANEK, M. 2015. Využitie digitálnej knižnice v akademickom prostredí Žilinskej univerzity [Rigorózna práca]. Žilinská univerzita v Žiline. Fakulta humanitných vied; Katedra mediamatiky a kultúrneho dedičstva. Žilina: Katedra mediamatiky a kultúrneho dedičstva.
- FORMANEK, M. 2016. Konkrétne prínosy inštitucionálneho repozitára vo vysokoškolskom akademickom prostredí. IN Ikaros [online]. 2016, ročník 20, číslo 6 [cit. 2018-11-22]. urn:nbn:cz:ik-17793. ISSN 1212-5075. Dostupné z: http://ikaros.cz/node/17793
- FORMANEK, M. 2018. Reálny a virtuálny verejný priestor [Dizertačná práca]. Žilinská univerzita v Žiline. Fakulta humanitných vied; Katedra mediamatiky a kultúrneho dedičstva. Školiteľ: prof. Ing. Milan Konvit, PhD. Žilina: Katedra mediamatiky a kultúrneho dedičstva.
- Heusdens, R. 2017. What's the difference between Database dump and Database Backup? [online]. 2017-3 [cit. 2018-11-26]. Dostupné na: https://www.quora.com/Whats-the-difference-between-Database-dump-and-Database-Backup
- KOPECKÁ, M. 2014. Motivačné faktory a bariéry využívania inštitucionálnych repozitárov. In Knižničná a informačná veda. Zborník Filozofickej fakulty Univerzity Komenského, 25. Bratislava: Univerzita Komenského, 2014, s.55-63. ISBN 978-80-223-3808-0.
- KOZEJOVÁ PALKECHOVÁ, M. 2017. Návrh digitálneho univerzitného repozitára [Dizertačná práca]. Žilinská univerzita v Žiline. Fakulta humanitných vied; Katedra mediamatiky a kultúrneho dedičstva. Školiteľ: prof. PhDr. Dušan Katuščák, PhD. Žilina: Katedra mediamatiky a kultúrneho dedičstva.
- MAKULOVÁ, S. Digitálne knižnice budúcnosti – nové smery výskumného programu. In INFOS 2003. Bratislava : Spolok slovenských knihovníkov, 2003. ISBN 80-85165-86-4.
- UBUNTU WIKI. (c)2017 . LTS. 2017-03-17 [cit. 2018-11-16]. Dostupné na: https://wiki.ubuntu.com/LTS