Come spiegato nella pagina introduttiva, IA2 fornisce spazio di archiviazione per la “Condivisione dei dati” (Data Sharing) e per la “Conservazione a lungo termine” (Long-Term Preservation). Quest’ultima si riferisce al salvataggio dei dati su libreria a nastro (Tape Library).
Come funziona la libreria a nastro (Tape Library)
- Una volta scritti sulla Tape Library, i dati non possono più essere eliminati o modificati.
- L’accesso ai dati scritti sulla Tape Library avviene in modalità asincrona tramite VOSpace.
Come richiedere un account
- L’account è personale e non è aperto a un gruppo. Se è necessario salvare i dati di un gruppo, ciò deve essere fatto tramite un account collegato a una persona di contatto.
- L’account deve essere richiesto direttamente a ia2@inaf.it e utilizzerà le credenziali IDEM.
- La richiesta deve indicare le dimensioni dei dati da salvare e la frequenza con cui si pianifica di accedere a tali dati.
Come scrivere un Data Management Plan (DMP)
Il Data Management Plan deve fornire tutte le informazioni ritenute rilevanti per la corretta conservazione dei dati seguendo i principi FAIR.
Puoi seguire queste linee guida per scrivere il tuo DMP:
Spazio di archiviazione a lungo termine richiesto e giustificazione tecnica:
Di quanto spazio hai bisogno e perché? Qual è la motivazione scientifica e tecnica per lo spazio richiesto?
Ricorda che i dati, una volta scritti sulla Tape Library, non possono essere eliminati o modificati. Pertanto devi essere sicuro di volerli davvero archiviare e conservare, cioè che non si tratti di dati — per quanto voluminosi — che possono essere facilmente rigenerati o semplicemente privi di valore. Potrebbe essere che solo un sottoinsieme dei tuoi dati richieda la conservazione a lungo termine, non tutti. Valuta il costo di rigenerarli rispetto all’opportunità di conservarli su un archivio a lungo termine.
Tipo e formato dei dati e descrizione della struttura della raccolta dati:
Che tipo di dati vuoi archiviare (es. simulazioni, osservazioni, ecc.), in quali formati di file (es. fits, hdf5, tar, ecc.) e quanto sono grandi questi file? Sono compressi o no? Come sono strutturati i dati e i relativi metadati? Come sono organizzati dati e metadati in file e cartelle?
Fornisci qualsiasi informazione utile per comprendere il tipo di dati e metadati che vuoi archiviare e come sono organizzati.
Frequenza di accesso prevista:
Con quale frequenza si accederà ai dati?
Sia in termini di quanti dati verranno consultati o scaricati contemporaneamente, sia in termini di frequenza di accesso nel tempo. È possibile differenziare per tipo di dato, dato che ad alcuni si accederà più frequentemente e ad altri meno.
Politica di accesso (Access policy):
Chi ha accesso ai dati? Solo la persona di contatto dell’account o un gruppo di persone? Dobbiamo tenere conto di regole di autorizzazione restrittive per l’accesso ai dati?
Pianifichi di rendere pubblici i tuoi dati?:
È possibile che i dati siano privati ora, ma che possano essere resi disponibili per l’accesso pubblico in futuro?
Se i tuoi dati sono solo ad accesso privato, rispondi “No”. In caso contrario, fornisci qualsiasi informazione utile per rendere pubblici i tuoi dati, secondo i principi FAIR, e come pianifichi di farlo. Quale sarà la comunità di riferimento se i tuoi dati saranno pubblici? Tutti i tuoi dati saranno pubblici o ne verrà pubblicato solo un sottoinsieme? Ci sarà un piano di finanziamento a supporto di questa attività?
Informazioni aggiuntive:
Fornisci qualsiasi ulteriore informazione che ritieni utile e necessaria per consentirci di conservare al meglio i tuoi dati.
Come effettuare l’ingestione dei dati (Data Ingestion)
- Una volta creato l’account, all’utente verrà assegnata un’area di scratch in cui potrà trasferire i propri dati;
- Il trasferimento può essere effettuato tramite
scporsync. Eventuali software aggiuntivi devono essere concordati direttamente con il team di IA2; - Una volta completato dal parte dell’utente il trasferimento di un blocco di dati (directory con sotto-directory), questo verrà preso in carico (previa comunicazione da parte dell’utente) e congelato (frozen);
- Chiediamo gentilmente di preparare e strutturare i dati in directory con non più di 2000 unità, oppure di tenere presente che, durante la procedura di archiviazione, le directory foglia contenenti più di 2000 file verranno convertite in file
.tar. È possibile utilizzare uno script Bash per eseguire un controllo sui file prima di caricarli. Per ogni directory chiediamo di produrre un file con un elenco dei checksum calcolati per i relativi file, al fine di verificare l’integrità dei file stessi. Si prega di lasciare ciascun file di checksum all’interno della relativa directory.
Nota: Se nelle directory ci sono troppi file (più di 2000 file per directory), ciò può influire sia sull’efficienza del file system che sul trasferimento dati. Si suggerisce quindi di procedere con la creazione di un archivio
.tarprima di effettuare il trasferimento.
Esecuzione dello script per il checksum
Prima di iniziare questo processo, verificare che i file o le directory non contengano caratteri speciali come:
[ ] < > ? \ / " : | ' *`
Supponendo di avere i dati in /home/<nome.cognome>/<i_miei_dati>:
Metti lo script in /home/<nome.cognome> ed eseguilo modificando i permessi di esecuzione:
Bash
cd /home/<nome.cognome>
chmod +x checksum
bash checksum i_miei_dati &
Questo file verrà eseguito in background e creerà un file di log. Per verificare lo stato di esecuzione dello script, usa:
Bash
pgrep -f checksum
Una volta che i dati sono stati salvati su nastro, possono essere gestiti dall’utente in modalità “sola lettura” (read-only).
Recupero dei dati (Data Retrieval)
I dati presenti sul nastro possono essere recuperati tramite VOSpace. Dall’interfaccia VOSpace l’utente può richiamare in modo asincrono (async-recall) sia singoli file che cartelle. Una volta richiamati questi file o cartelle, sull’interfaccia VOSpace appariranno i link per il download.
- Per file di piccole dimensioni: l’utente può scaricare i file direttamente dall’interfaccia VOSpace.
- Per file di grandi dimensioni, un numero elevato di file o intere cartelle: suggeriamo di scaricare i file tramite
scporsync.
In ogni caso, l’utente deve effettuare il richiamo asincrono (async-recall) dei dati per poterli scaricare. I dati richiesti verranno posizionati nella directory dell’utente mantenendo il percorso originale.
Nota: L’utente non ha accesso diretto in scrittura sulla Tape Library.
FAQ
Come posso calcolare i checksum?
Puoi calcolare i checksum utilizzando questo script:
#!/bin/bash
# Exit on errors
set -e
# Set main dir (can be absolute or not, it doesn't matter)
ROOT_DIR=$(echo "$1" | rev | cut -d '/' -f 1 | rev)
# Check for a valid input dir name
if [ -z "$ROOT_DIR" ]; then
echo "Invalid directory name."
exit 1
fi
# Print all the columns after first one (path dirs)
SUBDIRS_LIST=$(du "$ROOT_DIR" | awk '{$1=""; print substr($0,2)}')
CWD="$(pwd)"
# Use a log file
now="$(date +'%d-%m-%Y_%H-%M-%S')"
LOG="${CWD}"/checksums_"${now}".log
# Iterate over all the dirs (handles dir names with spaces)
echo "$SUBDIRS_LIST" | while read i
do
MD5_FILE=$(echo "$i" | rev | cut -d '/' -f 1 | rev)-md5sum.txt
cd "$i"
FILES=$(find -maxdepth 1 -type f \( ! -iname "*-md5sum.txt" \))
if [[ ! -e "../${MD5_FILE}" && ! -z "$FILES" ]]; then
now="$(date +'[ %d/%m/%Y %H:%M:%S ] ')"
echo "${now} Generating \"${MD5_FILE}\" for \"${i}\"..." >> "$LOG"
find -maxdepth 1 -type f \( ! -iname "*-md5sum.txt" \) -exec md5sum '{}' \; > ../"${MD5_FILE}" && \
now="$(date +'[ %d/%m/%Y %H:%M:%S ] ')" && \
echo "${now} Done." >> "$LOG"
fi
cd "$CWD"
done
Per quanto tempo i file rimarranno disponibili online?
Dipende dalla disponibilità di spazio su disco veloce e dalla quantità di archiviazione richiesta; in generale si tratta di circa un mese.
C’è una quota da pagare?
Sì, se la quantità di dati da importare supera i 250 TB su nastro, e il costo è all’incirca pari al costo della cartuccia per ogni TeraByte.
