Managing Storage for Virtual Machine Images
Distribution of PubSub+ packaged as a virtual machine broker image will cease as of release 10.8.1 (June 2024). For more details, see the Deprecated Features list.
Solace recommends that you transition to an alternate method of deploying PubSub+ prior to June 2024. Containers offer a flexible way to deploy PubSub+ in a number of environments, virtual machines, and other container platforms. For information about:
-
Setting up containers, see Setting Up Container Images.
-
Deploying PubSub+ container images in production environments, see Deploying PubSub+ Software Event Brokers in a Production Environment.
The software event broker machine image provides a 10 GB partition for storage, which is only enough space for modestly sized storage-elements suitable for use in proof-of-concept deployments.
For production deployments, you must provide additional storage by assigning the event broker's storage-elements to external block devices.
The software event broker requires storage with medium to high bandwidth/IOPS and low latency. The virtual machine image uses settings for the widest compatibility; these settings are not tuned for performance. For information about getting the best storage performance, consult the best practices documentation for your platform.
Remapping the Storage-Group to External Storage
In virtual machine images, the storage-group
is mapped to a volume. To provide sufficient space for the storage-group
in a production environment, you must remap the volumes to external block devices. You can do this using:
cloud-init
at boot timesolacectl
at runtime
Mapping Volumes with cloud-init
You can assign persistent storage volumes to external storage devices with cloud-init
using the solace
moduleʼs storage
directive. The solace
module, shown with its associated configuration_keys
and storage
directives, has the following syntax within #cloud-config
.
#cloud-config solace: configuration_keys: <CONFIGURATION_KEY>: <VALUE> <CONFIGURATION_KEY>: <VALUE> storage: <VOLUME>: device: <DEVICE>
For more information, see Initializing a Machine Image using cloud-init.
Mapping Volumes with solacectl
To set up a storage volume that the Solace PubSub+ application uses as an existing block device, enter the following commands from the Linux Host shell as root:
solacectl service stop
solacectl storage configure [-p] -e <device> <volumes>
Where:
-p
(or --partition
) the partition to setup if there are more than one. Normally this option is not needed.
-e
(or --existing
) specifies to setup a volume as an existing software event broker block device.
device
is the destination device on which to store the volumes.
volumes
is a space-separated list of volume names.
Once volumes have been externalized once, you cannot move them or increase their size using solacectl
again.
For more information, see Managing Storage Volumes.