Storage accounting

The following page contains the results of the Storage Accounting activities in progress at INFN-CNAF. These activities started at the beginning of March 2011 and is being carried out by Andrea Cristofori, Enrico Fattibene and Paolo Veronesi.

Usage Record used

The Usage Record (UR) utilized are generated in a way that allows a per file accounting. The fields that are part of the UR used are described on the paragraph "Architecture".

Architecture

The Accounting System utilized to collect, send, store and publish data is DGAS. Data are collected at a site level, sent and stored to the designed HLR for that particular site (site or multi site HLR). sysDefStorageAccounting is the table that contains the data sent with the UR on the HLR. The first six columns describe the table attributes. The remaining columns contain the following columns: GlueSchemaField correspond to the Glue Schema parameter used; Description descrbe the meaning of the field; AlwaysNULL tells if the field, in the current implementation is expected to be always NULL.

Field Type Null Key Default Extra   GlueSchemaField Description AlwaysNULL
ID bigint(20) MUL NULL auto_increment        
RecordIdentity char(64)   PRI         Hash of site, VO, SA, and TimeInstant values  
GlobalFileId char(64) YES   NULL       Unique file identifier (LFC file ID) yes
LocalFileId char(64) YES   NULL       Local path of file yes
GlobalGroup char(64) YES   NULL       Grid site name no
GlobalUsername char(64) YES   NULL       Unique identifier of the user yes
LocalUserId char(64) YES   NULL       Local user ID yes
Charge int(10) YES   NULL       The charge associated with the storage utilization yes
Status char(64)             Status of a request to the storage system yes
Host char(64)           GlueChunkKey : GlueSEUniqueID Storage Element host no
SubmitHost char(64) YES   NULL       The file source host yes
ProjectName char(64) YES   NULL     GlueSAAccessControlBaseRule VO name no
ProjectPartition char(64) YES   NULL     GlueSALocalID Storage Area name no
StorageType char(64) YES   NULL       StoRM, dCache, DPM, etc.  
ProtocolType char(64) YES   NULL       The protocol used in the event yes
Network int(10) YES   NULL       The network utilization for the operation yes
Disk int(10) YES   NULL     GlueSAUsedOnlineSize Used space no
TimeDuration int(10) YES   NULL       Time between 2 measures no
TimeInstant int(10) YES   NULL       Time of the measure no
ServiceLevel char(64) YES   NULL       Persistent, volatile, etc.  

Implementation

UR are, in the current implementation, generated by retrieving accounting data from the Information System. A dedicated script is run once a day from a UI and collects data for all the Italian sites. The UR are then sent to a test HLR.

Data visualization

HLRmon development server (hlrmon-dev.cnaf.infn.it) collects data from the configured HLR (at the moment the HLR used is the dgas-test-vm01.cnaf.infn.it test instance) typically once a day, it aggregates per day and stores the results in its internal DB. HLRmon does not store only information related to URs but it also stores, in the same table, data related to the free space of each SA, the total space and the free space for each SE taken directly from the Information System. The HLRmon DB table that contains these data is described in the left half of the following table. The remaining columns correspond to: the corresponding field in the HLR table (if applicable), the corresponding field in the Glue Schema (if applicable) and the description of the field.

Field Type Null Key Default Extra   HLRTableField GlueSchemaField Description
ID bigint(20) NO PRI NULL auto_increment        
YYMMGG date NO   0000-00-00     TimeInstant   Measurements day
Site varchar(45) YES   NULL     GlobalGroup   Grid site name
SEName varchar(45) YES   NULL     Host   Storage Element
VOName varchar(45) YES   NULL     ProjectName   VO
FreeSpace bigint(20) YES   NULL          
UsedSpace bigint(20) YES   NULL     Disk   Used space
totalfree bigint(20) YES   NULL          
totalsize bigint(20) YES   NULL          
Class varchar(45) YES   NULL     ProjectPartition   Storage Area name
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.

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 le prime colonne della tabella che segue contengono il suo schema. La seconda parte della tabella contiene le seguenti colonne: la colonna GlueSchemaField indica il parametro del Glue Schema usato; la colonna Description descrive il significato del campo; la colonna AlwaysNULL indica se per la corrente implementazione il campo e' atteso essere sempre NULL).

Field Type Null Key Default Extra   GlueSchemaField Description AlwaysNULL
ID bigint(20) MUL NULL auto_increment        
RecordIdentity char(64)   PRI         Hash of site, VO, SA, and TimeInstant values  
GlobalFileId char(64) YES   NULL       Unique file identifier (LFC file ID) yes
LocalFileId char(64) YES   NULL       Local path of file yes
GlobalGroup char(64) YES   NULL       Grid site name no
GlobalUsername char(64) YES   NULL       Unique identifier of the user yes
LocalUserId char(64) YES   NULL       Local user ID yes
Charge int(10) YES   NULL       The charge associated with the storage utilization yes
Status char(64)             Status of a request to the storage system yes
Host char(64)           GlueChunkKey : GlueSEUniqueID Storage Element host no
SubmitHost char(64) YES   NULL       The file source host yes
ProjectName char(64) YES   NULL     GlueSAAccessControlBaseRule VO name no
ProjectPartition char(64) YES   NULL     GlueSALocalID Storage Area name no
StorageType char(64) YES   NULL       StoRM, dCache, DPM, etc.  
ProtocolType char(64) YES   NULL       The protocol used in the event yes
Network int(10) YES   NULL       The network utilization for the operation yes
Disk int(10) YES   NULL     GlueSAUsedOnlineSize Used space no
TimeDuration int(10) YES   NULL       Time between 2 measures no
TimeInstant int(10) YES   NULL       Time of the measure no
ServiceLevel char(64) YES   NULL       Persistent, volatile, etc.  

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. Oltre ai dati contenuti nello Usage Record, HLRmon inserisce in questa tabella dati presi direttamente dal sitema informativo, relativi allo spazio libero di ogni Storage Area, e allo spazio totale e libero di ogni Storage Element. La tabella del DB di HLRmon che contiene i suddetti dati ha lo schema descritto nelle prime colonne della seguente tabella. Le altre colonne indicano: l'eventuale campo corrispondente della tabella dell'HLR; l'eventuale campo corrispondente del Glue Schema; la descrizione del campo.

Field Type Null Key Default Extra   HLRTableField GlueSchemaField Description
ID bigint(20) NO PRI NULL auto_increment        
YYMMGG date NO   0000-00-00     TimeInstant   Measurements day
Site varchar(45) YES   NULL     GlobalGroup   Grid site name
SEName varchar(45) YES   NULL     Host   Storage Element
VOName varchar(45) YES   NULL     ProjectName   VO
FreeSpace bigint(20) YES   NULL          
UsedSpace bigint(20) YES   NULL     Disk   Used space
totalfree bigint(20) YES   NULL          
totalsize bigint(20) YES   NULL          
Class varchar(45) YES   NULL     ProjectPartition   Storage Area name
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


This topic: DGAS > WebHome > StorageAccounting
Topic revision: r9 - 2011-07-14 - AndreaCristofori
 
This site is powered by the TWiki collaboration platformCopyright © 2008-2024 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback