Public bug reported: We are trying to activate the active/active configuration in multipathd, for 2 paths between an AMS2100 array and a Ubuntu 12.04 Server.
We set "prio const" in /etc/multipath.conf. After starting the multipath daemon, we observe the following: a) # multipath -ll mpath0 (360060e80104dac0004f349c800000000) dm-0 HITACHI,DF600F size=100G features='1 queue_if_no_path' hwhandler='0' wp=rw |-+- policy='round-robin 0' prio=1 status=active | `- 8:0:0:0 sdc 8:32 active ready running `-+- policy='round-robin 0' prio=0 status=enabled `- 7:0:0:0 sdb 8:16 active ready running Paths have different priorities. b) multipath -v4 Jun 15 16:39:01 | sdb: not found in pathvec Jun 15 16:39:01 | sdb: mask = 0x1f Jun 15 16:39:01 | sdb: dev_t = 8:16 Jun 15 16:39:01 | sdb: size = 209715200 Jun 15 16:39:01 | sdb: subsystem = scsi Jun 15 16:39:01 | sdb: vendor = HITACHI Jun 15 16:39:01 | sdb: product = DF600F Jun 15 16:39:01 | sdb: rev = 0000 Jun 15 16:39:01 | sdb: h:b:t:l = 7:0:0:0 Jun 15 16:39:01 | sdb: serial = 830530000000 Jun 15 16:39:01 | sdb: get_state Jun 15 16:39:01 | loading /lib/multipath/libchecktur.so checker Jun 15 16:39:01 | sdb: path checker = tur (controller setting) Jun 15 16:39:01 | sdb: state = running Jun 15 16:39:01 | sdb: state = 3 Jun 15 16:39:01 | loading /lib/multipath/libpriohds.so prioritizer Jun 15 16:39:01 | sdb: prio = hds (controller setting) Jun 15 16:39:01 | sdb: prio args = (null) (controller setting) Jun 15 16:39:01 | sdb: hds prio: VENDOR: HITACHI Jun 15 16:39:01 | sdb: hds prio: PRODUCT: DF600F Jun 15 16:39:01 | sdb: hds prio: SERIAL: 0x3000 Jun 15 16:39:01 | sdb: hds prio: LDEV: 0x0000 Jun 15 16:39:01 | sdb: hds prio: CTRL: 1 Jun 15 16:39:01 | sdb: hds prio: PORT: E Jun 15 16:39:01 | sdb: hds prio: CTRL ODD, LDEV EVEN, PRIO 0 <---------------- PRIO HERE Jun 15 16:39:01 | sdb: hds prio = 0 Jun 15 16:39:01 | sdb: getuid = /lib/udev/scsi_id --whitelisted --device=/dev/%n (controller setting) Jun 15 16:39:01 | sdb: uid = 360060e80104dac0004f349c800000000 (callout) Jun 15 16:39:01 | Discover device /sys/block/sdc Jun 15 16:39:01 | sdc: not found in pathvec Jun 15 16:39:01 | sdc: mask = 0x1f Jun 15 16:39:01 | sdc: dev_t = 8:32 Jun 15 16:39:01 | sdc: size = 209715200 Jun 15 16:39:01 | sdc: subsystem = scsi Jun 15 16:39:01 | sdc: vendor = HITACHI Jun 15 16:39:01 | sdc: product = DF600F Jun 15 16:39:01 | sdc: rev = 0000 Jun 15 16:39:01 | sdc: h:b:t:l = 8:0:0:0 Jun 15 16:39:01 | sdc: serial = 830530000000 Jun 15 16:39:01 | sdc: get_state Jun 15 16:39:01 | sdc: path checker = tur (controller setting) Jun 15 16:39:01 | sdc: state = running Jun 15 16:39:01 | sdc: state = 3 Jun 15 16:39:01 | sdc: prio = hds (controller setting) Jun 15 16:39:01 | sdc: prio args = (null) (controller setting) Jun 15 16:39:01 | sdc: hds prio: VENDOR: HITACHI Jun 15 16:39:01 | sdc: hds prio: PRODUCT: DF600F Jun 15 16:39:01 | sdc: hds prio: SERIAL: 0x3000 Jun 15 16:39:01 | sdc: hds prio: LDEV: 0x0000 Jun 15 16:39:01 | sdc: hds prio: CTRL: 2 Jun 15 16:39:01 | sdc: hds prio: PORT: E Jun 15 16:39:01 | sdc: hds prio: CTRL EVEN, LDEV EVEN, PRIO 1 <--------------- PRIO HERE Jun 15 16:39:01 | sdc: hds prio = 1 Jun 15 16:39:01 | sdc: getuid = /lib/udev/scsi_id --whitelisted --device=/dev/%n (controller setting) Jun 15 16:39:01 | sdc: uid = 360060e80104dac0004f349c800000000 (callout) In this output, the 2 paths have different priorities and even if we have set "prio const" in our configuration file, multipathd sets prio hds on its own. c) # echo "show config" | multipathd -k device { vendor "HITACHI " product "DF600F.*" path_grouping_policy multibus getuid_callout "/lib/udev/scsi_id --whitelisted --device=/dev/%n" path_checker tur checker tur prio const no_path_retry queue } This is the last device entry in the configuration of the running daemon. d) iostat -m 2 Device: tps MB_read/s MB_wrtn/s MB_read MB_wrtn sda 0.00 0.00 0.00 0 0 dm-0 775.50 96.72 0.00 193 0 dm-1 0.00 0.00 0.00 0 0 dm-2 0.00 0.00 0.00 0 0 dm-3 0.00 0.00 0.00 0 0 sdb 0.00 0.00 0.00 0 0 sdc 775.50 96.72 0.00 193 0 <----- All I/O on one device only. NOTE: AMS2100 and higher models support active/active architecture and all paths are considered owner paths and can accept I/O from all available/assigned ports. Below are system specifics: 1) lsb_release -rd Description: Ubuntu 12.04 LTS Release: 12.04 2) Package version multipath-tools: Installed: 0.4.9-3ubuntu5 Candidate: 0.4.9-3ubuntu5 Version table: *** 0.4.9-3ubuntu5 0 500 http://gr.archive.ubuntu.com/ubuntu/ precise/main amd64 Packages 100 /var/lib/dpkg/status ** Affects: multipath-tools (Ubuntu) Importance: Undecided Status: New -- You received this bug notification because you are a member of Ubuntu Server Team, which is subscribed to multipath-tools in Ubuntu. https://bugs.launchpad.net/bugs/1013724 Title: Setting "prio const" in multipath.conf has no effect To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/multipath-tools/+bug/1013724/+subscriptions -- Ubuntu-server-bugs mailing list Ubuntu-server-bugs@lists.ubuntu.com Modify settings or unsubscribe at: https://lists.ubuntu.com/mailman/listinfo/ubuntu-server-bugs