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:

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 time
  • solacectl 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.