Obsah

LTP

Na této stránce naleznete návod na využívání služby LTP provozované sdružením CESNET. Tato služba je určena pro dlouhodobé uchovávání dat trvalé hodnoty.

Služba je provozována na těchto stránkách https://ltp.cesnet.cz/ a je dostupná registrovaným uživatelům přes webové rozhraní a přes API.

Služba LTP slouží jako temný archiv, do kterého můžete ukládat speciálně připravené archivní balíčky (jejich přípravu popíšeme níže). Archivní balíčky obsahují vlastní data a také metadata. Metadata jsou jednak věcná (popis experimentu, jméno autora, apod.), ta systémem nejsou nijak interpretována a slouží pro potřeby uživatele. Dále jsou to metadata technická, tedy zejména kontrolní součty ukládaných souborů. Ta slouží k ověřování, že se obsah balíčku binárně nepoškodil.

Po nahrání archivního balíčku provede automatizovaný systém jeho validaci: prověří vnitřní kontrolní součty z metadat balíčku a jeho celkový formát. Systém dále s metadaty balíčku nepracuje, pro kontroly jeho binární konzistence si vytvoří vlastní (vnější) kontrolní součty. To má výhodu ve snazším zpracování a navíc kontrolní součty zahrnují i kompletní metadata. Vnější kontrolní součty pak slouží k průběžné kontrole archivního balíčku. Tyto průběžné kontroly a jejich výsledky budou zaznamenávány do auditních zpráv, které budete mít možnost monitorovat.

Systém nekontroluje korektnost formátů souborů uložených v balíčku, stará se výhradně o kontrolní součty, tj. binární konzistenci. Je odpovědností uživatele, aby kontroly formátů souborů provedl vlastními prostředky (např. pomocí nástrojů jako Archivematica).
Přístupy k balíčkům se řídí nastavením uživatelských skupin. Při ukládání balíčku se vždy musí zadat jméno skupiny. Skupinu, pod kterou byl balíček vytvořen/uložen, není možné měnit. Uživatelé jsou členy libovolného počtu skupin, o členství uživatele ve skupině rozhoduje její správce. Členstvím ve skupině uživatel získává právo ukládat do ní balíčky a manipulovat s balíčky v ní uloženými.
Služba je v pilotním provozu. Budeme rádi, pokud ji budete chtít otestovat a podílet se na jejím rozvoji, v takovém případě nás kontaktujte. V době pilotního provozu nicméně nedáváme žádné formální ani neformální záruky za uložená data.

Archivní balíčky a jejich příprava

Pro ukládání vašich dat v rámci služby LTP je nezbytné z vašich dat nejdříve vygenerovat tzv. archivní balíček, který bude mít příslušný formát podporovaný naší službou. Služba LTP provozovaná sdružením CESNET pracuje s archivními balíčky odpovídajícími standardu Bagit. Pro přípravu archivních balíčků je tedy nezbytné využívat nástroje využívající tento standard.

Command-line řešení - Linux

Pro přípravu archivních balíčků v prostředí Linux s využitím příkazové řádky doporučujeme využití nástroje bagit-python vyvíjený Knihovnou Kongresu - USA Library of Congress.

Instalace nástroje bagit

Pro instalaci je nezbytné nejprve nainstalovat balíček python-pip. Pro úspěšnou instalaci nástroje bagit je nezbytné mít v systému python v3.0 a vyšší. Následně tedy můžeme provést instalaci (jako správce systému).

pip install bagit

Použití nástroje bagit

Vyvolání nápovědy pro nástroj bagit
bagit.py --help
Vytvoření archivního balíčku

Pozor, tento proces přesouvá data ve struktuře složek.

bagit.py --md5 --processes 4 /adresar/k/zabaleni

–md5 specifikuje typ použitého algoritmu, jedná se o uživatelskou volbu, jaký algoritmus chete použít (např. SHA256)
–processes bude provádět paralelní výpočet kontrolních součtů s použitím více jader (zde např. 4)

Výroba archivního balíčku způsobí, že se v koncovém adresáři vytvoří několik pomocných souborů a adresář data. V adresáři data je uložena původní adresářová struktura, na kterou jsme použili nástroj bagit.

15:38 bag-info.txt
15:38 bagit.txt
15:38 data
15:38 manifest-md5.txt
15:38 tagmanifest-md5.txt
Příprava balíčku pro nahrání do LTP archivu.
Validní zabalený bagit balíček *.zip musí v toplevel úrovni obsahovat všechny požadované soubory, které slouží pro ověření validního bagit balíčku (bagit.txt, data, manifest-md5.txt, tagmanifest-md5.txt). Z tohoto důvodu je nezbytné věnovat zvýšenou pozornost výrobě *.zip souboru, který budete následně odesílat do LTP úložiště.

Nejdříve se přesuneme do adresáře, na který jsme použili bagit nástroj.

cd /adresar/k/zabaleni

Následně provedeme zabalení aktuálního adresáře s tím, že výstupní soubor umístíme do jiné destinace, zde například uživatelský home.

zip -r /home/student/my_archive_package.zip .

Ukládání archivních balíčků a jejich správa

Pro ukládání archivních balíčků je možné využít webové prostředí na adrese https://ltp.cesnet.cz/. Registrovaní uživatelé se přihlásí svou institucionální identitou.

Pro registraci ke službě LTP je nejdříve nutné se obrátit na uživatelskou podporu Datových úložišť.

Po přihlášení do služby LTP můžete v levém horním rohu vybrat příslušný skupinový kontext (pokud jste členem jen jedné skupiny, budete mít na výběr jen jednu možnost). Skupinovým kontextem se rozumí skupina vytvořená a spravovaná v systému pro správu uživatelů, jejímž jste členem. Tato skupina využívající službu LTP CESNET je správcem všech dat, které do služby nahrají členové příslušné skupiny. Její členové mohou do kontextu přidávat nové balíčky, zobrazovat detaily archivních balíčků, auditní zprávy a provádět updaty.

Dále si na zobrazené stránce můžete po kliknutí na ikonku zvonečku (červená) v pravé horní části zobrazit notifikace týkající se posledních auditních záznamů v daném skupinovém kontextu. Případně můžete pomocí vyhledávacího pole (červená) v pravé horní části prohlédávat balíčky podle uživatelských metadat.

Odhlášení ze služby LTP CESNET je možné provést po kliknutí na ikonku (zelená) v pravém horním rohu a kliknutí na tlačítko Logout.

Nahrávání/vytvoření archivního balíčku

Pro nahrání balíčku je nejdříve nezbytné připravit validní archivní balíček podle bagit standardu a zabalit jej do souboru *.zip.

Pro nahrání archivního balíčku je nezbytné (1) vybrat kskupinový kontext a (2) vyplnit název záznamu Package name. Následně můžeme přidat (3) uživatelská metadata Package metadata. Zde můžeme využít buď ručního (4) vložení metadat, případně můžeme nahrát metadata pomocí existujícího json souboru. Nakonec vytvoříme nový záznam (5).

Po vytvoření nového záznamu se nám zobrazí stránka pro upload souborů. Zde můžete buď archivní balíček vybrat z disku, případně přetáhnout do okna prohlížeče.

Jakmile vyberete soubor, můžete kliknout na tlačítko Upload file.

Po nahrání archivního balíčku se v přehledovém menu zobrazí váš záznam s šedou hlavičkou. Tento stav indikuje, že záznam byl v pořádku vytvořen a soubor byl uložen. Jakmile proběhnou kontroly archivního balíčku (validace balíčku), tak bude hlavička záznamu zelená (podobně jako u záznamu vpravo).

Pokud kontroly balíčku po vložení do systému neproběhnou správně, bude balíček označen jako nevalidní a po nějaké době bude automaticky odstraněn. Je tedy zcela zásadní po vkládání balíčku vždy zkontrolovat, že je balíček systémem korektně přijat. To je popsáno v auditních zprávách a ve stručné podobě také jako status balíčku.

Správa archivního balíčku

V levém menu klikneme na tlačítko Archives, čímž dojde k zobrazení přehledu archivních balíčků. Každý balíček je jednoznačně identifikován svým ID. Dále je u každého balíčku uveden Create date, Version - v případě updatu dochází k verzování balíčků, Status - popis stavů balíčku a proklik na detailní informace k danému balíčku.

Detaily balíčku

Po kliknutí na detail balíčku se zobrazí přehled dostupných informací o balíčku (ID, Create date, Version, Status, Metadata, Archive Package content, …). Na zobrazené stránce je možné balíček stáhnout - tlačítko Prepare download, provést jeho editaci - tlačítko Edit archive, případně vynutit jeho validaci - tlačítko Enforce validation (kontrola kontrolního součtu). Vpravo pak nalezneme výpis auditních zpráv k příslušnému balíčku, například kontrola kontrolních součtů, informace o stažení atp.

Stažení balíčku

Neprve musíme přejít na deatil balíčku, jehož obsah chceme stáhnout. Následně klikneme na tlačítko (1) Prepare download. Archivní balíček musí nejdříve systém připravit pro stažení. Tato příprava zahrnuje jeho vytažení z archivu a kontrolu kontrolního součtu.

Jakmile jsou kontroly dokončeny objeví se tlačítko (2) Download here, čímž dojde ke stažení balíčku.

Při stahování objemnějších balíčků může kontrola několik minut trvat.

Úpravy metadat

Při kliknutí na tlačítko Edit Archive se zobrazí formulář podobný tomu, který jsme použili pro vytvoření/uložení archivního balíčku. Zde je možné změnit metadata balíčku. Po dokončení editace stačí kliknout na tlačítko Save Changes a dojde k uložení balíčku. Následně bude balíček v poli Version označen vyšším číslem než předchozí verze.

Správa auditních zpráv

Při kliknutí na tlačítko Audits v levém menu si můžete zobrazit všechny auditní zprávy pro všechny balíčky uložené v daném skupinovém kontextu. Nejčerstvější auditní záznamy si můžete rovněž prohlédnout, pokud kliknete na ikonku zvonečku v pravé horní části stránky.

Nastavení notifikací

Kliknutím na tlačítko Notifications (1) v levém menu si můžete nastavit požadované notifikace, například pro případ porušení integrity archivního balíčku.

Popis funkcí dostupných pomocí API

Pro přístup přes API rozhraní je nezbytné nejdříve získat přístupový API klíč. Klíč má omezenou platnost.

Přístupový klíč si můžete vygenerovat ve webovém prostředí pomocí následujících kroků.

1. Přihlásit se přes web na https://ltp.cesnet.cz/
2. Klikněte v levém menu na tlačítko (1) User Profile, případně v pravém horním rohu na (2) vaše jméno.

3. Klikněte na talčítko (1) Manage Tokens. Na zobrazené stránce si můžete rovněž vybrat (2) výchozí skupinový kontext, který se zobrazí po přihlášení.

4. Na zobrazené stránce vyplňte (1) název tokenu a klikněte na tlačítko (2) Save Token. Následně si (3) zkopírujte token do vašich poznámek. Opětovné zobrazení tokenu již nebude možné. Pokud si přejete některý z existujících tokenů revokovat, můžete použít (4) tlačítko s křížkem.

Token si prosím zkopírujte na bezpečné místo. Z bezpečnostních důvodů jej nebude možné později znovu zobrazit.

Doporučujeme uložit si přístupový token do proměnné shellu. Následně můžete v cli příkazech použít tuto proměnnou.

Uložení uživatelského tokenu do proměnné.

LTP_TOKEN=d7d6ae316f8cb34ec2561421962a737ce30a95d8

Kontrola, že došlo k uložení tokenu do proměnné.

echo ${LTP_TOKEN}
d7d6ae316f8cb34ec2561421962a737ce30a95d8

Referenční implementace

Referenční implementace LTP API je dostupná jako python knihovna, kde rovněž naleznete instrukce k instalaci a základní příklady příkazů. Generovaná dokumentace k LTP je dostupná na stránkách služby LTP.

Záznam změn/Change Log

Soupis prováděných změn v souvislosti s funkcionalitami LTP