Skip to content

Understanding multipath Utility to Configure DM-Multipath

4 min read

The multipath utility is the device mapper target auto-configurator, which is used to detect and configure multiple paths to devices. Use the following command to display usage:

# multipath -h
multipath-tools v0.4.9 (05/33, 2016)
Usage:
  multipath [-a|-A|-c|-w|-W] [-d] [-T tm:val] [-r] [-i] [-v lvl] [-p pol] [-b fil] [-q] [dev]
  multipath -l|-ll|-f [-v lvl] [-b fil] [dev]
  multipath -F [-v lvl]
  multipath -t
  multipath -h

Where:
  -h      print this usage text
  -l      show multipath topology (sysfs and DM info)
  -ll     show multipath topology (maximum info)
  -f      flush a multipath device map
  -F      flush all multipath device maps
  -a      add a device wwid to the wwids file
  -A      add devices from kernel command line mpath.wwids
          parameters to wwids file
  -c      check if a device should be a path in a multipath device
  -T tm:val
          check if tm matches the multipathd timestamp. If so val is
          whether or not the device is a path in a multipath device
  -q      allow queue_if_no_path when multipathd is not running
  -d      dry run, do not create or update devmaps
  -t      dump internal hardware table
  -r      force devmap reload
  -i      ignore wwids file
  -B      treat the bindings file as read only
  -b fil  bindings file location
  -w      remove a device from the wwids file
  -W      reset the wwids file include only the current devices
  -p pol  force all maps to specified path grouping policy :
          . failover            one path per priority group
          . multibus            all paths in one priority group
          . group_by_serial     one priority group per serial
          . group_by_prio       one priority group per priority lvl
          . group_by_node_name  one priority group per target node
  -v lvl  verbosity level
          . 0 no output
          . 1 print created devmap names only
          . 2 default verbosity
          . 3 print debug information
  dev     action limited to:
          . multipath named 'dev' (ex: mpath0) or
          . multipath whose wwid is 'dev' (ex: 60051..)
          . multipath including the path named 'dev' (ex: /dev/sda)
          . multipath including the path with maj:min 'dev' (ex: 8:0) 

 

Some of the available options are described as follows:

 

  • -v [verbosity]: Specify the verbosity level when displaying paths and multipaths.
  • -l: List the multipath topology.
  • -ll: List the maximum multipath topology information.
  • -f - Flush a multipath device map. Use -F to flush all multipath device maps.
  • -c: Check if a device should be a path in a multipath device.
  • -p failover | multibus | group_by_serial | group_by_prio |group_by_node_name: Force all maps to the specified path grouping policy.
  • -r: Force device map reload.

 

You can optionally specify a device name to update only the device map that contains the specified device. Use the /dev/sd# format, the major:minor format, the multipath map name (for example, mpathN), or the WWID to specify a device.

 

A sample output of the multipath -ll command is as follows:

# multipath -ll
...
mpathb(36001405346939038cc9480caf0dd9a9d) dm-3 LIO-ORG ,IBLOCK size=10g features='0' hwhandler='0' wp=rw
'-+- policy='service-time 0' prio=1 status=active
'- 2:0:0:2 sdb 8:16 active ready running 

mpatha(36001405a7c28190541f4d61880050090) dm-2 LIO-ORG ,IBLOCK size=10g features='0' hwhandler='0' wp=rw
'-+- policy='service-time 0' prio=1 status=active
      '- 2:0:0:1 sda 8:0     active ready running
... 

 

The output for mpathb is described as follows:

 

  • mpathb: User-friendly device name
  • 36001405346939038cc9480caf0dd9a9d: Unique WWID
  • dm-3: sysfs file name
  • LIO-ORG: Vendor name
  • IBLOCK: Linux BLOCK device
  • size=10g: Size of the DM device
  • features='0': DM features supported
  • hwhandler='0’: Hardware handler
  • wp=rw: Write permission, set to read-write
  • policy='service-time 0': Path selector algorithm
  • prio=1: Path group priority
  • status=active: Path group state
  • 2:0:0:2: SCSI information: host, channel, scsi_id, and LUN
  • sdb: Linux device name
  • 8:16: Major and minor numbers
  • active ready running: DM path and physical path state

 

Related services

KVM VPS hosting

NVMe SSD and full root access, with Free Basic Managed Support.

Unmanaged dedicated servers

full root access and free IPMI KVM, with Free Basic Managed Support.

Linux server management

hardening, patching, monitoring and automation for Ubuntu, Debian, RHEL and AlmaLinux.

Was this answer helpful?

Still stuck? Open a ticket