From Fedora Project Wiki

targetd

This feature has been merged into Features/StorageManagement

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

  • Email: agrover at redhat

Current status

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).

Release Notes

Comments and Discussion