Scaricare la presentazione
La presentazione è in caricamento. Aspetta per favore
1
INDIGO-DataCloud MidnightBlue Tutorial Days
CDMI/QoS Enrico Fattibene INFN-CNAF INDIGO-DataCloud MidnightBlue Tutorial Days Bologna, 20/12/2016
2
Indice Cosa è CDMI Supporto a QoS in CDMI
Proposta estensione di CDMI da parte di Indigo Esempi/demo StoRM come backend di CDMI/QoS
3
Cosa è CDMI Cloud Data Management Interface
Standard definito da SNIA (Storage Networking Industry Association) Prima versione di Aprile 2010 Ultima versione di Marzo 2015 Definisce l’interfaccia per la gestione di dati in Cloud Creazione, copia, modifica, cancellazione Permette ai client di conoscere le caratteristiche (capabilities) messe a disposizione dal provider Permette la scrittura dei metadati dei container e dei dati in essi contenuti
4
Termini Data object Capability Container
oggetto che descrive quali operazioni sono supportate per un sistema o per un certo dato Container oggetto che contiene zero o più oggetti figli (container o data object) e relative metadata Data object oggetto che contiene un array di byte e relativi metadata
5
Modelli storage
6
Mapping CDMI
7
CDMI QoS pre-Indigo La versione di CDMI presenta alcuni attributi relativi a Quality of Service cdmi_data_redundancy cdmi_latency cdmi_throughput cdmi_geographic_placement … I valori di questi attributi possono essere definiti nei metadati degli oggetti Il supporto di questi attributi è specificato a livello di capabilities Ad es. cdmi_latency: true Ogni data object ha una capabilitiesURI, un profilo nel quale sono specificati valori di default delle sue capabilities Per ogni metrica supportata, può esistere un valore richiesto dall’utente e un valore realmente fornito dal sistema ad es. per un container o un data object: Latenza richiesta: cdmi_latency: 100 Latenza fornita: cdmi_latency_provided: 200
8
Proposta estensione di CDMI
Indigo ha proposto una estensione di CDMI Rese le capabilitiesURI specificabili (prima non lo erano) all’atto di creazione o modifica di un data object o un container Introdotto il nuovo attributo “cdmi_capabilities_allowed” che mostra le capabilitiesURI verso cui un data object può essere migrato Permettere il cambio di capabilitiesURI solo verso valori elencati in “cdmi_capabilities_allowed” Non permesso il cambio di valore di un singolo attributo Solo intero profilo, indicato dal valore di capabilitiesURI Introdotto il nuovo attributo “cdmi_capabilities_target” che indica lo stato della transizione tra capabilitiesURI diverse
9
Implementazione Indigo
In Indigo WP4.2 è stata sviluppata una implementazione di CDMI A partire dalla CDMI reference implementation di SNIA, java-based E’ una Spring Boot application tramite la quale si può: Ottenere informazioni sui livelli di QoS degli endpoint storage. Per ora supporta: Numero di copie del dato (cdmi_data_redundancy) Geolocazione, paesi in cui il dato si trova (cdmi_geographic_placement) Stima del tempo prima che inizi il trasferimento del primo byte (cdmi_latency) Lista delle «qualità» di storage verso cui una migrazione è ammessa (cdmi_capabilities_allowed) Modificare la QoS Spostando un dato da un profilo ad un altro (ad es. bring online) Può supportare diversi sistemi di storage come backend Tramite realizzazione di plugin
10
Testbed CDMI Gestito dal WP4.2 5 siti Diversi backend KIT (GPFS, HPSS)
PSNC (CEPH) DESY (dCache) 2 siti INFN (Bari e CNAF) Al momento usano filesystem semplice come backend Useranno StoRM quando il plugin StoRM-CDMI sarà completato
11
Monitoraggio testbed Tramite webservice a KIT
Continua verifica dello stato degli endpoint
12
Lettura capabilities di container/data object
Nella sezione «capabilities» sono specificati gli attributi supportati Per gli attributi supportati, i metadati dovrebbero mostrare il corrispondenti valore di default Esempio GET /cdmi_capabilities/container/profile1 HTTP/1.1 Host: cloud.example.com Accept: application/cdmi-capability X-CDMI-Specification-Version: 1.1
13
Lettura capabilities di container/data object
Risposta … { "objectType": "application/cdmi-capability", "objectID": "00007E7F00104BE66AB53A9572F9F51E", "objectName": "cdmi_capabilities/container/profile1", "parentURI": "/cdmi_capabilities/container", "parentID": "00007E7F E42D87EE34F5A6560", "capabilities": "cdmi_capabilities_templates": "true", "cdmi_capabilities_exact_inherit": "true", "cdmi_latency": "true", "cdmi_capabilities_allowed": "true" }, "metadata": "cdmi_latency": "100", "cdmi_data_redundancy": "4", "cdmi_geographic_placement": ["DE", "FR"] "cdmi_capabilities_allowed": ["/cdmi_capabilities/container/profile2"] }
14
Cambio QoS di un data object
Viene richiesta la transizione dalla capabilitesURI (profilo) attuale alla capabilitesURI specificata nella richiesta Mentre la transizione è in atto, l’attributo cdmi_capabilities_target mostra il profilo verso cui il data object è in trasferimento Alla fine della transizione, l’attributo capabilitiesURI deve mostrare il profilo raggiunto Richiesta PUT /user123/container1/myDataobject HTTP/1.1 Host: cloud.example.com Content-Type: application/cdmi-object X-CDMI-Specification-Version: 1.1 { "capabilitiesURI": "/cdmi_capabilities/dataobject/profile2" } Risposta (in caso di successo) HTTP/ No Content
15
Sistemi disco/tape Object Value Path /cdmi_capabilities/container
{} Children DISK TAPE Key Value Data_redundancy 3 Copies Geographical Placement “DE” Latency 100 Key Value Data_redundancy 1 Copies Geographical Placement “DE” Latency 600000
16
Use case bring online 1/6 Richiesta degli attributi del data object da portare online GET /user123/container1/myDataobject?capabilitiesURI;metadata Risposta HTTP/ OK X-CDMI-Specification-Version: 1.1 Content-Type: application/cdmi-object { "capabilitiesURI" : "/cdmi_capabilities/dataobject/tape", "metadata" : { "cdmi_size" : "37", "cdmi_data_redundancy_provided": "3", "cdmi_geographic_placement_provided": ["DE", "FR"], "cdmi_latency_provided": " " } }
17
Use case bring online 2/6 Richiesta della QoS del profilo attuale
GET /cdmi_capabilities/dataobject/tape Risposta "capabilities": { "cdmi_capabilities_templates": "true", "cdmi_capabilities_exact_inherit": "true", "cdmi_data_redundancy": "true", "cdmi_geographic_placement": "true", "cdmi_latency": "true", "cdmi_capabilities_allowed": "true" }, "metadata": "cdmi_data_redundancy": "3", "cdmi_geographic_placement": ["DE", "FR"], "cdmi_latency": " ", "cdmi_capabilities_allowed": ["/cdmi_capabilities/dataobject/disk"] }
18
Use case bring online 3/6 Richiesta della QoS del profilo verso cui è permessa una transizione GET /cdmi_capabilities/dataobject/disk Risposta "capabilities": { "cdmi_capabilities_templates": "true", "cdmi_capabilities_exact_inherit": "true", "cdmi_data_redundancy": "true", "cdmi_geographic_placement": "true", "cdmi_latency": "true", "cdmi_capabilities_allowed": "true" }, "metadata": "cdmi_data_redundancy": "4", "cdmi_geographic_placement": ["DE", "FR"], "cdmi_latency": "100", "cdmi_capabilities_allowed": ["/cdmi_capabilities/dataobject/tape"] }
19
Use case bring online 4/6 Transizione verso il profilo /cdmi_capabilities/container/profile1 PUT /user123/container1/myDataobject HTTP/1.1 Host: cloud.example.com Content-Type: application/cdmi-object X-CDMI-Specification-Version: 1.1 { "capabilitiesURI": "/cdmi_capabilities/dataobject/disk" } Risposta HTTP/ No Content
20
Use case bring online 5/6 Richiesta dello stato del data object in trasferimento GET /user123/container1/myDataobject?capabilitiesURI;metadata Risposta { "capabilitiesURI" : "/cdmi_capabilities/dataobject/tape", "metadata" : { "cdmi_size" : "37", "cdmi_data_redundancy_provided": "3", "cdmi_geographic_placement_provided": ["DE", "FR"], "cdmi_latency_provided": " ", "cdmi_capabilities_target": "/cdmi_capabilities/dataobject/disk" "cdmi_recommended_polling_interval": "10000" } }
21
Use case bring online 6/6 Richiesta dello stato del data object alla fine della transizione GET /user123/container1/myDataobject?capabilitiesURI;metadata Risposta { "capabilitiesURI" : "/cdmi_capabilities/dataobject/disk", "metadata" : { "cdmi_size" : "37", "cdmi_data_redundancy_provided": "4", "cdmi_geographic_placement_provided": ["DE", "FR"], "cdmi_latency_provided": "100", } }
22
Framework CDMI IAM Online CDMI Framework Server CA Storage Endpoints
X509 Trusted OIDC Set UID Online CA Token Translation Service Identity Harm. IAM OpenID Connect CDMI Framework Server Plug-in System SRM RESTful RESTful Direct API Storage Endpoints GRID System GPFS Lustre, CEPH dCache StoRM
23
StoRM QoS StoRM implementa SRM (v. 2.2)
QoS è legata alla Storage Class di una Storage Area T0D1 (filesystem disco) T1D0 (filesystem tape con buffer disco) Si possono definire 2 profili CDMI: disco e tape Per Storage Class T1D0 il cambio di QoS è possibile con bring- online Il file su tape viene copiato sul buffer disco
24
StoRM con CDMI In fase di sviluppo 2 componenti Interfaccia RESTful
CDMI Server In fase di sviluppo 2 componenti Interfaccia RESTful legge/scrive metadati sui file aggiunge richieste bring-online Plugin storm-cdmi Riceve le richieste che l’utente fa al server (info sulle capabilities, bring-online) storm-cdmi Get file metadata Bring file online RESTful Read/Write file metadata Add recall requests Get configuration info StoRM Backend DB POSIX File System
25
Conclusioni CDMI è uno standard per la gestione di dati in Cloud storage Presenta attributi che descrivono QoS In ambito Indigo Proposta estensione per migliorare la gestione del QoS Implementazione server che supporta le estensioni QoS Sistema a plugin per supporto a backend vari Deployment testbed con diversi tipi di backend Plugin StoRM per supportare CDMI/QoS in sviluppo
26
Link utili Interfaccia CDMI SNIA Estensione CDMI per QoS
Estensione CDMI per QoS %20Capabilities%20Selection%20Extension%201.1c.pdf
Presentazioni simili
© 2024 SlidePlayer.it Inc.
All rights reserved.