ISCSI multipathing Ubuntu to MSA2313i


I want to loadbalancing a ISCSI connection against my MSA2312i ISCSI SAN that is SCSI-3 ALUA

My problem is that all my traffic is going over one interface,

Is there anyone now how I should write my multipath.conf to make my roundrobin loadbalancing work..

(I got it work once but i dont really know how i did.)

all traffic is on the same LAN but separated by static routes.

trunkated routing table:
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
xx UH        0 0          0 eth3 UH        0 0          0 eth5 UH        0 0          0 eth3 UH        0 0          0 eth5

multipath -ll
data (3600c0ff00011dfd55a24e95201000000) dm-1 HP,MSA2312i
size=7.3T features='1 queue_if_no_path' hwhandler='0' wp=rw
|-+- policy='round-robin 0' prio=130 status=active
| |- 6:0:0:1 sde 8:64 active ready running
| `- 4:0:0:1 sdd 8:48 active ready running
`-+- policy='round-robin 0' prio=10 status=enabled
  |- 3:0:0:1 sdb 8:16 active ready running
  `- 5:0:0:1 sdc 8:32 active ready running
Who is Participating?
SandyConnect With a Mentor Commented:
reload won't effect running IO.

MazdajaiConnect With a Mentor Commented:
You have different path priority (10 and 130) which appears to be the issue.

Do you have prio option set to const in your multipath.conf? (grep prio /etc/multipath.conf)
SandyConnect With a Mentor Commented:
yes, priority must be same

Cloud Class® Course: Microsoft Azure 2017

Azure has a changed a lot since it was originally introduce by adding new services and features. Do you know everything you need to about Azure? This course will teach you about the Azure App Service, monitoring and application insights, DevOps, and Team Services.

Daniel-SanAuthor Commented:
Thanx for you Answers!

No I have multiple prio options in my config, I wish to clean up this config file, but I dont really now what options I DO need and what I dont need. I only have the MSA connected.

Can you guys please advise?

cat /etc/multipath.conf
      defaults {
                udev_dir              /dev
                polling_interval      10
                path_selector         "round-robin 0"
                path_grouping_policy  multibus
                getuid_callout        "/lib/udev/scsi_id --whitelisted --device=/dev/%n"
                prio                  alua
                path_checker          readsector0
                rr_min_io             100
                max_fds               8192
                rr_weight             priorities
                failback              immediate
                no_path_retry         fail
                user_friendly_names   yes
      blacklist {
                # Blacklist by WWID
                wwid "*"

          # Blacklist by device name
             devnode "^sda"

       blacklist_exceptions {
              wwid "3600c0ff00011dfd55a24e95201000000"

      multipaths {
               multipath {
                 wwid 3600c0ff00011dfd55a24e95201000000
                 alias data
      device {
            vendor "HP"
            product "MSA2312fc|MSA2324fc|MSA2312i|MSA2324i|MSA2000s VOLUME"
            path_grouping_policy group_by_prio
            getuid_callout "/sbin/scsi_id -g -u -s /block/%n"
            path_selector "round-robin 0"
            path_checker tur
            features "0"
            hardware_handler "0"
            prio_callout "/sbin/mpath_prio_alua /dev/%n"
            failback immediate
            rr_weight uniform
            no_path_retry 18
            rr_min_io 100

SandyConnect With a Mentor Commented:
prio = const
prio_callout = /sbin/true

I would suggest to use this.

MazdajaiConnect With a Mentor Commented:
prio = alua

Open in new window

prio = const

Open in new window

and reload multipathd:
service multipathd reload
multipath -ll

Open in new window

Daniel-SanAuthor Commented:
Ok, thx all for your answers! Appreciated!

Mazdajai, Is reload an online command? Or will I loose contact with volumes so I need to shut I/O down first?

MazdajaiConnect With a Mentor Commented:
The reload argument means to re-read the multipath.conf.

There should be no downtime but it should be done off business hours if it is production.
Daniel-SanAuthor Commented:
Ok, Thank you guys!
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.