StorageManagement
Summary
StorageManagement is a collection of storage management tools that includes:
libStorageMgmt - A command line utility and library that provides a vendor agnostic open source storage application programming interface (API) for storage area networks (SAN) and network attached storage (NAS).
targetd - exposes a remote "storage appliance" interface. It allows volumes to be allocated from a pool, and then exported over iSCSI for use by other hosts.
Owners
- Names: Tony Asleson and Andy Grover
- Email: tasleson at redhat dot com, agrover at redhat dot com
Current status
- Targeted release: Fedora 18
- Last updated: Oct 2 2012
- Percentage of completion: 100%
Detailed Description
Today storage arrays have to be manually configured through vendor provided interfaces and APIs. Typically these arrays provide advanced features that if leveraged can provide significant performance and storage utilization improvements. One application that can benefit significantly is virtualized environments.
LibStorageMgmt will allow a common API so that the virtualization framework can code to one API and take advantage of numerous array vendors and provide a unified management experience. With this functionality the VM admin will be able to easily and quickly provision a new VM from a template or an existing VM. With some of the arrays this operation will take seconds instead of minutes to hours.
To facilitate the remote storage management required in advanced virtualization environments, targetd will provide a remote API that will be utilized via a plug-in for libStorageMgmt. This will free the admin from having to log in to the storage server, allocate storage for the volume, and then configure the iSCSI target to export that volume before the VM can use it.
Benefit to Fedora
This feature will allow fedora users the ability to manage their storage arrays programmatically. To allocate/de-allocate/re-size/snapshot/map logical units to host initiators. To leverage FOSS software for their storage needs.
Scope
- LibStorageMgmt dependencis are all met with existing fedora released libraries.
- targetd is isolated to packages: python-lvm, python-rtslib 2.1.fb14+ (must be fb*), python-setproctitle, pyYAML which are all available in Fedora Rawhide.
How To Test
libStorageMgmt automated library and CLI testing will be completed with the use of a simple storage array simulator plug-in. Complete tests for each of the included plug-ins will require vended hardware which may not be available for testing. Plug-ins that are not included with the project will require independent testing by plug-in author.
targetd can be tested on commodity hardware. Creation of a separate LVM volume group for targetd to use for volume allocations, and configure targetd daemon (via configfile). Can then be tested by direct use of HTTP/jsonrpc interface (port 18700) or via libstoragemgmt cli. All targetd rpc methods should be tested.
User Experience
Initial user experience will be limited to a basic scriptable command line interface and library to perform management tasks. In the future additional libraries and applications will benefit from the library which will greatly improve the users experience.
Dependencies
targetd depends on libstoragemgmt for CLI support.
Contingency Plan
None necessary as this is a new feature.
Documentation
- libStorageMgmt Documentation
- manpage and ancillary documentation will be written by upstream developers (Tony & Andy)
- targetd README