StorPool Distributed Storage
Introduction
StorPool is distributed data storage software running on standard x86 servers. StorPool aggregates the performance and capacity of all drives into a shared pool of storage distributed among the servers. Within this storage pool the user creates thin-provisioned volumes that are exposed to the clients as block devices. StorPool consists of two parts wrapped in one package - a server and a client. The StorPool server allows a hypervisor to act as a storage node, while the StorPool client allows a hypervisor node to access the storage pool and act as a compute node. In OpenStack terms the StorPool solution allows each hypervisor node to be both a storage and a compute node simultaneously.
Concepts
In a StorPool cluster the user data is stored in virtual volumes managed in a transparent way by the StorPool servers. When needed, a volume is attached to a client host using the StorPool client device driver and exposed to processes running on the host as a block device.
Components
Hosts that will use the StorPool volumes only need to run
the storpool_beacon
(StorPool cluster presence and quorum) and
the storpool_block
(StorPool block device client) services.
On a hyperconverged setup, the hosts will also run the storpool_server
(StorPool data storage) and storpool_mgmt
(StorPool management API)
services. On setups with differentiated storage and client hosts, these
services will only need to run on the storage cluster.