4.5. Configuration File Devices
Table 4.3, “Device Attributes” shows the attributes that you can set for each individual storage device in the
devices
section of the multipath.conf
configuration file. These attributes are used by DM-Multipath unless they are overwritten by the attributes specified in the multipaths
section of the multipath.conf
file for paths that contain the device. These attributes override the attributes set in the defaults
section of the multipath.conf
file.
Many devices that support multipathing are included by default in a multipath configuration. The values for the devices that are supported by default are listed in the
multipath.conf.defaults
file. You probably will not need to modify the values for these devices, but if you do you can overwrite the default values by including an entry in the the configuration file for the device that overwrites those values. You can copy the device configuration defaults from the multipath.conf.defaults
file for the device and override the values that you want to change.
To add a device to this section of the configuration file that is not configured automatically by default, you need to set the
vendor
and product
parameters. You can find these values by looking at /sys/block/device_name/device/vendor
and /sys/block/device_name/device/model
where device_name is the device to be multipathed, as in the following example:
[root@cypher-06 ~]#cat /sys/block/sda/device/vendor
WINSYS [root@cypher-06 ~]#cat /sys/block/sda/device/model
SF2372
The additional parameters to specify depend on your specific device. If the device is active/active, you will usually not need to set additional parameters. You may want to set
path_grouping_policy
to multibus
. Other parameters you may need to set are no_path_retry
and rr_min_io
, as described in Table 4.3, “Device Attributes”.
If the device is active/passive, but it automatically switches paths with I/O to the passive path, you need to change the checker function to one that does not send I/O to the path to test if it is working (otherwise, your device will keep failing over). This almost always means that you set the
path_checker
to tur
; this works for all SCSI devices that support the Test Unit Ready command, which most do.
If the device needs a special command to switch paths, then configuring this device for multipath requires a hardware handler kernel module. The current hardware handlers are
emc
and "rdac
. If these are not sufficient for your device, you may not be able to configure the device for multipath.
Attribute | Description | |||||
---|---|---|---|---|---|---|
vendor | Specifies the vendor name of the storage device to which the device attributes apply, for example COMPAQ . | |||||
product | Specifies the product name of the storage device to which the device attributes apply, for example HSV110 (C)COMPAQ . | |||||
bl_product | Specifies a regular expression used to blacklist devices by vendor/product. Note that for a device to get blacklisted, the vendor , product , and bl_product strings must all match. | |||||
path_grouping_policy | Specifies the default path grouping policy to apply to unspecified multipaths. Possible values include:
| |||||
getuid_callout | Specifies the default program and arguments to call out to obtain a unique path identifier. An absolute path is required. | |||||
prio_callout | Specifies the default program and arguments to call out to obtain a path weight. Weights are summed for each path group to determine the next path group to use in case of failure. "none" is a valid value. | |||||
path_checker | Specifies the default method used to determine the state of the paths. Possible values include readsector0 and tur , emc_clariion , hp_sw , and directio . | |||||
path_selector | Specifies the default algorithm to use in determining what path to use for the next I/O operation. | |||||
failback | Specifies path group failback.
| |||||
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 . | |||||
hardware_handler | Specifies a module that will be used to perform hardware specific actions when switching path groups or handling I/O errors. Possible values include 0 , 1 emc , and 1 rdac . The default value is 0 . | |||||
rr_min_io | (RHEL 4.8 and later) 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 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_callout program. Currently, there are priority callouts only for devices that use the group_by_prio path grouping policy, which means that all the paths in a path group will always have the same priority.
| |||||
no_path_retry |
| |||||
flush_on_last_del | (RHEL 4.7 and later) If set to yes , the multipathd daemon will disable queueing when the last path to a device has been deleted. The default value is no . |
The following example shows a
device
entry in the multipath configuration file.
# } # device { # vendor "COMPAQ " # product "MSA1000 " # path_grouping_policy multibus # path_checker tur # rr_weight priorities # } #}