Tags:
,
view all tags
---+ 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. The table ( _sedata_new_) 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) and the description of the field. Table _sedata_new_ schema | *Field* | *Type* | *Null* | *Key* | *Default* | *Extra* | | *HLRTableField* | *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 | | !UsedSpace | bigint(20) | YES | | NULL | | | Disk | Used space | | Class | varchar(45) | YES | | NULL | | | !ProjectPartition | Storage Area name | | last_mod_time | timestamp | NO | | CURRENT_TIMESTAMP | | | | | HLRmon does not store only information related to URs but it also stores, in another table, data related to the total and free space of each SA, the total space and the used space for each SE taken directly from the Information System. This table ( _storage_info_system_) is described in the left half of the following table. The remaining columns correspond to: the corresponding field in the Glue Schema (if applicable) and the description of the field. Table _storage_info_system_ schema | *Field* | *Type* | *Null* | *Key* | *Default* | *Extra* | | *GlueSchemaField* | *Description* | | ID | bigint(20) | NO | PRI | NULL | auto_increment | | | | | YYMMGG | date | NO | | 0000-00-00 | | | | Measurements day | | Site | varchar(45) | YES | | NULL | | | | Grid site name | | !SEName | varchar(45) | YES | | NULL | | | !GlueSEUniqueID | Storage Element | | !SETotalSpace | varchar(45) | YES | | NULL | | | !GlueSETotalOnlineSize | SE total space | | !SEUsedSpace | bigint(20) | YES | | NULL | | | !GlueSEUsedOnlineSize | SE used space | | !SATotalSpace | bigint(20) | YES | | NULL | | | !GlueSATotalOnlineSize | SA total space | | !SAFreeSpace | bigint(20) | YES | | NULL | | | !GlueSAFreeOnlineSize | SA free space | | Class | varchar(45) | YES | | NULL | | | | Storage Area name | | last_mod_time | timestamp | NO | | CURRENT_TIMESTAMP | | | | | HLRmon shows data aggregated per site, Storage Element and Storage Area. For each of these aggregation keys, and for the interval of time desired, a set of charts with the temporal trend is produced. Charts are available at:<br /> _https://hlrmon-dev.cnaf.infn.it:8443/hlrmon/report/storage.php_ The same information can also be accessed in a tabular form, with the possibility to save it in xls format:<br /> _https://hlrmon-dev.cnaf.infn.it:8443/hlrmon/report/table_storage.php_ A per-VO aggregation is not possible at the moment because a Storage Area can be shared among different VOs. In this case the Glue Schema allows the publication of the space used in the Storage Area, but not of the space used by each VO. For this case is not possible to know the space used by each 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:<br /> _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:<br /> _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
Edit
|
Attach
|
PDF
|
H
istory
:
r11
<
r10
<
r9
<
r8
<
r7
|
B
acklinks
|
V
iew topic
|
More topic actions...
Topic revision: r10 - 2011-07-14
-
EnricoFattibene
Home
Site map
CEMon web
CREAM web
Cloud web
Cyclops web
DGAS web
EgeeJra1It web
Gows web
GridOversight web
IGIPortal web
IGIRelease web
MPI web
Main web
MarcheCloud web
MarcheCloudPilotaCNAF web
Middleware web
Operations web
Sandbox web
Security web
SiteAdminCorner web
TWiki web
Training web
UserSupport web
VOMS web
WMS web
WMSMonitor web
WeNMR web
DGAS Web
Create New Topic
Index
Search
Changes
Notifications
RSS Feed
Statistics
Preferences
View
Raw View
Print version
Find backlinks
History
More topic actions
Edit
Raw edit
Attach file or image
Edit topic preference settings
Set new parent
More topic actions
Account
Log In
Edit
Attach
Copyright © 2008-2022 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki?
Send feedback