Skip to main content
RunBook Academy

LinuxXVIII · Enterprise StorageMultipath

Multipath and device-mapper - redundant paths to SAN LUNs

Intermediate⏱ ~8 minbashmultipathmultipathdlsblkdmsetup

What you'll learn

  • Explain how device-mapper multipath works
  • Configure multipath for redundant paths to SAN LUNs
  • Verify multipath is working correctly
  • Troubleshoot multipath failures

Prerequisites

Verified against Ubuntu 24.04 LTS · Debian 12 (Bookworm) · RHEL 9.x · Rocky Linux 9.x · AlmaLinux 9.x · Linux kernel 6.1 LTS / 6.6 LTS · systemd 255+ · OpenSSH 8.7p1 (RHEL 9) / 9.6p1 (Ubuntu 24.04) · nftables 1.0.x · chrony 4.x · Pacemaker 2.1.x · Corosync 3.1.x · 2026-08-09

Not yet marked complete on this device.

Multipath is the standard way to provide redundant paths from a host to a SAN LUN. With multipathd running, the kernel automatically fails over between paths when one becomes unavailable, and the I/O continues uninterrupted.

How multipath works

Read-only / Safemultipath topology
$ multipath -ll /dev/mapper/mpath0
mpath0 (3600508...) dm-2 NETAPP,LUN
size=500G features='1 queue_if_no_path' wp=rw
|-+- policy='service-time 0' prio=50 status=active
| |- 1:0:0:0 sda 8:0   active ready running
| `- 1:0:1:0 sdb 8:16  active ready running
`-+- policy='service-time 0' prio=10 status=enabled
|- 1:0:2:0 sdc 8:32  active ready running
`- 1:0:3:0 sdd 8:48  active ready running

Configuring multipath

Read-only / Safemultipath config
$ cat /etc/multipath.conf | head -30
defaults {
user_friendly_names   yes
find_multipaths       yes
path_grouping_policy  group_by_prio
prio                  alua
path_selector         "service-time 0"
path_checker          tur
failback              immediate
no_path_retry         18
}
Data-loss riskstart multipathd
$ systemctl enable --now multipathd; multipath -r; ls /dev/mapper/mpath*
Created symlink /etc/systemd/system/multipath-tools.service...
Created symlink /etc/systemd/system/systemd...service...
mpath0
mpath1

Knowledge check

Knowledge check · 3 questions

  1. Q1. What is the minimum requirement for multipath to provide redundancy?

  2. Q2. no_path_retry decides whether an all-paths-down event returns I/O errors immediately or queues indefinitely, so it has to be set deliberately.

  3. Q3. Which of the following are correct multipath practices? Select all that apply.

Passing score: 75%. Answers are checked in this browser.