Array Setup and Networking
cancel
Showing results for 
Search instead for 
Did you mean: 

RHEL6 Multipath.conf Configuration

 
SOLVED
Go to solution
ajburch58
Occasional Visitor

RHEL6 Multipath.conf Configuration

The multipath for our Nimble unit has 4 paths, all of which are active and have the same priority:

mpathd (25ae755c39f9f44946c9ce900ddc4aa62) dm-9 Nimble,Server

size=2.0T features='1 queue_if_no_path' hwhandler='0' wp=rw

`-+- policy='round-robin 0' prio=1 status=active

  |- 17:0:0:0 sds 65:32 active ready running

  |- 18:0:0:0 sdt 65:48 active ready running

  |- 19:0:0:0 sdu 65:64 active ready running

  `- 20:0:0:0 sdv 65:80 active ready running

mpathc (2455e55d26ab2bd436c9ce900ddc4aa62) dm-8 Nimble,Server

size=1.5T features='1 queue_if_no_path' hwhandler='0' wp=rw

`-+- policy='round-robin 0' prio=1 status=active

  |- 5:0:0:0  sdg 8:96  active ready running

  |- 8:0:0:0  sdj 8:144 active ready running

  |- 7:0:0:0  sdi 8:128 active ready running

  `- 6:0:0:0  sdh 8:112 active ready running

Below is the multipath.conf file:

defaults {

     user_friendly_names yes

     find_multipaths yes

     path_checker directio

     polling_interval 5

     no_path_retry fail

     fast_io_fail_tmo 5

     path_grouping_policy multibus

}

blacklist {

     devnode "^(ram|raw|loop|fd|md|dm-|sr|scd|st)[0-9]*"

     devnode "^hd[a-z][[0-9]*]"

     device {

          vendor "*"

          product "*"

     }

}

blacklist_exceptions {

     device {

          vendor "Nimble"

          product "Server"

     }

     device {

          vendor "NETAPP"

          product "LUN"

     }

}

devices {

     device {

          vendor "Nimble"

          product "Server"

          path_grouping_policy group_by_serial

          path_selector "round-robin 0"

          features "1 queue_if_no_path"

          no_path_retry 20

          path_checker tur

          rr_min_io 20

          failback immediate

          rr_weight priorities

     }

     device {

          vendor "NETAPP"

          product "LUN"

          path_grouping_policy group_by_serial

          path_selector "round-robin 0"

          features "1 queue_if_no_path"

          no_path_retry 20

          path_checker tur

          rr_min_io 20

          failback immediate

          rr_weight priorities

     }

}

If I wanted to change it so that there were 2 priorities instead, how would I do that? I need it to look something like:

size=40G features='4 queue_if_no_path pg_init_retries 50 retain_attached_hw_handle' hwhandler='0' wp=rw

|-+- policy='round-robin 0' prio=4 status=active

| |- 1:0:0:0 sda 8:0  active ready running

| `- 2:0:0:0 sdc 8:32 active ready running

`-+- policy='round-robin 0' prio=1 status=enabled

  |- 1:0:1:0 sdb 8:16 active ready running

  `- 2:0:1:0 sdd 8:48 active ready running

1 REPLY
bill53
Occasional Visitor
Solution

Re: RHEL6 Multipath.conf Configuration

Hi AJ,

Interesting question.  I've done a little bit of research and it looks like the solution would have been to use prio_callout.  I saw would have been because it has been removed in RHEL6.  Looking at your request I think you want to avoid using the inter switch link (ISL), is that correct?  If so Nimble has added a feature in the 2.X version where you can tell the Nimble about your configuration and have it avoid the ISL.  This is done by having with a bisect (low vs high) or odd/even IP distribution.  The idea is you would configure your environment with all the odd IP's on one switch and all the even IP's on the other.  This way Nimble knows to send traffic for odd addresses to the correct switch to ensure no ISL is used.  This works the same for bisect but the IP's are low on one switch and high on the other. 

Back to RHEL multipathd I found a great doc here that talks about all the options and mentions the fact that prio_callout is depreciated: https://access.redhat.com/site/documentation/en-US/Red_Hat_Enterprise_Linux/6/pdf/DM_Multipath/Red_Hat_Enterprise_Linux-…

One other thing to mention is in RHEL 6 they change "rr_min_io" to "rr_min_io_rq."  See the doc above for more details.

Let us know if this helps!

Cheers,

Bill