Linux DM Multipath

DM-Multipathing (DM-MPIO) provides input-output (I/O) fail-over and load-balancing by using multipath I/O within Linux for block devices.[1][2][3] By utilizing device-mapper, the multipathd daemon provides the host-side logic to use multiple paths of a redundant network to provide continuous availability and higher-bandwidth connectivity between the host server and the block-level device.[4] DM-MPIO handles the rerouting of block I/O to an alternate path in the event of a path failure. DM-MPIO can also balance the I/O load across all of the available paths that are typically utilized in Fibre Channel (FC) and iSCSI SAN environments.[5] DM-MPIO is based on the device mapper, which provides the basic framework that maps one block device onto another.

Considerations

When utilizing Linux DM-MPIO in a datacenter that has other operating systems and multipath solutions, key components of path management must be considered.

History

DM-MPIO started as a patch set created by Joe Thornber, and was later maintained by Alasdair G Kergon at Red Hat. It was included in mainline Linux with kernel version 2.6.12, which was released on June 17, 2005.[6]

Components

Simple multipath example

DM-MPIO in Linux consists of kernel components and user-space components.

Configuration file

The configuration file /etc/multipath.conf makes many of the DM-MPIO features user-configurable. The multipath command and the kernel daemon multipathd use information found in this file. The file is only consulted during the configuration of the multipath devices. Changes must be made prior to running the multipath command. Changes to the file afterwards will require multipath to be executed again.

The multipath.conf has five sections:[7]

  1. System level defaults (defaults): User can override system level defaults.
  2. Blacklisted devices (blacklist): User specifies the list of devices that is not to be under the control of DM-MPIO.
  3. Blacklist exceptions (blacklist_exceptions): Specific devices to be treated as multipath devices even if listed in the blacklist.
  4. Storage controller specific settings (devices): User specified configuration settings will be applied to devices with specified "Vendor" and "Product" information.
  5. Device specific settings (multipaths): Fine tune the configuration settings for individual LUNs.

Terminology

Further reading

References

  1. Goggin, Edward; Kergon, Alasdair; Varoqui, Christophe; Olien, David. "Linux Multipathing" (PDF).
  2. Varoqui, Christophe. "The Linux multipath implementation".
  3. Oberg, Michael. "Exploration of Parallel Storage Architectures for a Blue Gene/L on the TeraGrid" (PDF).
  4. van Vugt, Sander. A Practical Guide to XEN High Availability.
  5. 1 2 3 4 5 SUSE. "Storage Administration Guide, SUSE Linux Enterprise Server 11 SP1" (PDF). SLES11 Documentation, pg. 49.
  6. Linux 2.6.12 kernelnewbies.org
  7. RedHat. "Using Device-Mapper Multipath". Using Device-Mapper Multipath.
  8. Gupta, Meeta (2002). Storage Area Network Fundamentals. Indianapolis, IN: Cisco Press. p. 81. ISBN 1-58705-065-X.
  9. Anderson, Michael. "SCSI Mid-Level Multipath" (PDF).
  10. "Storage Administration Guide, SLES11 Documentation" (PDF). SUSE. p. 73.
  11. 1 2 Centos. "Overview of DM-Multipath". Using Device-Mapper Multipath.

External links

This article is issued from Wikipedia - version of the 11/12/2016. The text is available under the Creative Commons Attribution/Share Alike but additional terms may apply for the media files.