Managing Storage for Virtual Machine Images
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.