Managing Software Event Broker Storage

The software event broker uses a special construct called a storage-group to store state information. The storage-group is further subdivided into storage-elements that allow you to customize the event broker storage resources to meet the needs of your application.

For assistance with planning and optimizing the storage configuration of your deployment, contact Solace.

Understanding the Storage-Group

The event broker maintains a significant amount of state on disk, including spooled messages, runtime configuration, and diagnostic information. This state is represented by a storage unit called a storage-group, which is further organized into directories called storage-elements.

The storage-group is portable—that is, you can map a storage-group to any storage device that meets the capacity, persistence, and performance requirements of the application. In the container filesystem, the storage-group is mounted to /var/lib/solace.

The amount of disk space needed for the storage-group depends on the event broker configuration. See System Resource Requirements for more information.

We recommend that you map the storage-group to external storage and that you use full disk encryption. For more information, see Managing Storage for Container Images.

The storage-group consists of six storage-elements, each of which is independently monitored and managed by the event broker. The storage-elements are described in the table below.

Storage-Group Properties

Storage-Element Purpose Device Considerations Mounted On
jail Stores logs and configuration database backups. Depending on the level of broker activity, the write load of this storage-element can be moderate to high. The contents of this storage-element are not necessary during upgrade but are helpful in the event support is required. /var/lib/solace/jail
var Stores the configuration database. Typically, the write load of this storage-element is low, however, poor device throughput can lead to system instability. The contents of this storage-element must be preserved during upgrades. /var/lib/solace/var
diagnostics Storage for diagnostic information for support. The contents of this storage-element are not necessary during upgrade but are helpful in the event support is required. /var/lib/solace/diagnostics
spool Stores spooled messages. Broker stability and performance is directly related to device performance. The contents of this storage-element must be preserved during upgrades to prevent message loss. /var/lib/solace/spool
spool-cache Stores undelivered messages. Broker stability and performance is directly related to device performance. The contents of this storage-element must be preserved during upgrades to prevent losing undelivered messages. /var/lib/solace/spool-cache
spool-cache-backup Stores runtime information used for recovery after system shutdown. The contents of this storage-element are not necessary during upgrade but are helpful in the event support is required. /var/lib/solace/spool-cache-backup