Example directory configurations on UNIX and Linux systems
Examples of alternative file system configurations on UNIX and Linux® systems.
You can customize the IBM® MQ directory structure in various ways to achieve a number of different objectives.
- Place the qmgrs and log directories on remote shared file systems to configure a multi-instance queue manager.
- Use separate file systems for the data and log directories, and allocate the directories to different disks, to improve performance by reducing I/O contention.
- Use faster storage devices for directories that have a greater effect on performance. Physical
device latency is frequently a more important factor in the performance of persistent messaging than
whether a device is mounted locally or remotely. The following list shows which directories are most
and least performance sensitive.
- log
- qmgrs
- Other directories, including /usr/mqm
- Create the qmgrs and log directories on file systems that are allocated to storage with good resilience, such as a redundant disk array, for example.
- It is better to store the common error logs in var/mqm/errors, locally, rather than on a network file system, so that error relating to the network file system can be logged.
Figure 1 is a template from which
alternative IBM MQ directory structures are derived. In
the template, dotted lines represent paths that are configurable. In the examples, the dotted lines
are replaced by solid lines that correspond to the configuration information stored in the
AMQ_MQS_INI_LOCATION environment variable, and in the mqs.ini and
qm.ini files.
Note: The path information is shown as it appears in the
mqs.ini or qm.ini files. If you supply path parameters in
the crtmqm command, omit the name of the queue manager directory: the queue
manager name is added to the path by IBM MQ.
Typical directory structure for IBM MQ
Figure 2 is the default directory structure created in IBM MQ by issuing the command crtmqm QM1.
The mqs.ini file has a stanza for the QM1 queue manager, created by referring to the value of DefaultPrefix. The Log stanza in the qm.ini file has a value for LogPath, set by reference to LogDefaultPath in mqs.ini.
Use the optional crtmqm parameters to override the default values of DataPath and LogPath.
Share default qmgrs and log directories
An alternative to Share everything, is to share the qmgrs and log directories separately ( Figure 3 ). In this configuration, there is no need to setAMQ_MQS_INI_LOCATION
as the default mqs.ini is stored in the local
/var/mqm file system. The files and directories, such as
mqclient.ini and mqserver.ini are also not shared.
Share named qmgrs and log directories
The configuration in Figure 4 places the log and qmgrs in a common named remote shared file system called /ha. The same physical configuration can be created in two different ways.- Set
LogDefaultPath=/ha
and then run the command, crtmqm - md /ha/qmgrs QM1. The result is exactly as illustrated in Figure 4. - Leave the default paths unchanged and then run the command, crtmqm - ld /ha/log - md /ha/qmgrs QM1.