targetd
Summary
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.
Owner
- Name: Andy Grover
- Email: agrover at redhat
Current status
- Targeted release: Fedora 18
- Last updated: Jun 19 2012
- Percentage of completion: 35%
Detailed Description
One common model for deploying a virtual machine cluster is to store all VM disk images on a single storage server. This has a number of benefits. However, it makes provisioning a VM harder, because the admin must 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.
targetd makes this easier by providing a remote API for performing these common operations. This remote API could be called directly by a savvy admin, but its more likely use would be to tie in to higher-level storage array management tools. The initial example of this is libstoragemgmt, which will provide a common command-line and library interface for configuring proprietary storage arrays. Targetd will also be supported, and provide a FOSS-only storage array option.
Benefit to Fedora
Improved storage management, which in turm benefits Fedora's virtualization capabilities.
Scope
Work is isolated to specific packages: targetd, python-lvm, python-rtslib.
How To Test
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
Users may use this plus libstoragemgmt cli to ease storage appliance configuration.
Dependencies
Depends on libstoragemgmt for CLI support, probably not worth doing without it as a consumer of the targetd API.
Contingency Plan
New feature, can push out if necessary.
Documentation
manpage and ancillary documentation will be written by me (the upstream developer).