Jump to content

Multipath I/O

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by Rob72 (talk | contribs) at 13:28, 14 September 2007 (Linux really did not get multipath IO support in the DM layer until 2.6.13). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

In computer storage, multipath I/O is a fault tolerance technique whereby there is more than one physical path between the CPU in a computer system and its mass storage devices through the buses, controllers, switches, and bridge devices connecting them.

A simple example would be a SCSI disk connected to two SCSI controllers on the same computer or a disk connected to two Fibre Channel ports. Should one controller, port or switch fail, the operating system can route I/O through the remaining controller transparently to the application, with no changes visible to the applications, other than perhaps incremental latency.

Multipath software layers can leverage the redundant paths to provide performance enhancing features, such as dynamic load balancing or traffic shaping.

Multipath I/O implementations

Some operating systems support multipath I/O natively:

  • SGI IRIX - using the LV, XLV and later XVM volume managers (1990s and onwards)
  • AIX - MPIO Driver, AIX 5L 5.2 (October 2002) and later
  • HP-UX - LVM pvlinks, HP-UX 10.0 (1995) and later
  • Linux - multipath driver. Linux kernel 2.6.13 (August 2005)
  • Solaris Multiplexed I/O (MPxIO), Solaris 8 (February 2000) and later
  • Windows MPIO Driver, Windows Server 2003 (April 2003)
  • FreeBSD - GEOM_FOX module

Multipath software products:

See also