Internet Engineering Task Force Eui-Nam Huh Internet-Draft Kyung Hee University DRINKS Ga-Won Lee Intended status: Informational Kyung Hee University Expires: Aug 16, 2016 Yunkon Kim Kyung Hee University Dongha Oh Consortium of Cloud Computing Research Feb 15, 2016 Software-Defined Storage Reference Model and Use-case draft-sds-reference-usecase-00 Abstract In IoT, IoE era, the cloud needs to accommodate enormous requests, and also the cloud has to provide unlimited scalability, real-time analysis, and workload integration. Thus, inter-cloud storages integration is required and a standard for complete integration between cloud and legacy system is compulsory. Physical host and storage integration from the perspective of bare metal provisioning are also under the spotlight. The SDS is a proper technique to fulfil this issue. According to the increasing demand for software defined storage, it is required to develop software defined storage reference model. Status of This Memo This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet- Drafts is at http://datatracker.ietf.org/drafts/current/. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress." This Internet-Draft will expire on August 16, 2016. Copyright Notice Copyright (c) 2016 IETF Trust and the persons identified as the document authors. All rights reserved. This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License. Table of Contents 1. Introduction ---------------------------------- 2 2. SDS Reference Model and Use-case ------------- 2 2.1 Definition of SDS Related Terms ------ 2 2.2 Reference Model of SDS --------------- 3 2.3 Use-case ----------------------------- 5 3. References ------------------------------------ 9 1. Introduction SDS is one of the important issues in the storage industry trends. Through SDS, a storage technology can be easily controlled by policies and other storage provisioning tasks are able to be controlled through automation method. Therefore, this draft defines functionalities for SDS and specifies use-cases of SDS. 2. SDS Reference Model and Use-case 2.1 Definition of SDS Related Terms 2.1.1 Software Defined Storage(SDS) SDS is a technology model to compose and manage a logical storage pool with physical storage infrastructure using user-level software. By composing a virtual storage pool, SDS enhances the convenience of storage management through allocating storage according to the need of applications and managing it by providing a single software control point based on the user's policies. 2.1.2 Storage Pool A set of specific storage resources for distributed storage. User can compose a storage pool by grouping physical storages and virtualize storage by designating a space in the pool. The storage resources can be provided from different vendors and include all of heterogeneous storages. 2.1.3 Data Pool A data set that enables the sharing of data information through gathering different data information logically. A data pool is principally composed with metadata in order to avoid data redundancy. It is possible to collect, combine, and integrate data using the data pool. The data may be provided from different vendors, and include all data stored in heterogeneous storages. 2.1.4 Data Integration Process of collecting data from various data sources, systems, applications, etc. scattered around a company and refining them into valuable and reusable information, namely, "intelligent information." 2.1.5 Data Abstraction A technique to combine and collect operations and expression types related to a data type. Data abstraction provides programmers with an effective means to organize and use data structures and operations to be used in programming. For example, when a queue, a data type not provided by ordinary programming language, is used in a program, this technique provides the programmer with a means to define operations such as 'Add,' 'Delete,' and 'Empty' and integrate them into a data type to be used. This makes programs more readable and error-free. 2.2 Reference Model of SDS --------------------------------------------------------------------- | Software Defined Storage API | --------------------------------------------------------------------- --------------------------------------------------------------------- | Software Defined Storage | | -------------------------------------------- ---------------- --- | || Control Plane || Policy Plane || || || ------------------------------------------ || -------------- || || ||| Policy-based Administration Controller |||| Service ||| || ||| --------------------- ----------------- |||| Policy ||| || |||| Resource Monitoring || User Requres ||||| Controller ||| || |||| Manager || Manager ||||| ------------ ||| || ||| --------------------- ----------------- |||||Authrization|||| || ||| --------------------- ----------------- |||| ------------ ||| || |||| Virtual Resource || Data Access ||||| ||| || |||| Manager || Manager ||||| ||| || ||| --------------------- ----------------- |||| ||| || || ------------------------------------------ ||| ------------ ||| || | -------------------------------------------- ||| Capability |||| S || | || ------------ ||| e || | -------------------------------------------- || ||| c || || Virtual Data Plane ||| ||| u || || ------------------------------------------ ||| ||| r || ||| Data Pool Controller |||| ------------ ||| i || ||| --------------------- ----------------- |||||Performance |||| t || |||| Data Integration || Data Protection ||||| ------------ ||| y || |||| Manager || Manager ||||| ||| || ||| --------------------- ----------------- |||| ||| P || || ------------------------------------------ ||| ||| l || || ------------------------------------------ ||| ------------ ||| a || ||| Storage Pool Controller ||||| SLA |||| n || ||| --------------------- ----------------- |||| ------------ ||| e || |||| Storage Integration || Storage ||||| ||| || |||| Manager || Performance ||||| ||| || |||| || Manager ||||| ||| || ||| --------------------- ----------------- |||| ------------ ||| || || ------------------------------------------ |||| Billing |||| || || ------------------------------------------ ||| ------------ ||| || ||| Virtual Storage Pool (VSP) |||| ||| || ||| ------------ ----------- ------------- |||| ||| || |||| Block-based|| File-based|| Object-based||||| ||| || |||| VSP || VSP || VSP ||||| ------------ ||| || ||| ------------ ----------- ------------- ||||| QoS |||| || || ------------------------------------------ ||| ------------ ||| || | -------------------------------------------- ---------------- --- | --------------------------------------------------------------------- Figure 1 SDS Functional Reference Model 2.2.1 Control Plane The Control plane is the part of the SDS components model that is concerned with centralized management of storage. This component handles all the storage resources management into one central layer. This component has the authority, control, and responsibility for the entire storage administration through of the Policy-based Administration Controller. 2.2.1.1 Policy-based Administration Controller The Policy-based Administration Controller has the control of resource monitoring, virtual resource managing, configuration service and data access management. The main aim of this component is to reduce operational complexity, improves security, and lowers risk through consistent policy application. * Resource Monitoring Manager - The Resource Monitoring Manager handles the monitoring all storage management to have a unified view. * User Request Manager - The User Request Manager processes users' various requests which are related with storage and data. This Manager can provide data and volume of storage what users want. Negotiation might be necessary between users and the User Request Manager. * Virtual Resource Manager - The Administrators can perform storage management tasks with higher productivity in order to increasing the business agility. - The Virtual Resource Manager enables storage tasks load balancing, storage handling, storage access and scaling in/out making managing virtual storage of simple way. * Data Access Manager - The Data Access Manager allows managing easily the storage access with simplified access management. - The Data handling is important to get an efficient and economical storage, retrieval, and disposal of data to ensure that data is not altered, erased, lost or accessed by unauthorized users. 2.2.2 Virtual Data Plane The Virtual Data Plane composes a very large virtual storage pool and to manage it. This Plane provides different types of storage which are DAS, NAS, SAN, Cloud Storage, etc. Key components of this plane are the Data Pool Controller and the Storage Pool Controller for virtual storage pool. 2.2.2.1 Data Pool Controller The Storage Pool Controller is in charge of building virtual data pool and context of data communication in the pool. Storage Pool Controller can handle date that users allow. * Data Integration Manager - The Data Integration Manager has a role to make data pool with data that user allow Data Integration Manager to use or publish. * Data Protection Manager - The Data Protection Manager has a role to preserve data from the fault of system. - It has snapshot, replication, data migration, and self-recovery functions. 2.2.2.2 Storage Pool Controller The Storage Pool Controller is in charge of building virtual storage pool. Heterogeneous storages are used to make virtual storage pool. * Storage Integration Manager - The Storage Integration Manager has a role to integrate external heterogeneous storage to build virtual storage pool. * Storage Performance Manager - The Storage Performance Manager has a role to make performance of system better. - Caching, Thin Provisioning, and Auto-tiering are representative functions. 2.2.3 Policy Plane The Policy Plane manages policy of whole system related with for automated managing the storage and data services. Policy Plane has the Service Policy Controller, and components of this controller are Authorization, Capability, Performance, Availability, SLA, Billing, and QoS. 2.2.4 Security Plane The Security Plane is charging SDS security in general by managing authorization, authentication, data security, etc. This plane provides storage security according to security policy which is established by storage provider/SDS manager/SDS user and managed by Policy Plane. 2.3 Use-case 2.3.1 Handling Heterogeneous Storages with Same API in Storage Allocation and Data Storing Service The SDS can manage almost all heterogeneous storages in one single control point via level management. Heterogeneous storage environment has a Same Function Different Command problem. This problem can be solved using the SDS. 2.3.2 Distributed Storage Allocation in Different Physical Storage Heterogeneous storages which are used to compose virtual storage pool have different characteristics with each other. The SDS can compose different characteristics storages into one local storage pool and control it via one single control point. It is useful to store data dispersedly into appropriate characteristics storage. Moreover, it can contribute to improve data security. 2.3.3 Auto Scale-out for Storage Service Auto scale-out can be supported according to the service policy when storage volume deficit occurs in storage service scenario. User establishes the auto scale-out policy and requests it to SDS Control Plane. Based on polish managed by Policy Plane, Virtual Data Plane assigns user the storage volume and announces the authentication information to user. If storage state changes when user requests the data storing using SDS API, storage assigned to user becomes inability to data storing. In this case, system provides volume snapshot service for data and storage stability, and storage scale increase automatically. Step 1. User requests storage with auto scale-out policy Step 2. Virtual Resource Manager request storage volume assignment Step 3. User storage allocation in Virtual Storage Pool which is composed by Storage Integration Manager Step 4. Storage access information(authentication) is transmitted to user Step 5. User requests data storing by using SDS API and authentication information Step 6. Data Access Manager identifies user authorization. If permission confirms, store data based on user policy Step 7. During repetition of step 5-6, storage volume shortage might be occurs. Then, check user policy and prepare auto scale-out Step 8. To provide stability, Storage Performance Manager snapshots the storage and Virtual Resource Manager assigns new volume 3. References [1] DMTF DSP-IS0501, Software Defined Data Center (SDDC) Definition, 2015 [2] SNIA, Software Defined Storage (White Paper), 2015 [3] VMware, The VMware Perspective on Software-Defined Storage (White Paper), 2014 [4] EMC, Transform Your Storage For The Software Defined Data Center (White Paper), 2015 Appendix A. Acknowledgements This draft is supported by Institute for Information & communications Technology Promotion(IITP) grant funded by the Korea government(MSIP) (R-20150223-000247, Cloud Storage Brokering Technology for Data -Centric Computing Standardization) Authors' Addresses Eui-Nam Huh Computer Science and Engineering Department, Kyung Hee University Yongin, South Korea Phone: +82 (0)31 201 3778 Email: johnhuh@khu.ac.kr Ga-Won Lee Computer Science and Engineering Department, Kyung Hee University Yongin, South Korea Phone: +82 (0)31 201 2454 Email: gawon@khu.ac.kr Yunkon Kim Computer Science and Engineering Department, Kyung Hee University Yongin, South Korea Phone: +82 (0)31 201 2454 Email: ykkim@khu.ac.kr Dongha Oh Consortium of Cloud Computing Research, Seoul, South Korea Phone: +82 (0)2 2052 0158 Email: dongha@cccr.ir.kr