< Previous | Contents | Next >
4.3. Configuration File Defaults
The /etc/multipath.conf configuration file includes a defaults section that sets the user_friendly_names
parameter to yes, as follows.
defaults {
user_friendly_names yes
}
This overwrites the default value of the user_friendly_names parameter.
The configuration file includes a template of configuration defaults. This section is commented out, as follows.
#defaults {
# udev_dir /dev
# polling_interval 5
# selector "round-robin 0"
# path_grouping_policy failover
# getuid_callout "/lib/dev/scsi_id --whitelisted --device=/dev/%n"
# prio const
# path_checker directio
# rr_min_io 1000
# rr_weight uniform
# failback manual
# no_path_retry fail
# user_friendly_names no
#}
To overwrite the default value for any of the configuration parameters, you can copy the relevant line from this template into the defaults section and uncomment it. For example, to overwrite the
path_grouping_policy parameter so that it is multibus rather than the default value of failover, copy the appropriate line from the template to the initial defaults section of the configuration file, and uncomment it, as follows.
defaults {
user_friendly_names yes path_grouping_policy multibus
}
Table Multipath Configuration Defaults [p. 90] describes the attributes that are set in the defaults section
of the multipath.conf configuration file. These values are used by DM-Multipath unless they are overwritten by the attributes specified in the devices and multipaths sections of the multipath.conf file.
Table 5.3. Multipath Configuration Defaults
Attribute | Description |
polling_interval | Specifies the interval between two path checks in seconds. For properly functioning paths, the interval between checks will gradually increase to (4 * polling_interval). The default value is 5. |
udev_dir | The directory where udev device nodes are created. The default value is /dev. |
multipath_dir | The directory where the dynamic shared objects are stored. The default value is system dependent, commonly /lib/multipath. |
verbosity | The default verbosity. Higher values increase the verbosity level. Valid levels are between 0 and 6. The default value is 2. |
path_selector | Specifies the default algorithm to use in determining what path to use for the next I/O operation. Possible values include: • round-robin 0: Loop through every path in the path group, sending the same amount of I/O to each. • queue-length 0: Send the next bunch of I/O down the path with the least number of outstanding I/O requests. • service-time 0: Send the next bunch of I/O down the path with the shortest estimated service time, which is determined by dividing the total size of the outstanding I/O to each path by its relative throughput. The default value is round-robin 0. |
path_grouping_policy | Specifies the default path grouping policy to apply to unspecified multipaths. Possible values include: • failover = 1 path per priority group • multibus = all valid paths in 1 priority group • group_by_serial = 1 priority group per detected serial number • group_by_prio = 1 priority group per path priority value • group_by_node_name = 1 priority group per target node name. The default value is failover. |
getuid_callout | Specifies the default program and arguments to call out to obtain a unique path identifier. An absolute path is required. The default value is /lib/udev/scsi_id --whitelisted --device=/dev/%n. |
Attribute | Description |
prio | Specifies the default function to call to obtain a path priority value. For example, the ALUA bits in SPC-3 provide an exploitable prio value. Possible values include: • const: Set a priority of 1 to all paths. • emc: Generate the path priority for EMC arrays. • alua: Generate the path priority based on the SCSI-3 ALUA settings. • netapp: Generate the path priority for NetApp arrays. • rdac: Generate the path priority for LSI/Engenio RDAC controller. • hp_sw: Generate the path priority for Compaq/HP controller in active/standby mode. • hds: Generate the path priority for Hitachi HDS Modular storage arrays. The default value is const. |
prio_args | The arguments string passed to the prio function Most prio functions do not need arguments. The datacore prioritizer need one. Example, "timeout=1000 preferredsds=foo". The default value is (null) "". |
features | The extra features of multipath devices. The only existing feature is queue_if_no_path, which is the same as setting no_path_retry to queue. For information on issues that may arise when using this feature, see Section, "Issues with queue_if_no_path feature". |
path_checker | Specifies the default method used to determine the state of the paths. Possible values include: • readsector0: Read the first sector of the device. • tur: Issue a TEST UNIT READY to the device. • emc_clariion: Query the EMC Clariion specific EVPD page 0xC0 to determine the path. • hp_sw: Check the path state for HP storage arrays with Active/ Standby firmware. • rdac: Check the path status for LSI/Engenio RDAC storage controller. • directio: Read the first sector with direct I/O. The default value is directio. |
failback | Manages path group failback. • A value of immediate specifies immediate failback to the highest priority path group that contains active paths. |
Attribute | Description |
• A value of manual specifies that there should not be immediate failback but that failback can happen only with operator intervention. • A numeric value greater than zero specifies deferred failback, expressed in seconds. The default value is manual. | |
rr_min_io | Specifies the number of I/O requests to route to a path before switching to the next path in the current path group. The default value is 1000. |
rr_weight | If set to priorities, then instead of sending rr_min_io requests to a path before calling path_selector to choose the next path, the number of requests to send is determined by rr_min_io times the path's priority, as determined by the prio function. If set to uniform, all path weights are equal. The default value is uniform. |
no_path_retry | A numeric value for this attribute specifies the number of times the system should attempt to use a failed path before disabling queueing. A value of fail indicates immediate failure, without queueing. A value of queue indicates that queueing should not stop until the path is fixed. The default value is 0. |
user_friendly_names | If set to yes, specifies that the system should use the /etc/multipath/ bindings file to assign a persistent and unique alias to the multipath, in the form of mpathn. If set to no, specifies that the system should use the WWID as the alias for the multipath. In either case, what is specified here will be overridden by any device-specific aliases you specify in the multipaths section of the configuration file. The default value is no. |
queue_without_daemon | If set to no, the multipathd daemon will disable queueing for all devices when it is shut down. The default value is yes. |
flush_on_last_del | If set to yes, then multipath will disable queueing when the last path to a device has been deleted. The default value is no. |
max_fds | Sets the maximum number of open file descriptors that can be opened by multipath and the multipathd daemon. This is equivalent to the |
Attribute | Description |
ulimit -n command. A value of max will set this to the system limit from /proc/sys/fs/nr_open. If this is not set, the maximum number of open file descriptors is taken from the calling process; it is usually 1024. To be safe, this should be set to the maximum number of paths plus 32, if that number is greater than 1024. | |
checker_timer | The timeout to use for path checkers that issue SCSI commands with an explicit timeout, in seconds. The default value is taken from /sys/block/sdx/device/timeout, which is 30 seconds as of 12.04 LTS |
fast_io_fail_tmo | The number of seconds the SCSI layer will wait after a problem has been detected on an FC remote port before failing I/O to devices on that remote port. This value should be smaller than the value of dev_loss_tmo. Setting this to off will disable the timeout. The default value is determined by the OS. |
dev_loss_tmo | The number of seconds the SCSI layer will wait after a problem has been detected on an FC remote port before removing it from the system. Setting this to infinity will set this to 2147483647 seconds, or 68 years. The default value is determined by the OS. |