Multipath command output - Help with understanding output

Bryn M. Reeves bmr at redhat.com
Tue Oct 13 17:37:02 UTC 2009


On Tue, 2009-10-13 at 10:48 -0600, Phil Meyer wrote:
> Yes, multipath -l may not show anything.  multipath -v3 should always 

multipath -l and multipath -ll will always produce output when there is
an active multipath device on the system (as is the case here) but
that's not what the OP was asking about.

> show similar to the output above, and what you see is that it found two 
> paths to the same device, which is good.  It is also going to round 
> robin reads and writes, which is also good.

That's not correct - the output shows two path groups and the device is
using group_by_prio path grouping policy:

mpath0: pgpolicy = group_by_prio (controller setting)
[...]
multipath -ll
mpath0 (3600c0ff000d7ba4f4575b24a01000000) dm-0 HP,MSA2012sa
[size=9.1T][features=1 queue_if_no_path][hwhandler=0][rw]
\_ round-robin 0 [prio=50][active]
 \_ 0:0:0:1 sda 8:0   [active][ready]
\_ round-robin 0 [prio=10][enabled]
 \_ 1:0:0:2 sdb 8:16  [active][ready]

So the I/O will only flow over one of these path groups until there is a
failure and we switch to the other path group. I think the newer MSAs
(which this is) do support ALUA which would allow you to distribute the
I/O with some penalty on the non-preferred paths but the default
multipath configuration for this model of MSA will not do this.

> You may want to customize things a bit to make it easier to remember, or 
> in case you add another unit or device.
> 
> I would suggest adding at least these to /etc/multipath.conf:
> 
> multipaths {
>      multipath {
>          uuid       3600c0ff000d7ba4f4575b24a01000000
>         failback        immediate
>          rr_min_io        1000
>          alias            san1
>      }

The OP was already using the "user_friendly_names" feature. Although
adding explicit aliases is useful in some situations many users prefer
to just use the automatically assigned mpathN names.

> devices {
>      device {
>          vendor            "HP"
>          product            "MSA2"
>          features        "1 queue_if_no_path"
>          path_checker        tur
>      }
> }

Why would you override the compiled-in settings for this storage
controller with this? There are two different generations of MSA2*
firmware out there which need different handling - the compiled in
defaults are careful to select the appropriate settings by matching
against the exact product string ("MSA2[02]12fc|MSA2012i" vs. 
"MSA2012sa|MSA23(12|24)(fc|i|sa)").

Regards,
Bryn.





More information about the fedora-list mailing list