Storage groups are designed to abstract the concept of individual storage units. Storage groups consist of one or more storage units. End users see only storage groups, and the storage units comprising the group are hidden. Each storage unit within a storage group should therefore have similar performance, and the system will place each VM's storage on an appropriate storage unit within the storage group.
Each storage product offer may be associated with a storage group. A billing entity can thus permit customers to select which storage group they would like to have their virtual disk stored in by choosing the appropriate product offer (by selecting an appropriate disk configuration within the UI). This means that two differently performing storage groups (for instance a group consisting of rotational media disks, and a group consisting of SSDs) can be billed differently.
Storage groups have the following restrictions on their membership:
- Each storage unit within a given storage unit must be of the same type - for instance all NFS storage, or all VMware storage, or all Ceph storage.
- A storage group must either consist solely of local storage units, or must consist solely of remote storage units.
- All the storage units within a storage group must belong to the same cluster; thus a storage group itself belongs to a single cluster, and can only be used by organisations with access to that cluster.
- All remote storage units within a storage group must be accessible to the same set of nodes within a cluster; normally all remote storage units should be accessible to all nodes.
- If you have multiple storage groups, the default storage group should contain the storage unit used to store images. This is particularly important in Virtuozzo (formerly PCS) clusters as these require a separate NFS share specifically for hosting images.
It is possible (by changing the disk configuration) to move a disk between storage groups, in which case it will be allocated to a new storage unit; this will cause a thick copy of the disk. Snapshots may be lost.
It is also possible to move an empty storage unit between storage groups.
Flexiant Cloud Orchestrator has two default storage groups - a local storage group and a remote or shared storage group. The local storage group is intended to contain storage units consisting of node local disks, and the remote/shared storage group is intended to contain storage groups remote to the nodes. Storage units added using the Flexiant Cloud Orchestrator control panel can only be added to remote storage groups; if storage units consisting of local disks are added (following the instructions given on the Local Storage Support page), these will automatically be added to the default local storage group.
Remote storage groups are (optionally) able to contain images. Local storage groups cannot contain images. Fetched images will be fetched to a storage unit group that can contain images, and propagated from there to all storage unit groups on the same cluster that require the image.
For more information about storage groups and how they are used, see Multi-tier storage.