DM-Multipath Configuration File….

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