This appendix contains the Multipath-usage.txt file. The file is included with the dm-multipath RPM and provides guidelines for using dm-multipath with Red Hat Cluster Suite for Red Hat Enterprise Linux 4 Update 3:
RHEL4 U3 Device Mapper Multipath Usage Overview ------------ Device Mapper Multipath (DM-MP) allows nodes to route I/O over multiple paths to a storage controller. A path refers to the connection from an HBA port to a storage controller port. As paths fail and new paths come up, DM-MP reroutes the I/O over the available paths. When there are multiple paths to a storage controller, each path appears as a separate device. DM-MP creates a new device on top of those devices. For example, a node with two HBAs attached to a storage controller with two ports via a single unzoned FC switch sees four devices: /dev/sda, /dev/sdb, /dev/sdc, and /dev/sdd. DM-MP creates a single device, /dev/mpath/mpath1 that reroutes I/O to those four underlying devices. DM-MP consists of the following components: o dm-multipath kernel module -- This module reroutes I/O and fails over paths and path groups. o multipath command -- This command configures, lists, and removes multipath devices. The command is run in rc.sysinit during startup, and by udev, whenever a block device is added. o multipathd daemon -- This daemon monitors paths, checking to see if faulty paths have been fixed. As paths come back up, multipathd may also initiate path group switches to ensure that the optima path group is being used. Also, it is possible to interactively modify a multipath device. o kpartx command -- This command creates Device Mapper devices for the partitions on a device. It is necessary to use this command for DOS- based partitions with DM-MP. DM-MP works with a variety of storage arrays. It auto-configures the following storage arrays: o 3PARdata VV o Compaq HSV110 o Compaq MSA1000 o DDN SAN DataDirector o DEC HSG80 o EMC SYMMETRIX o EMC CLARiiON o FSC CentricStor o HITACHI DF400 o HITACHI DF500 o HITACHI DF600 o HP HSV110 o HP HSV210 o HP A6189A o HP Open- o IBM 3542 o IBM ProFibre 4000R o NETAPP o SGI TP9100 o SGI TP9300 o SGI TP9400 o SGI TP9500 o STK OPENstroage D280 o SUN StorEdge 3510 o SUN T4 Storage arrays not included in the list may require entries in the /etc/multipath.conf file. NOTE: Some storage arrays require special handling of I/O errors and path-group switching. Those require separate hardware handler kernel modules. Terms and Concepts --------------------- Hardware Handler: A kernel module that performs hardware-specific actions when switching path groups and dealing with I/O errors. Path: The connection from an HBA port to a storage controller port for a LUN. Each path appears as a separate device. Paths can be in various states (refer to "Path States"). Path States: ready - Path is able to handle I/O requests. shaky - Path is up, but temporarily not available for normal operations. faulty - Path is unable to handle I/O requests. ghost - Path is a passive path, on an active/passive controller. NOTE: The shaky and ghost states only exist for certain storage arrays. Path Group: A grouping of paths. With DM-MP, only one path group--the active path group--receives I/O at any time. Within a path group, DM-MP selects which ready path should receive I/O in a round robin fashion. Path groups can be in various states (refer to "Path Group States"). Path Group States: active - Path group currently receiving I/O requests. enabled - Path groups to try if the active path group has no paths in the ready state. disabled - Path groups to try if the active path group and all enabled path groups have no paths in the active state. NOTE: The disabled state only exists for certain storage arrays. Path Priority: Each path can have a priority assigned to it by a callout program. Path priorities can be used to group paths by priority and change their relative weights for the round robin path selector. Path Group Priority: Each path group has a priority that is equal to the sum of the priorities of all the non-faulty paths in the group. By default, the multipathd daemon tries to ensure that the path group with the highest priority is always in the active state. Failover: When I/O to a path fails, the dm-multipath module tries to switch to an enabled path group. If there are no enabled path groups with any paths in the ready state, dm-multipath tries to switch to a disabled path group. If necessary, dm-multipath runs the hardware handler for the multipath device. Failback: At regular intervals, multipathd checks the current priority of all path groups. If the current path group is not the highest priority path group, multipathd reacts according to the failback mode. By default, multipathd immediately switches to the highest priority path group. Other options for multipathd are to (a) wait for a user-defined length of time (for the path groups to stabilize) and then switch or (b) for multipathd to do nothing and wait for manual intervention. Failback can be forced at any time by running the multipath command. Multipath device: The multipath device is the device mapper device created by dm-multipath. A multipath device can be identified by either its WWID or its alias. A multipath device has one or more path groups. It also has numerous attributes defined in the following file: /usr/share/doc/device-mapper-multipathd-0.4.5/multipath.conf.annotated alias: The alias is the name of a multipath device. By default, the alias is set to the WWID. However, by setting the "user_friendly_names" configuration option, the alias is set to a unique name of the form mpath<n>. The alias name can also be explicitly set for each multipath device in the configuration file. NOTE: While the alias in guaranteed to be unique on a node, it is not guaranteed to be the same on all nodes using the multipath device. Also, it may change. WWID: The WWID (World Wide Identifier) is an identifier for the multipath device that is guaranteed to be globally unique and unchanging. It is determined by the getuid callout program. Using DM-MP ------------------------------------ Initial setup: 1. If it is not already installed. Install the device-mapper-multipath package. 2. Edit /etc/multipath.conf. For new installations, all devices are blacklisted. The default blacklist is listed in the commented out section of /etc/multipath.conf. If you comment out or delete the following lines in /etc/multipath.conf, the default blacklist takes effect: devnode_blacklist { devnode "*" } For some conditions, that may not be sufficient. If DM-MP is multipathing devices that you do not want it to work on, you can blacklist the devices by either device name or WWID. NOTE: It is safest to blacklist individual devices by WWID, because their device names may change. Several other configuration options are detailed later in this document. To check the effects of configuration changes, you can do a dry run with the following command: # multipath -v2 -d 3. Set the multipathd init script to run at boot time. by issuing the commands # chkconfig --add multipathd # chkconfig multipathd on 4. start dm-multipath (This is only necessary the first time. On reboot, this should happen automatically). # multipath # /etc/init.d/multipathd start After initial setup, all access to the multipathed storage should go through the multipath device. Configuration File: Many features of DM-MP are configurable using the configuration file, /etc/multipath.conf. For a complete list of all options with descriptions, refer to /usr/share/doc/device-mapper-multipathd-0.4.5/multipath.conf.annotated The configuration file is divided into four sections: system defaults, blacklisted devices (devnode_blacklist), per storage array model settings (devices), and per multipath device settings (multipaths). The per multipath device settings are used for the multipath device with a matching "wwid" value. The per storage array model settings are used for all multipath devices with matching "vendor" and "product" values. To determine the attributes of a multipath device, first the per multipath settings are checked, then the per controller settings, then the system defaults. The blacklisted device section is described setup step 2. NOTE: There are compiled-in defaults for the "defaults", "devnode_blacklist", and "devices" sections of the configuration file. To see what these are, refer to the following file: /usr/share/doc/device-mapper-multipathd-0.4.5/multipath.conf.synthetic If you are using one of the storage arrays listed in the preceding text (in "Overview"), you probably do not need to modify the "devices" subsection. If you are using a simple disk enclosure, the defaults should work. If you are using a storage array that is not listed, you may need to create a "devices" subsection for your array. Explanation of output ----------------------- When you create, modify, or list a multipath device, you get a printout of the current device setup. The format is as follows. For each multipath device: action_if_any: alias (wwid_if_different_from_alias) [size][features][hardware_handler] For each path group: \_ scheduling_policy [path_group_priority_if_known] [path_group_status_if_known] For each path: \_ host:channel:id:lun devnode major:minor [path_status] [dm_status_if_known] NOTE: The preceding lines for path group and path were broken because of print limitations. The dm status (dm_status_if_known) is like the path status (path_status), but from the kernel's point of view. The dm status has two states: "failed", which is analogous to "faulty", and "active" which covers all other path states. Occasionally, the path state and the dm state of a device will temporarily not agree. NOTE: When a multipath device is being created or modified, the path group status and the dm status are not known. Also, the features are not always correct. When a multipath device is being isted, the path group priority is not known. Restrictions --------------- DM-MP cannot be run on either the root or boot device. Other Sources of information ---------------------------- Configuration file explanation: /usr/share/doc/device-mapper-multipathd-0.4.5/multipath.conf.annotated Upstream documentation: http://christophe.varoqui.free.fr/wiki/wakka.php?wiki=Home mailing list: [email protected] Subscribe to this from https://www.redhat.com/mailman/listinfo/dm-devel. The list archives are at https://www.redhat.com/archives/dm-devel/ Man pages: multipath.8, multipathd.8, kpartx.8 mpath_ctl.8 |