Storage accounting
La seguente pagina contiene appunti relativi all'attivita' di Storage accounting in svolgimento al CNAF. L'attivita' ha avuto inizio in Marzo 2011 ed e' portata avanti da Andrea Cristofori, Enrico Fattibene e Paolo Veronesi.
Usage Record utilizzato
Lo Usage Record utilizzato e' stato creato per contemplare un eventuale accounting per file. I campi che compongono lo UR utilizzato sono riportati nel paragrafo Architettura.
Architettura
Il sistema di accounting utilizzato per reperire, trasportare, conservare e pubblicare i dati e' DGAS. I dati sono reperiti a livello di sito e salvati nell'HLR di riferimento per il sito stesso (HLR di sito o multisito). La tabella che contiene i dati sull'HLR e' sysDefStorageAccounting e questo e' il suo schema:
Field |
Type |
Null |
Key |
Default |
Extra |
ID |
bigint(20) |
MUL |
NULL |
auto_increment |
RecordIdentity |
char(64) |
|
PRI |
|
|
GlobalFileId |
char(64) |
YES |
|
NULL |
|
LocalFileId |
char(64) |
YES |
|
NULL |
|
GlobalGroup |
char(64) |
YES |
|
NULL |
|
GlobalUsername |
char(64) |
YES |
|
NULL |
|
LocalUserId |
char(64) |
YES |
|
NULL |
|
Charge |
int(10) |
YES |
|
NULL |
|
Status |
char(64) |
|
|
|
|
Host |
char(64) |
|
|
|
|
SubmitHost |
char(64) |
YES |
|
NULL |
|
ProjectName |
char(64) |
YES |
|
NULL |
|
ProjectPartition |
char(64) |
YES |
|
NULL |
|
StorageType |
char(64) |
YES |
|
NULL |
|
ProtocolType |
char(64) |
YES |
|
NULL |
|
Network |
int(10) |
YES |
|
NULL |
|
Disk |
int(10) |
YES |
|
NULL |
|
TimeDuration |
int(10) |
YES |
|
NULL |
|
TimeInstant |
int(10) |
YES |
|
NULL |
|
ServiceLevel |
char(64) |
YES |
|
NULL |
|
Implementazione
I dati sono presi al momento da sistema informativo. Uno script gira titpicamente una volta al giorno dalla UI ui.cnaf.infn.it prendendo i dati per tutti i siti della Grid italiana. I dati vengono mandati all'HLR di test dgas-test-vm01.
Visualizzazione dei dati
Il server HLRmon di sviluppo (hlrmon-dev.cnaf.infn.it) prende i dati presenti sull'HLR di riferimento (per ora l'HLR di test dgas-test-vm01.cnaf.infn.it) tipicamente una volta la giorno, li aggrega per giorno e li inseirsce nel proprio DB. La tabella che li contiene ha il seguente schema:
Field |
Type |
Null |
Key |
Default |
Extra |
ID |
bigint(20) |
NO |
PRI |
NULL |
auto_increment |
YYMMGG |
date |
NO |
|
0000-00-00 |
|
Site |
varchar(45) |
YES |
|
NULL |
|
SEName |
varchar(45) |
YES |
|
NULL |
|
VOName |
varchar(45) |
YES |
|
NULL |
|
FreeSpace |
bigint(20) |
YES |
|
NULL |
|
UsedSpace |
bigint(20) |
YES |
|
NULL |
|
totalfree |
bigint(20) |
YES |
|
NULL |
|
totalsize |
bigint(20) |
YES |
|
NULL |
|
Class |
varchar(45) |
YES |
|
NULL |
|
last_mod_time |
timestamp |
NO |
|
CURRENT_TIMESTAMP |
|
Si ritiene oppurtuno visualizzare i dati aggregati per sito, Storage Element e Storage Area. Per ognuna di queste chiavi di aggregazione viene prodotto un grafico con l'andamento temporale nel periodo desiderato e l'aggragato sul periodo stesso. I grafici sono disponibili a questo indirizzo:
https://hlrmon-dev.cnaf.infn.it:8443/hlrmon/report/storage.php
Gli stessi dati sono disponibili in formato tabellare con la possibilita' di esportare la tabella in formato excel:
https://hlrmon-dev.cnaf.infn.it:8443/hlrmon/report/table_storage.php
Un'aggregazione per VO non e' allo stato attuale possibile perche' possono esistere casi in cui esistono Storage Area condivise da piu' VO. In questi casi il Glue Schema prevede la pubblicazione del dato di spazio utilizzata dalla sola Storage Area e non di quello utilizzato dalla singola VO. Per questi casi non e' quindi possibile risalire alla quota utilizzata da ogni VO.
-- Main.Enrico Fattibene - 2011-07-07