Linux multipath IO (MPIO) using multipath-tools

Abstract

We recently had the possibility to setup a host machine with multipath I/O. Our main goal by performing these tests was not performance but reliability of the SAN connection. Until recently, every hostbus adapter vendor implemented I/O multipathing in a proprietary way in the card's drivers. With QLogic cards, this proprietary handling of multipathing has been deprecated starting with the version 8 drivers (see below). DM MPIO is the preferred form of MPIO on SLES9 and the only option completely supported by Novell SuSE.

multipath-tools

Step in the multipath-tools package. multipath-tools is an Open Source project to implement I/O multipathing at the OS level. The project delivers hooks with the standard Linux device mapper. A user-space daemon monitors the configured path and switches from one path to another according to the parameters set at configuration time. The main site of the multipath-tools package is christophe.varoqui.free.fr. Currently, the package features kernel modules as well as a user-space path-checker daemon. A command line interface will be available with multipath-tools-0.4.6 that allows runtime changes and status queries. The multipath-tools package provides the following functionality.
multipath
/sbin/multipath, scan the system for multipathed devices, assembles them and update the device-mapper's maps
multipathd
/usr/bin/multipathd, wait for maps events, then execs multipath
devmap-name
/sbin/devmap_name, provides a meaningful device name to udev for devmaps
kpartx
/sbin/kpartx, maps linear devmaps upon device partitions, which makes multipath maps partionable

Supported storage subsystems

  • 3Pardata VV
  • Compaq HSV110 / MSA1000
  • DDN SAN MultiDirector
  • DEC HSG80
  • EMC CLARiiON CX
  • FSC CentricStor
  • HP HSV110 / A6189A
  • Hitachi DF400 / DF500 / DF600 / OPEN-V
  • IBM 3542 / ProFibre 4000R
  • NETAPP
  • SGI TP9100 / TP9300 / TP9400 / TP9500
  • STK OPENstorage DS280
  • SUN StorEdge 3510 / T4

Supported hardware

All SCSI controllers should work, as the MPIO layer is above the hardware layer. multipath-tools have successfully been tested with hostbus adapters from LSI Logic, Emulex and QLogic.

Vendor support

Novell SuSE and RedHat, along with other Linux vendors, push multipath-tools for Linux I/O multipathing in favor of the proprietary in-driver multipathing. multipath-tools are supported on all SuSE platforms: IA32, AMD64/EM64T, IPF/IA64, p-Series (32-bit/64-bit), z-Series (31-bit and 64-bit). They have more information on setting up multipath-tools on SLES. The RedHat device-mapper page has more details on ReadHat and multipath-tools.

Testing multipath-tools on SLES9

The following pages describe our I/O multipath setup with a pair of QLogic 2340 HBAs with FC access to both a Hitachi DF600F and a Hitachi 9500 OPEN-V SAN. The host used for the tests is an HP DL385 (2x AMD Opteron, MegaRAID) running Novell SuSE SLES9 x86_64 SP3.