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.
In versions of SolOS prior to 9.12, the storage-elements
were typically externalized to separate storage volumes and mounted to the container using multiple mount points. In version 9.12 and later, the storage-group
is now mapped to a single mount point. For details about how to convert from storage-elements
to the single storage-group
, refer to Converting from Multiple Mount Points to a Single Mount Point
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-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 |