[CentOS] Multipathing with Sun 7310

Fri May 28 14:06:48 UTC 2010
Alexander Dalloz <ad+lists at uni-x.org>

> Hi Alexander,
>
> thanks for replying, here's my current multipath.conf:
>
> defaults {
>         user_friendly_names yes
> }
>
> blacklist {
>         devnode "^(ram|raw|loop|fd|md|dm-|sr|scd|st)[0-9]*"
>         devnode "^(hd|xvd|vd)[a-z]*"
>         wwid "*"
> }
>
> blacklist_exceptions {
>         wwid "3600144f0fdf58b5c00004bc738070001"
>
>         devices{
>                 device {
>                  vendor "SUN"
>                  product "Sun Storage 7310"
>                 }
>         }
> }
>
> devices {
>          device {
>                  vendor "SUN"
>                  product "Sun Storage 7310"
>                  path_grouping_policy failover
>                  getuid_callout "/sbin/scsi_id -g -u -s /block/%n"
>                  prio_callout "/sbin/mpath_prio_rdac /dev/%n"
>                  features "0"
>                  failback immediate
>                  rr_weight uniform
>                  no_path_retry queue
>                  rr_min_io 1000
>          }
> }
>
> I added "path_grouping_policy failover" because of your message. I also
> noticed, you have path_grouping_policy specified twice; is this on
> purpose?

Sorry, that was a copy&paste&adjustment error on my side.
Just decide for 1 path_grouping_policy. You can find details about
possible settings on

   http://www.centos.org/docs/5/html/5.2/DM_Multipath/config_file_devices.html

> Also, when I activate 'hardware_handler "1 rdac"', the box does not boot
> any more with some rdac driver error message that I can catch since it
> scrolls by fast...

Ok, take it out then.

> with the above multipath.conf it gets even stranger:
>
> [root at dev-db1 ~]# multipath -ll
> sdd: checker msg is "readsector0 checker reports path is down"
> sdh: checker msg is "readsector0 checker reports path is down"
> sdi: checker msg is "readsector0 checker reports path is down"
> sdj: checker msg is "readsector0 checker reports path is down"

Did you try by setting following option?

    path_checker rdac

> C9 Inquiry of device </dev/sda> failed.
> C9 Inquiry of device </dev/sde> failed.
> mpath0 (3600144f0fdf58b5c00004bc738070001) dm-0 SUN,Sun Storage 7310
> [size=50G][features=1 queue_if_no_path][hwhandler=0][rw]
> \_ round-robin 0 [prio=0][active]
>  \_ 0:0:1:0 sda 8:0   [active][ready]
>  \_ 1:0:0:0 sde 8:64  [active][ready]

At least I see 1 path group with 1 path per HBA for the LUN you have
whitelisted.

> however, the system "lives happily", despite the error messages.

Did you test so far a failover case? Does the other paths come up if the
active ones fail?

What device-mapper-multipath knows about SUN storage system by compiled in
default values can be queried by

    multipathd -k"show config" | grep -A8 -B1 "SUN"

Ah, while coming to an end with this mail and considering to check
upstream (http://christophe.varoqui.free.fr/) whether they know about your
specific storage device, I found the infos you need to configure!

    wikis.sun.com/download/attachments/186238602/2010_Q1_ADMIN.pdf

Page 107+108 gives you all required / SUN recommended settings:

device
{
vendor                      "SUN"
product                     "Sun Storage 7310"
getuid_callout              "/sbin/scsi_id -g -u -s /block/%n"
prio_callout                "/sbin/mpath_prio_alua /dev/%n"
hardware_handler            "0"
path_grouping_policy        group_by_prio
failback                    immediate
no_path_retry               queue
rr_min_io                   100
path_checker                tur
rr_weight                   uniform
}

I guess ALUA is enabled by default on the SUN storage 7310, but check it.

> Jens Neu
> Health Services Network Administration

Regards

Alexander