10.5 Storage Provisioning in Software Defined Storage Environment


In traditional storage environments, a storage space request from a user is provisioned by storage administrator upon checking the availability of the storage space in the storage box zoned to the user server. If the storage space is not available in the storage system, the storage admin have to do some additional tasks to free up the space in order to provision the user with the requested storage space.

Whereas in software-defined storage system, the control plane controls the asset discovery, resource abstraction and pooling, provisioning resources for services, and providing support for data protection. The control plane in software-defined storage is implemented by SDS controller software, which enables storage management and provisioning.

An SDS controller commonly provides two native user interfaces: a command-line interface (CLI) and a graphical user interface (GUI). Both the interfaces may either be integrated into the controller, or may be external to it. The CLI provides granular access to the controller’s functions and more control over controller operations as compared to the GUI. 

Also Read: Software Defined Storage Overview

The GUI is a browser-based interface that can be used with a supported web browser. The GUI may be used by both storage administrators and by end users. The GUI has two views: an administrator view and a user view. The administrator view enables an administrator to carry out tasks such as managing the infrastructure, creating service catalogs, and defining storage services. The user view enables an end user to access the service catalog and self-provision storage services.

How automated storage provisioning works in Software-define storage infrastrucutre ?

An SDS controller automatically detects an asset when it is added to the SDS environment. The controller uses the asset’s credentials to connect to it over the network, and either obtains or confirms its configuration information. Examples of assets are storage systems, storage networks, compute systems and clusters, and data protection solutions. This process is called Asset Discovery

Next, the SDS controller exposes the storage infrastructure through a simplified model, hiding and handling details such as storage system and disk selection, LUN creation, LUN masking, and the differences between the storage systems. The SDS controller leverages the intelligence of individual storage systems. It abstracts storage across the physical storage systems and manages individual components. This allows administrators and users to treat storage as a large resource. It enables focusing just on the amount of storage needed, and the performance and protection characteristics required. This is know an Resource abstraction and pooling

After configuring the storage abstractions, an administrator customizes and exposes storage services by creating service catalogs for tenants. The administrator uses the GUI’s administrator view to create storage services and organize them into categories in a service catalog. The user view of the GUI provides users within a tenant with access to their service catalog. The user view presents all the services and categories that are available for provisioning for a specific user. Users can request a service by simply clicking the service and placing a request to run it. Some SDS platforms may not provide an interface for users to request services, and require the use of external client software.

Also Read: How Data is stored and Retrieved from Object Based Storage Systems ?

The service catalog provides the tenant users with access to the set of predefined storage services. An administrator can create different categories of services such as block service, file service, and object service. The administrator can configure the different services within each category, and also restrict them to specific users or user groups.

An SDS controller automates the provisioning of resources when a user requests for a service. It employs a policy-based placement algorithm to find the best fit in the infrastructure to fulfill user requests for data services. The SDS controller uses orchestration for automating the provisioning process. Orchestration uses workflows to automate the arrangement, coordination, and management of various functions required to provision resources. As a result, provisioning does not require administrator or user interaction.

Different types of storage services offered in the service catalogue 
  • Create a block volume: A user can create a block storage volume by selecting a virtual storage system and virtual pool. On receiving the request, the SDS controller chooses the physical pool from the selected virtual pool and storage system. It creates a block volume, which corresponds to a LUN on the storage system.
  • Delete a block volume: A user can delete an existing volume. On receiving the request, the SDS controller destroys the volume from the physical storage pool.
  • Bind a block volume to compute: A user can assign a block volume to a selected compute system/cluster. On receiving this request, the SDS controller binds the block volume to the specified compute system/cluster. However, the volume cannot be written to or read from unless it is mounted.
  • Unbind block volume from compute: A user can unbind a volume from a compute system/cluster. This simply makes the block volume invisible to the compute.
  • Mount a block volume: A user can mount a block volume on a compute system/cluster. The SDS controller sends commands to the OS to mount the volume. This operation is specific to the type of OS on the compute system such as Windows, Linux, and ESXi.
  • Unmount block volume: A user can unmount a block volume from a compute system/cluster. On receiving the request, the SDS controller sends commands to the compute to unmount the volume.
  • Expand block volume: A user can expand/extend a block volume by combining it either with a newly created volume or with an existing volume. On receiving the request to expand a volume, the SDS controller commands the storage system to expand the LUN.
  • Create file share: A user can create a new file share. On receiving the request, the SDS controller chooses a physical pool from the selected virtual pool and storage system. For a Windows compute, it creates a new file system from the selected virtual storage system based on the criteria of the selected virtual pool, and creates a CIFS share. For a Linux compute, the SDS controller does the same to create an NFS share.
  • Expand file share: A user can expand a file system. The SDS controller treats all file storage expansion the same without differentiating based on the type of compute. It simply selects the file system and expands it by commanding the storage system to provision more storage.
  • Delete file share: A user can remove a file system. On receiving the request, the SDS controller sends a command to unmount it if it is mounted on a compute, and reclaims the storage on the storage system. When deleting file storage, an SDS controller does not differentiate between Linux or Windows. The file share can be NFS or CIFS.
  • Create an object bucket: A user can create a new object data service bucket to write and read objects. The user can specify attributes for the bucket such as name, owner, namespace, capacity, and access permissions.
  • Edit an object bucket: A user can edit the attributes of an existing object bucket.
  • Delete an object bucket: A user can delete an existing bucket.
  • Ingest file share into an object bucket: A user can perform ingestion of a file share into an existing bucket. This imports data in bulk from an existing file system into the bucket.
Previous: Software Defined Networking (SDN) Overview
Go To >> Index Page




What Others are Reading Now...

0 Comment to "10.5 Storage Provisioning in Software Defined Storage Environment"

Post a Comment