The main configuration file for DM-Multipath is /etc/multipath.conf. This file is not created by the initial installation of the RPM package. However, the following file is installed in the /usr/share/doc/device-mapper-multipath-<version> directory:
- multipath.conf – Basic configuration file with some examples for DM-Multipath. This file is used to create the /etc/multipath.conf file.
The multipath.conf file contains the following sections, and each section contains one or more attributes or subsections.
- defaults – Defines the default settings for DM-Multipath. These settings can be overwritten by the devices and multipaths sections.
- blacklist – Defines the devices to be excluded from the multipath topology discovery. Devices that are blacklisted are not grouped into a multipath device.
- blacklist_exceptions – Defines the devices to be included in the multipath topology discovery, even if the devices are listed in the blacklist section
- multipaths – Defines settings for individual multipath devices. Devices are identified by the wwid keyword. Settings in this section have top priority.
devices – Defines settings for individual storage controller types. Controller types are identified by vendor, product, and revision keywords, which must match the sysfs information about the device.
A partial list of attributes defined in the defaults section of the configuration file is as follows:
- polling_interval – Interval in seconds that paths are checked. The default is 5 seconds.
path_selector – One of the following path selector algorithms to use:
- round-robin 0: Loop through every path sending the same amount of I/O to each. This is the default.
- queue-length 0: Send I/O down a path with the least amount of outstanding I/O.
- service-time 0: Send I/O down a path based on the amount of outstanding I/O and relative throughput.
path_grouping_policy – Paths are grouped into path groups. The policy determines how path groups are formed. There are five different policies.
- failover: One path per priority group
- multibus: All paths in one priority group. This is the default.
- group_by_serial: One priority group per storage controller (serial number)
- group_by_prio: One priority group per priority value
- group_by_node_name: One priority group per target node name
prio – One of the following methods is used to obtain a path priority value:
- const – Set a priority of one to all paths. This is the default.
- emc – Generate the path priority for EMC storage arrays.
- alua – Generate the path priority based on the SCSI-3 Asymmetric Logical Unit Access (ALUA) settings. ALUA allows a device to report the state of its ports to hosts. This state is used by hosts to prioritize paths and make failover and load-balancing decisions.
- tpg_pref – Generate the path priority based on the SCSI-3 ALUA settings, using the preferred port bit.
- ontap – Generate the path priority for NetApp storage arrays.
- rdac – Generate the path priority for LSI/Engenio/NetApp E-Series Redundant Disk Array Controller (RDAC).
- hp_sw – Generate the path priority for Compaq/HP controller in Active/Standby mode.
- hds – Generate the path priority for Hitachi HDS Compaq/HP controller in active/standby mode.
path_checker – One of the following methods is used to determine the paths’ state:
- readsector0 – Read the first sector of the device. This is the default.
- tur – Issue a Test Unit Ready (TUR) command to the device.
- emc_clarrion – Query the EMC CLARiiON-specific EVPD page 0xC0 to determine the path state.
- hp_sw – Check the path state for HP storage arrays with the Active/Standby firmware.
- rdac – Check the path state for the LSI/Engenio/NetApp E-Series RDAC.
- directio – Read the first sector with direct I/O.
- rr_min_io – The number of I/O to route to a path before switching to the next path in the same path group. This is for systems running kernels older than 2.6.31. Newer systems use rr_min_io_rq. The default is 1000.
- max_fds – The maximum number of file descriptors that can be opened by multipath and multipathd
- rr_weight – The path weight. Possible values are priorities or uniform.
failback – One of the following methods is used to manage path group failback:
- immediate – Fail back immediately to the highest priority path group that contains active paths.
- manual – Do not perform automatic failback.
- followover – Perform automatic failback only when the first path of a path group becomes active.
- values > 0 – This indicates the time to defer failback in seconds.
Refer to the multipath.conf(5) man page for additional attributes and details