Common Storage API for RHEL Storage

Latest response

Applicability: Enable users like storage administrators and virtualization management solutions to invoke common storage operations from RHEL servers without using the management utilities that are provided by storage array vendors to manage and administer storage. Next generation data centers need to be equipped with capabilities that prevent vendor lock-in so that customers can leverage the full potential of the cloud by being able to choose software and hardware infrastructure  products that enable them to have options and choice in the long run. This will be an essential piece of that story.


What is in consideration: Support a vendor-agnostic common storage API for management of enterprise-class storage servers. Common storage API Development involves the following:

   * Design an API that Linux management tools will use to control and monitor external storage.
   * Design an API that storage vendors will adhere to in order to provide the hardware-specific plug-in modules that are required to access the storage management functions in their arrays.
   * Implement code that provides this API to system management tools, and passes the necessary operations through the vendor-specific plug-ins to the storage.
   * Work with storage vendors to facilitate the development of the necessary plug-ins to provide the interface to their storage.


The API will be evolving with time and will be limted in it's ability to manage storage gear from vendors who actually implement the vendor specific plug-ins. Red Hat plans to actively work with storage vendirs to promote the adoption of this technology. Initially a CLI shall be implemented using this API to provide sysadmins the capability to issue commands to execute common storage operations like create/delate a LUN, take a snapshot etc. in an in-band manner. The scope of the API shall be initially limited to controlling and managing arrays but shall be eventually expanded to include other devices including switches, HBAs etc.


Why are we doing this: Seamless manageability of storage arrays from RHEL servers to support cloud deployments. Currently all storage hardware comes with it's own set of tools and management utilities that provide a means for executing common storage operations like creating a LUN, deleting a LUN, creating a snap-shot etc. This API will enable doing all of these operations in a vendor agnostic fashion from a RHEL server in-band.


We have FC Storage (Storagetek/Oracle) and iSCSI arrays (LeftHand), a common storage management shoud be great in RHEL7