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.
| Section | Description |
|---|---|
| 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. |
defaults Attributes in /etc/multipath.conf
Below is a sample defaults section from /etc/multipath.conf file.
defaults {
polling_interval 10
path_selector "round-robin 0"
path_grouping_policy multibus
uid_attribute ID_SERIAL
prio alua
path_checker readsector0
rr_min_io 100
max_fds 8192
rr_weight priorities
failback immediate
no_path_retry fail
user_friendly_names yes
}
A partial list of attributes defined in the defaults section of the configuration file is as follows:
udev_dir– Directory where udev creates device nodes. The default is /dev.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 groupmultibus: 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 valuegroup_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 is methods 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 multipathdrr_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.
blacklist Section in /etc/multipath.conf
blacklist section from /etc/multipath.conf file.
blacklist {
wwid 26353900f02796769 ### blacklist using WWID
devnode "^sd[a-z]" ### blacklist all scsi Devices
device { ### blacklist by device type
vendor "COMPAQ"
product "HSV110 (C)COMPAQ"
}
}
Use the blacklist section in the /etc/multipath.conf file to exclude devices from being grouped into a multipath device. You can blacklist devices using any of the following identifiers. Use the same identifiers in the blacklist_exceptions section.
WWIDDevice Name: Use the devnode keyword.Device Type: Use the device subsection.
multipaths Section in /etc/multipath.conf
Below is a sample multipaths section from /etc/multipath.conf file.
multipaths {
multipath {
wwid 3600508b4000156d700012000000b0000
alias yellow
path_grouping_policy multibus
path_selector "round-robin 0"
failback manual
rr_weight priorities
no_path_retry 5
}
multipath {
wwid 1DEC_____321816758474
alias red
}
}
Set attributes in the multipaths section of the configuration file for each individual multipath device. These attributes apply to a specified multipath and override the attributes set in the defaults and devices sections.
The above sample multipaths section shows the settings that override the failback and no_path_retry default settings for the first WWID and set aliases for both WWIDs. Valid values for the no_path_retry attribute are:
[n]– The number of retries until multipath stops the queueing and fails the pathfail– Specifies immediate failure (no queueing)queue– Never stop queueing (queue forever until the path comes alive)
devices Section in /etc/multipath.conf
Below is a sample devices section from /etc/multipath.conf file.
devices {
device {
vendor "COMPAQ "
product "HSV110 (C)COMPAQ"
path_grouping_policy multibus
path_checker readsector0
path_selector "round-robin 0"
hardware_handler "0"
failback 15
rr_weight priorities
no_path_retry queue
}
device {
vendor "COMPAQ "
product "MSA1000 "
path_grouping_policy multibus
}
}
DM-Multipath includes support for the most common storage arrays. Run either of the following commands to view information on supported devices:
# multipathd show config # multipath –t
To add a storage device that is not supported by default, obtain the vendor, product, and revision information from the sysfs file system for the storage device and add this to the /etc/multipath.conf file. View the following files to obtain this information:
/sys/block/device_name/device/vendor– Vendor information/sys/block/device_name/device/model– Product information/sys/block/device_name/device/rev– Revision information
