All of lore.kernel.org
 help / color / mirror / Atom feed
* Promise and ALUA
@ 2020-08-10  4:33 McIntyre, Vincent (CASS, Marsfield)
  2020-08-13 20:07 ` Xose Vazquez Perez
  0 siblings, 1 reply; 8+ messages in thread
From: McIntyre, Vincent (CASS, Marsfield) @ 2020-08-10  4:33 UTC (permalink / raw)
  To: dm-devel

Hi,

for many years we have been operating some Promise VTrak arrays
without any use of the ALUA feature (largely so we don't have to
specify LUN affinities as well, which seems to be required).

In the process of upgrading to Debian Buster
(multipath-tools 0.7.9 and kernel 4.19)
I find that I can no longer connect to our Promise arrays.
They are detected but the only useful output I get is

 multipathd[986]: reconfigure (operator)
 multipathd[986]: sdc: alua not supported
 multipathd[986]: sdd: alua not supported
 multipathd[986]: sdr: alua not supported
 multipathd[986]: sde: alua not supported
 multipathd[986]: sdf: alua not supported
 multipathd[986]: sdg: alua not supported
 multipathd[986]: sdh: alua not supported
 multipathd[986]: sdi: alua not supported


I found the note in the manpage about alua being selected by
default for these arrays[1], but I'm taken aback that I'm not
allowed to override this.

Is there really no support any more for choosing whether to use
ALUA or not?

I have tried messing about with detect_prio, dectect_checker
and whatnot, to no avail.

Kind regards
Vince

[1] 9b5ea2eda85ae072cb697310807611c693713c2b
    libmultipath: retain_attached_hw_handler obsolete with 4.3+

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Promise and ALUA
  2020-08-10  4:33 Promise and ALUA McIntyre, Vincent (CASS, Marsfield)
@ 2020-08-13 20:07 ` Xose Vazquez Perez
  2020-08-13 23:51   ` McIntyre, Vincent (CASS, Marsfield)
  0 siblings, 1 reply; 8+ messages in thread
From: Xose Vazquez Perez @ 2020-08-13 20:07 UTC (permalink / raw)
  To: McIntyre, Vincent (CASS, Marsfield), dm-devel

On 8/10/20 6:33 AM, McIntyre, Vincent (CASS, Marsfield) wrote:

> for many years we have been operating some Promise VTrak arrays
> without any use of the ALUA feature (largely so we don't have to
> specify LUN affinities as well, which seems to be required).
> 
> In the process of upgrading to Debian Buster
> (multipath-tools 0.7.9 and kernel 4.19)
> I find that I can no longer connect to our Promise arrays.
> They are detected but the only useful output I get is
> 
>   multipathd[986]: reconfigure (operator)
>   multipathd[986]: sdc: alua not supported
>   multipathd[986]: sdd: alua not supported
>   multipathd[986]: sdr: alua not supported
>   multipathd[986]: sde: alua not supported
>   multipathd[986]: sdf: alua not supported
>   multipathd[986]: sdg: alua not supported
>   multipathd[986]: sdh: alua not supported
>   multipathd[986]: sdi: alua not supported
> 
> 
> I found the note in the manpage about alua being selected by
> default for these arrays[1], but I'm taken aback that I'm not
> allowed to override this.
> 
> Is there really no support any more for choosing whether to use
> ALUA or not?
> 
> I have tried messing about with detect_prio, dectect_checker
> and whatnot, to no avail.

> [1] 9b5ea2eda85ae072cb697310807611c693713c2b
>      libmultipath: retain_attached_hw_handler obsolete with 4.3+

With the next array config and an empty /etc/multipath.conf,
reboot the linux host and put the output of "multipath -ll"
Redundancy Type: Active-Active
LUN Affinity: Enable
ALUA: Enable

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Promise and ALUA
  2020-08-13 20:07 ` Xose Vazquez Perez
@ 2020-08-13 23:51   ` McIntyre, Vincent (CASS, Marsfield)
  2020-08-14  0:24     ` Xose Vazquez Perez
  0 siblings, 1 reply; 8+ messages in thread
From: McIntyre, Vincent (CASS, Marsfield) @ 2020-08-13 23:51 UTC (permalink / raw)
  To: Xose Vazquez Perez; +Cc: dm-devel

On Thu, Aug 13, 2020 at 10:07:49PM +0200, Xose Vazquez Perez wrote:
>On 8/10/20 6:33 AM, McIntyre, Vincent (CASS, Marsfield) wrote:
>
>>for many years we have been operating some Promise VTrak arrays
>>without any use of the ALUA feature (largely so we don't have to
>>specify LUN affinities as well, which seems to be required).
>>
>>In the process of upgrading to Debian Buster
>>(multipath-tools 0.7.9 and kernel 4.19)
>>I find that I can no longer connect to our Promise arrays.
>>They are detected but the only useful output I get is
>>
>>  multipathd[986]: reconfigure (operator)
>>  multipathd[986]: sdc: alua not supported
>>  multipathd[986]: sdd: alua not supported
>>  multipathd[986]: sdr: alua not supported
>>  multipathd[986]: sde: alua not supported
>>  multipathd[986]: sdf: alua not supported
>>  multipathd[986]: sdg: alua not supported
>>  multipathd[986]: sdh: alua not supported
>>  multipathd[986]: sdi: alua not supported
>>
>>
>>I found the note in the manpage about alua being selected by
>>default for these arrays[1], but I'm taken aback that I'm not
>>allowed to override this.
>>
>>Is there really no support any more for choosing whether to use
>>ALUA or not?
>>
>>I have tried messing about with detect_prio, dectect_checker
>>and whatnot, to no avail.
>
>>[1] 9b5ea2eda85ae072cb697310807611c693713c2b
>>     libmultipath: retain_attached_hw_handler obsolete with 4.3+
>
>With the next array config and an empty /etc/multipath.conf,
>reboot the linux host and put the output of "multipath -ll"
>Redundancy Type: Active-Active
>LUN Affinity: Enable
>ALUA: Enable

TL;DR I found a way forward, manually running multipath -a.
Details below, and a suggested tweak to the manpage.

I created a new LUN on the vtrak and mapped it to the test host.
The host sees it, but as expected there's no new multipath yet.
lsscsi does not show a new set of scsi devices either,
which is also expected.

 qla2xxx [0000:04:00.0]-107ff:1: qla2x00_fcport_event_handler: schedule
 qla2xxx [0000:04:00.0]-107ff:1: qla_scan_work_fn: schedule loop resync
 qla2xxx [0000:04:00.0]-280e:1: HBA in F P2P topology.
 qla2xxx [0000:04:00.0]-2814:1: Configure loop -- dpc flags = 0x60.
 qla2xxx [0000:04:00.0]-107ff:1: qla2x00_fcport_event_handler: schedule
 qla2xxx [0000:04:00.0]-2858:1: GID_PT entry - nn 250100015553ce36 pn 260700015553ce36 portid=1e0260.
 qla2xxx [0000:04:00.0]-2858:1: GID_PT entry - nn 250100015553ce36 pn 260600015553ce36 portid=1e0280.
 qla2xxx [0000:04:00.0]-2858:1: GID_PT entry - nn 250000015553ce36 pn 260200015553ce36 portid=1e02a0.
 qla2xxx [0000:04:00.0]-2858:1: GID_PT entry - nn 250000015553ce36 pn 260300015553ce36 portid=1e02c0.
 qla2xxx [0000:04:00.0]-2858:1: GID_PT entry - nn 250000015553ce36 pn 260100015553ce36 portid=1e0300.
 qla2xxx [0000:04:00.0]-2858:1: GID_PT entry - nn 250000015553ce36 pn 260000015553ce36 portid=1e0320.
 qla2xxx [0000:04:00.0]-2858:1: GID_PT entry - nn 250100015553ce36 pn 260500015553ce36 portid=1e0340.
 qla2xxx [0000:04:00.0]-2858:1: GID_PT entry - nn 250100015553ce36 pn 260400015553ce36 portid=1e0360.
 qla2xxx [0000:04:00.0]-2858:1: GID_PT entry - nn 20000024ff002350 pn 21000024ff002350 portid=1e0500.
 qla2xxx [0000:04:00.0]-2858:1: GID_PT entry - nn 200200a098b16b5f pn 203300a098b16b5f portid=1e08a0.
 qla2xxx [0000:04:00.0]-2858:1: GID_PT entry - nn 200200a098b16b5f pn 203200a098b16b5f portid=1e08a1.
 qla2xxx [0000:04:00.0]-2858:1: GID_PT entry - nn 200200a098b16b5f pn 206300a098b16b5f portid=1e08c0.
 qla2xxx [0000:04:00.0]-2858:1: GID_PT entry - nn 200200a098b16b5f pn 204200a098b16b5f portid=1e08c1.
 qla2xxx [0000:04:00.0]-2858:1: GID_PT entry - nn 200200a098b16b5f pn 204300a098b16b5f portid=1e0900.
 qla2xxx [0000:04:00.0]-2858:1: GID_PT entry - nn 200200a098b16b5f pn 205200a098b16b5f portid=1e0920.
 qla2xxx [0000:04:00.0]-2858:1: GID_PT entry - nn 200200a098b16b5f pn 205300a098b16b5f portid=1e0940.
 qla2xxx [0000:04:00.0]-107ff:1: qla_scan_work_fn: schedule loop resync
 qla2xxx [0000:04:00.0]-2858:1: GID_PT entry - nn 200200a098b16b5f pn 206200a098b16b5f portid=1e0960.
 qla2xxx [0000:04:00.0]-286a:1: qla2x00_configure_loop *** FAILED ***.
 qla2xxx [0000:04:00.0]-280e:1: HBA in F P2P topology.
 qla2xxx [0000:04:00.0]-2814:1: Configure loop -- dpc flags = 0x60.
 qla2xxx [0000:04:00.0]-2858:1: GID_PT entry - nn 250100015553ce36 pn 260700015553ce36 portid=1e0260.
 qla2xxx [0000:04:00.0]-2858:1: GID_PT entry - nn 250100015553ce36 pn 260600015553ce36 portid=1e0280.
 qla2xxx [0000:04:00.0]-2858:1: GID_PT entry - nn 250000015553ce36 pn 260200015553ce36 portid=1e02a0.
 qla2xxx [0000:04:00.0]-2858:1: GID_PT entry - nn 250000015553ce36 pn 260300015553ce36 portid=1e02c0.
 qla2xxx [0000:04:00.0]-2858:1: GID_PT entry - nn 250000015553ce36 pn 260100015553ce36 portid=1e0300.
 qla2xxx [0000:04:00.0]-2858:1: GID_PT entry - nn 250000015553ce36 pn 260000015553ce36 portid=1e0320.
 qla2xxx [0000:04:00.0]-2858:1: GID_PT entry - nn 250100015553ce36 pn 260500015553ce36 portid=1e0340.
 qla2xxx [0000:04:00.0]-2858:1: GID_PT entry - nn 250100015553ce36 pn 260400015553ce36 portid=1e0360.
 qla2xxx [0000:04:00.0]-2858:1: GID_PT entry - nn 20000024ff002350 pn 21000024ff002350 portid=1e0500.
 qla2xxx [0000:04:00.0]-2858:1: GID_PT entry - nn 200200a098b16b5f pn 203300a098b16b5f portid=1e08a0.
 qla2xxx [0000:04:00.0]-2858:1: GID_PT entry - nn 200200a098b16b5f pn 203200a098b16b5f portid=1e08a1.
 qla2xxx [0000:04:00.0]-2858:1: GID_PT entry - nn 200200a098b16b5f pn 206300a098b16b5f portid=1e08c0.
 qla2xxx [0000:04:00.0]-2858:1: GID_PT entry - nn 200200a098b16b5f pn 204200a098b16b5f portid=1e08c1.
 qla2xxx [0000:04:00.0]-2858:1: GID_PT entry - nn 200200a098b16b5f pn 204300a098b16b5f portid=1e0900.
 qla2xxx [0000:04:00.0]-2858:1: GID_PT entry - nn 200200a098b16b5f pn 205200a098b16b5f portid=1e0920.
 qla2xxx [0000:04:00.0]-2858:1: GID_PT entry - nn 200200a098b16b5f pn 205300a098b16b5f portid=1e0940.
 qla2xxx [0000:04:00.0]-2858:1: GID_PT entry - nn 200200a098b16b5f pn 206200a098b16b5f portid=1e0960.
 qla2xxx [0000:04:00.0]-289f:1: Device wrap (1e0960).
 qla2xxx [0000:04:00.0]-2869:1: LOOP READY.
 qla2xxx [0000:04:00.0]-286b:1: qla2x00_configure_loop: exiting normally.

I emptied /etc/multipath.conf, ran update-initramfs -u and rebooted.
lsscsi shows multiple paths to the new LUN, but there's no new
multipath - all those shown below were already known to the system.
On earlier versions, the new multipath usually appeared automatically.

# multipath -ll

3600a098000b173f60000079e5da82d73 dm-12 DELL,MD38xxf
size=40T features='5 queue_if_no_path pg_init_retries 50 queue_mode mq' hwhandler='1 rdac' wp=rw
|-+- policy='service-time 0' prio=14 status=active
| |- 1:0:10:0  sdaa 65:160 active ready running
| |- 1:0:12:0  sdac 65:192 active ready running
| |- 1:0:14:0  sdae 65:224 active ready running
| `- 1:0:8:0   sdy  65:128 active ready running
`-+- policy='service-time 0' prio=9 status=enabled
  |- 1:0:11:0  sdab 65:176 active ready running
  |- 1:0:13:0  sdad 65:208 active ready running
  |- 1:0:7:0   sdx  65:112 active ready running
  `- 1:0:9:0   sdz  65:144 active ready running
Aug 14 09:33:02 | sdd: alua not supported
Aug 14 09:33:02 | sdg: alua not supported
Aug 14 09:33:02 | sdag: alua not supported
Aug 14 09:33:02 | sdj: alua not supported
Aug 14 09:33:02 | sdm: alua not supported
Aug 14 09:33:02 | sdp: alua not supported
Aug 14 09:33:02 | sds: alua not supported
Aug 14 09:33:02 | sdv: alua not supported
222e300015555469c dm-10 Promise,VTrak E830f
size=20T features='3 queue_if_no_path queue_mode mq' hwhandler='0' wp=rw
`-+- policy='service-time 0' prio=-1 status=active
  |- 1:0:0:20  sdd  8:48   active ready running
  |- 1:0:1:20  sdg  8:96   active ready running
  |- 1:0:15:20 sdag 66:0   active ready running
  |- 1:0:2:20  sdj  8:144  active ready running
  |- 1:0:3:20  sdm  8:192  active ready running
  |- 1:0:4:20  sdp  8:240  active ready running
  |- 1:0:5:20  sds  65:32  active ready running
  `- 1:0:6:20  sdv  65:80  active ready running
Aug 14 09:33:02 | sdc: alua not supported
Aug 14 09:33:02 | sdf: alua not supported
Aug 14 09:33:02 | sdaf: alua not supported
Aug 14 09:33:02 | sdi: alua not supported
Aug 14 09:33:02 | sdl: alua not supported
Aug 14 09:33:02 | sdo: alua not supported
Aug 14 09:33:02 | sdr: alua not supported
Aug 14 09:33:02 | sdu: alua not supported
2221f000155c0792e dm-11 Promise,VTrak E830f
size=20T features='3 queue_if_no_path queue_mode mq' hwhandler='0' wp=rw
`-+- policy='service-time 0' prio=-1 status=active
  |- 1:0:0:5   sdc  8:32   active ready running
  |- 1:0:1:5   sdf  8:80   active ready running
  |- 1:0:15:5  sdaf 65:240 active ready running
  |- 1:0:2:5   sdi  8:128  active ready running
  |- 1:0:3:5   sdl  8:176  active ready running
  |- 1:0:4:5   sdo  8:224  active ready running
  |- 1:0:5:5   sdr  65:16  active ready running
  `- 1:0:6:5   sdu  65:64  active ready running

However I find that I can do this:

# multipath -v 3 -a 2228a0001558b1855
Aug 14 09:35:56 | set open fds limit to 1048576/1048576
Aug 14 09:35:56 | loading //lib/multipath/libchecktur.so checker
Aug 14 09:35:56 | checker tur: message table size = 3
Aug 14 09:35:56 | loading //lib/multipath/libprioconst.so prioritizer
Aug 14 09:35:56 | foreign library "nvme" loaded successfully
Aug 14 09:35:56 | libdevmapper version 1.02.155 (2018-12-18)
Aug 14 09:35:56 | DM multipath kernel driver v1.13.0
Aug 14 09:35:56 | No matching alias [2228a0001558b1855] in bindings file.
Aug 14 09:35:56 | wrote wwid 2228a0001558b1855 to wwids file
wwid '2228a0001558b1855' added
Aug 14 09:35:56 | unloading const prioritizer
Aug 14 09:35:56 | unloading tur checker

# multipath -v3 -r
Aug 14 09:36:24 | set open fds limit to 1048576/1048576
Aug 14 09:36:24 | loading //lib/multipath/libchecktur.so checker
Aug 14 09:36:24 | checker tur: message table size = 3
Aug 14 09:36:24 | loading //lib/multipath/libprioconst.so prioritizer
Aug 14 09:36:24 | foreign library "nvme" loaded successfully
Aug 14 09:36:24 | delegating command to multipathd

and now the multipath device for the new LUN appears.

# multipath -ll
3600a098000b173f60000079e5da82d73 dm-12 DELL,MD38xxf
size=40T features='5 queue_if_no_path pg_init_retries 50 queue_mode mq' hwhandler='1 rdac' wp=rw
|-+- policy='service-time 0' prio=14 status=active
| |- 1:0:10:0  sdaa 65:160 active ready running
| |- 1:0:12:0  sdac 65:192 active ready running
| |- 1:0:14:0  sdae 65:224 active ready running
| `- 1:0:8:0   sdy  65:128 active ready running
`-+- policy='service-time 0' prio=9 status=enabled
  |- 1:0:11:0  sdab 65:176 active ready running
  |- 1:0:13:0  sdad 65:208 active ready running
  |- 1:0:7:0   sdx  65:112 active ready running
  `- 1:0:9:0   sdz  65:144 active ready running
Aug 14 09:36:35 | sdd: alua not supported
Aug 14 09:36:35 | sdg: alua not supported
Aug 14 09:36:35 | sdag: alua not supported
Aug 14 09:36:35 | sdj: alua not supported
Aug 14 09:36:35 | sdm: alua not supported
Aug 14 09:36:35 | sdp: alua not supported
Aug 14 09:36:35 | sds: alua not supported
Aug 14 09:36:35 | sdv: alua not supported
222e300015555469c dm-10 Promise,VTrak E830f
size=20T features='3 queue_if_no_path queue_mode mq' hwhandler='0' wp=rw
`-+- policy='service-time 0' prio=-1 status=active
  |- 1:0:0:20  sdd  8:48   active ready running
  |- 1:0:1:20  sdg  8:96   active ready running
  |- 1:0:15:20 sdag 66:0   active ready running
  |- 1:0:2:20  sdj  8:144  active ready running
  |- 1:0:3:20  sdm  8:192  active ready running
  |- 1:0:4:20  sdp  8:240  active ready running
  |- 1:0:5:20  sds  65:32  active ready running
  `- 1:0:6:20  sdv  65:80  active ready running
Aug 14 09:36:35 | sde: alua not supported
Aug 14 09:36:35 | sdh: alua not supported
Aug 14 09:36:35 | sdah: alua not supported
Aug 14 09:36:35 | sdk: alua not supported
Aug 14 09:36:35 | sdn: alua not supported
Aug 14 09:36:35 | sdq: alua not supported
Aug 14 09:36:35 | sdt: alua not supported
Aug 14 09:36:35 | sdw: alua not supported
2228a0001558b1855 dm-14 Promise,VTrak E830f
size=20T features='3 queue_if_no_path queue_mode mq' hwhandler='0' wp=rw
`-+- policy='service-time 0' prio=-1 status=active
  |- 1:0:0:21  sde  8:64   active ready running
  |- 1:0:1:21  sdh  8:112  active ready running
  |- 1:0:15:21 sdah 66:16  active ready running
  |- 1:0:2:21  sdk  8:160  active ready running
  |- 1:0:3:21  sdn  8:208  active ready running
  |- 1:0:4:21  sdq  65:0   active ready running
  |- 1:0:5:21  sdt  65:48  active ready running
  `- 1:0:6:21  sdw  65:96  active ready running
Aug 14 09:36:35 | sdc: alua not supported
Aug 14 09:36:35 | sdf: alua not supported
Aug 14 09:36:35 | sdaf: alua not supported
Aug 14 09:36:35 | sdi: alua not supported
Aug 14 09:36:35 | sdl: alua not supported
Aug 14 09:36:35 | sdo: alua not supported
Aug 14 09:36:35 | sdr: alua not supported
Aug 14 09:36:35 | sdu: alua not supported
2221f000155c0792e dm-11 Promise,VTrak E830f
size=20T features='3 queue_if_no_path queue_mode mq' hwhandler='0' wp=rw
`-+- policy='service-time 0' prio=-1 status=active
  |- 1:0:0:5   sdc  8:32   active ready running
  |- 1:0:1:5   sdf  8:80   active ready running
  |- 1:0:15:5  sdaf 65:240 active ready running
  |- 1:0:2:5   sdi  8:128  active ready running
  |- 1:0:3:5   sdl  8:176  active ready running
  |- 1:0:4:5   sdo  8:224  active ready running
  |- 1:0:5:5   sdr  65:16  active ready running
  `- 1:0:6:5   sdu  65:64  active ready running

So it seems that multipath can be made to work, but perhaps
the manual page could be enhanced a little to cover this case.

diff --git a/multipath/multipath.conf.5 b/multipath/multipath.conf.5
index 05a5e8ff..718dd16a 100644
--- a/multipath/multipath.conf.5
+++ b/multipath/multipath.conf.5
@@ -1516,6 +1516,9 @@ handler to known devices (which includes all devices supporting SCSI-3 ALUA)
 and disallow changing the handler
 afterwards. Setting \fBhardware_handler\fR for such devices on these kernels
 has no effect.
+.PP
+If your device has been configured to disable ALUA support,
+\fBhardware_handler\fR will be set to \fI0\fR.
 .RE
 .
 .

Kind regards
Vince

^ permalink raw reply related	[flat|nested] 8+ messages in thread

* Re: Promise and ALUA
  2020-08-13 23:51   ` McIntyre, Vincent (CASS, Marsfield)
@ 2020-08-14  0:24     ` Xose Vazquez Perez
  2020-08-14  2:18       ` McIntyre, Vincent (CASS, Marsfield)
  0 siblings, 1 reply; 8+ messages in thread
From: Xose Vazquez Perez @ 2020-08-14  0:24 UTC (permalink / raw)
  To: McIntyre, Vincent (CASS, Marsfield); +Cc: dm-devel

On 8/14/20 1:51 AM, McIntyre, Vincent (CASS, Marsfield) wrote:

> TL;DR I found a way forward, manually running multipath -a.
> Details below, and a suggested tweak to the manpage.
> 
> I created a new LUN on the vtrak and mapped it to the test host.
> The host sees it, but as expected there's no new multipath yet.
> lsscsi does not show a new set of scsi devices either,
> which is also expected.
> 
>   qla2xxx [0000:04:00.0]-107ff:1: qla2x00_fcport_event_handler: schedule
>   qla2xxx [0000:04:00.0]-107ff:1: qla_scan_work_fn: schedule loop resync
>   qla2xxx [0000:04:00.0]-280e:1: HBA in F P2P topology.
>   qla2xxx [0000:04:00.0]-2814:1: Configure loop -- dpc flags = 0x60.
>   qla2xxx [0000:04:00.0]-107ff:1: qla2x00_fcport_event_handler: schedule
>   qla2xxx [0000:04:00.0]-2858:1: GID_PT entry - nn 250100015553ce36 pn 260700015553ce36 portid=1e0260.
>   qla2xxx [0000:04:00.0]-2858:1: GID_PT entry - nn 250100015553ce36 pn 260600015553ce36 portid=1e0280.
>   qla2xxx [0000:04:00.0]-2858:1: GID_PT entry - nn 250000015553ce36 pn 260200015553ce36 portid=1e02a0.
>   qla2xxx [0000:04:00.0]-2858:1: GID_PT entry - nn 250000015553ce36 pn 260300015553ce36 portid=1e02c0.
>   qla2xxx [0000:04:00.0]-2858:1: GID_PT entry - nn 250000015553ce36 pn 260100015553ce36 portid=1e0300.
>   qla2xxx [0000:04:00.0]-2858:1: GID_PT entry - nn 250000015553ce36 pn 260000015553ce36 portid=1e0320.
>   qla2xxx [0000:04:00.0]-2858:1: GID_PT entry - nn 250100015553ce36 pn 260500015553ce36 portid=1e0340.
>   qla2xxx [0000:04:00.0]-2858:1: GID_PT entry - nn 250100015553ce36 pn 260400015553ce36 portid=1e0360.
>   qla2xxx [0000:04:00.0]-2858:1: GID_PT entry - nn 20000024ff002350 pn 21000024ff002350 portid=1e0500.
>   qla2xxx [0000:04:00.0]-2858:1: GID_PT entry - nn 200200a098b16b5f pn 203300a098b16b5f portid=1e08a0.
>   qla2xxx [0000:04:00.0]-2858:1: GID_PT entry - nn 200200a098b16b5f pn 203200a098b16b5f portid=1e08a1.
>   qla2xxx [0000:04:00.0]-2858:1: GID_PT entry - nn 200200a098b16b5f pn 206300a098b16b5f portid=1e08c0.
>   qla2xxx [0000:04:00.0]-2858:1: GID_PT entry - nn 200200a098b16b5f pn 204200a098b16b5f portid=1e08c1.
>   qla2xxx [0000:04:00.0]-2858:1: GID_PT entry - nn 200200a098b16b5f pn 204300a098b16b5f portid=1e0900.
>   qla2xxx [0000:04:00.0]-2858:1: GID_PT entry - nn 200200a098b16b5f pn 205200a098b16b5f portid=1e0920.
>   qla2xxx [0000:04:00.0]-2858:1: GID_PT entry - nn 200200a098b16b5f pn 205300a098b16b5f portid=1e0940.
>   qla2xxx [0000:04:00.0]-107ff:1: qla_scan_work_fn: schedule loop resync
>   qla2xxx [0000:04:00.0]-2858:1: GID_PT entry - nn 200200a098b16b5f pn 206200a098b16b5f portid=1e0960.
>   qla2xxx [0000:04:00.0]-286a:1: qla2x00_configure_loop *** FAILED ***.
>   qla2xxx [0000:04:00.0]-280e:1: HBA in F P2P topology.
>   qla2xxx [0000:04:00.0]-2814:1: Configure loop -- dpc flags = 0x60.
>   qla2xxx [0000:04:00.0]-2858:1: GID_PT entry - nn 250100015553ce36 pn 260700015553ce36 portid=1e0260.
>   qla2xxx [0000:04:00.0]-2858:1: GID_PT entry - nn 250100015553ce36 pn 260600015553ce36 portid=1e0280.
>   qla2xxx [0000:04:00.0]-2858:1: GID_PT entry - nn 250000015553ce36 pn 260200015553ce36 portid=1e02a0.
>   qla2xxx [0000:04:00.0]-2858:1: GID_PT entry - nn 250000015553ce36 pn 260300015553ce36 portid=1e02c0.
>   qla2xxx [0000:04:00.0]-2858:1: GID_PT entry - nn 250000015553ce36 pn 260100015553ce36 portid=1e0300.
>   qla2xxx [0000:04:00.0]-2858:1: GID_PT entry - nn 250000015553ce36 pn 260000015553ce36 portid=1e0320.
>   qla2xxx [0000:04:00.0]-2858:1: GID_PT entry - nn 250100015553ce36 pn 260500015553ce36 portid=1e0340.
>   qla2xxx [0000:04:00.0]-2858:1: GID_PT entry - nn 250100015553ce36 pn 260400015553ce36 portid=1e0360.
>   qla2xxx [0000:04:00.0]-2858:1: GID_PT entry - nn 20000024ff002350 pn 21000024ff002350 portid=1e0500.
>   qla2xxx [0000:04:00.0]-2858:1: GID_PT entry - nn 200200a098b16b5f pn 203300a098b16b5f portid=1e08a0.
>   qla2xxx [0000:04:00.0]-2858:1: GID_PT entry - nn 200200a098b16b5f pn 203200a098b16b5f portid=1e08a1.
>   qla2xxx [0000:04:00.0]-2858:1: GID_PT entry - nn 200200a098b16b5f pn 206300a098b16b5f portid=1e08c0.
>   qla2xxx [0000:04:00.0]-2858:1: GID_PT entry - nn 200200a098b16b5f pn 204200a098b16b5f portid=1e08c1.
>   qla2xxx [0000:04:00.0]-2858:1: GID_PT entry - nn 200200a098b16b5f pn 204300a098b16b5f portid=1e0900.
>   qla2xxx [0000:04:00.0]-2858:1: GID_PT entry - nn 200200a098b16b5f pn 205200a098b16b5f portid=1e0920.
>   qla2xxx [0000:04:00.0]-2858:1: GID_PT entry - nn 200200a098b16b5f pn 205300a098b16b5f portid=1e0940.
>   qla2xxx [0000:04:00.0]-2858:1: GID_PT entry - nn 200200a098b16b5f pn 206200a098b16b5f portid=1e0960.
>   qla2xxx [0000:04:00.0]-289f:1: Device wrap (1e0960).
>   qla2xxx [0000:04:00.0]-2869:1: LOOP READY.
>   qla2xxx [0000:04:00.0]-286b:1: qla2x00_configure_loop: exiting normally.
> 
> I emptied /etc/multipath.conf, ran update-initramfs -u and rebooted.
> lsscsi shows multiple paths to the new LUN, but there's no new
> multipath - all those shown below were already known to the system.
> On earlier versions, the new multipath usually appeared automatically.
> 
> # multipath -ll
> 
> 3600a098000b173f60000079e5da82d73 dm-12 DELL,MD38xxf
> size=40T features='5 queue_if_no_path pg_init_retries 50 queue_mode mq' hwhandler='1 rdac' wp=rw
> |-+- policy='service-time 0' prio=14 status=active
> | |- 1:0:10:0  sdaa 65:160 active ready running
> | |- 1:0:12:0  sdac 65:192 active ready running
> | |- 1:0:14:0  sdae 65:224 active ready running
> | `- 1:0:8:0   sdy  65:128 active ready running
> `-+- policy='service-time 0' prio=9 status=enabled
>    |- 1:0:11:0  sdab 65:176 active ready running
>    |- 1:0:13:0  sdad 65:208 active ready running
>    |- 1:0:7:0   sdx  65:112 active ready running
>    `- 1:0:9:0   sdz  65:144 active ready running
> Aug 14 09:33:02 | sdd: alua not supported
> Aug 14 09:33:02 | sdg: alua not supported
> Aug 14 09:33:02 | sdag: alua not supported
> Aug 14 09:33:02 | sdj: alua not supported
> Aug 14 09:33:02 | sdm: alua not supported
> Aug 14 09:33:02 | sdp: alua not supported
> Aug 14 09:33:02 | sds: alua not supported
> Aug 14 09:33:02 | sdv: alua not supported
> 222e300015555469c dm-10 Promise,VTrak E830f
> size=20T features='3 queue_if_no_path queue_mode mq' hwhandler='0' wp=rw
> `-+- policy='service-time 0' prio=-1 status=active
>    |- 1:0:0:20  sdd  8:48   active ready running
>    |- 1:0:1:20  sdg  8:96   active ready running
>    |- 1:0:15:20 sdag 66:0   active ready running
>    |- 1:0:2:20  sdj  8:144  active ready running
>    |- 1:0:3:20  sdm  8:192  active ready running
>    |- 1:0:4:20  sdp  8:240  active ready running
>    |- 1:0:5:20  sds  65:32  active ready running
>    `- 1:0:6:20  sdv  65:80  active ready running
> Aug 14 09:33:02 | sdc: alua not supported
> Aug 14 09:33:02 | sdf: alua not supported
> Aug 14 09:33:02 | sdaf: alua not supported
> Aug 14 09:33:02 | sdi: alua not supported
> Aug 14 09:33:02 | sdl: alua not supported
> Aug 14 09:33:02 | sdo: alua not supported
> Aug 14 09:33:02 | sdr: alua not supported
> Aug 14 09:33:02 | sdu: alua not supported
> 2221f000155c0792e dm-11 Promise,VTrak E830f
> size=20T features='3 queue_if_no_path queue_mode mq' hwhandler='0' wp=rw
> `-+- policy='service-time 0' prio=-1 status=active
>    |- 1:0:0:5   sdc  8:32   active ready running
>    |- 1:0:1:5   sdf  8:80   active ready running
>    |- 1:0:15:5  sdaf 65:240 active ready running
>    |- 1:0:2:5   sdi  8:128  active ready running
>    |- 1:0:3:5   sdl  8:176  active ready running
>    |- 1:0:4:5   sdo  8:224  active ready running
>    |- 1:0:5:5   sdr  65:16  active ready running
>    `- 1:0:6:5   sdu  65:64  active ready running
> 
> However I find that I can do this:
> 
> # multipath -v 3 -a 2228a0001558b1855
> Aug 14 09:35:56 | set open fds limit to 1048576/1048576
> Aug 14 09:35:56 | loading //lib/multipath/libchecktur.so checker
> Aug 14 09:35:56 | checker tur: message table size = 3
> Aug 14 09:35:56 | loading //lib/multipath/libprioconst.so prioritizer
> Aug 14 09:35:56 | foreign library "nvme" loaded successfully
> Aug 14 09:35:56 | libdevmapper version 1.02.155 (2018-12-18)
> Aug 14 09:35:56 | DM multipath kernel driver v1.13.0
> Aug 14 09:35:56 | No matching alias [2228a0001558b1855] in bindings file.
> Aug 14 09:35:56 | wrote wwid 2228a0001558b1855 to wwids file
> wwid '2228a0001558b1855' added
> Aug 14 09:35:56 | unloading const prioritizer
> Aug 14 09:35:56 | unloading tur checker
> 
> # multipath -v3 -r
> Aug 14 09:36:24 | set open fds limit to 1048576/1048576
> Aug 14 09:36:24 | loading //lib/multipath/libchecktur.so checker
> Aug 14 09:36:24 | checker tur: message table size = 3
> Aug 14 09:36:24 | loading //lib/multipath/libprioconst.so prioritizer
> Aug 14 09:36:24 | foreign library "nvme" loaded successfully
> Aug 14 09:36:24 | delegating command to multipathd
> 
> and now the multipath device for the new LUN appears.
> 
> # multipath -ll
> 3600a098000b173f60000079e5da82d73 dm-12 DELL,MD38xxf
> size=40T features='5 queue_if_no_path pg_init_retries 50 queue_mode mq' hwhandler='1 rdac' wp=rw
> |-+- policy='service-time 0' prio=14 status=active
> | |- 1:0:10:0  sdaa 65:160 active ready running
> | |- 1:0:12:0  sdac 65:192 active ready running
> | |- 1:0:14:0  sdae 65:224 active ready running
> | `- 1:0:8:0   sdy  65:128 active ready running
> `-+- policy='service-time 0' prio=9 status=enabled
>    |- 1:0:11:0  sdab 65:176 active ready running
>    |- 1:0:13:0  sdad 65:208 active ready running
>    |- 1:0:7:0   sdx  65:112 active ready running
>    `- 1:0:9:0   sdz  65:144 active ready running
> Aug 14 09:36:35 | sdd: alua not supported
> Aug 14 09:36:35 | sdg: alua not supported
> Aug 14 09:36:35 | sdag: alua not supported
> Aug 14 09:36:35 | sdj: alua not supported
> Aug 14 09:36:35 | sdm: alua not supported
> Aug 14 09:36:35 | sdp: alua not supported
> Aug 14 09:36:35 | sds: alua not supported
> Aug 14 09:36:35 | sdv: alua not supported
> 222e300015555469c dm-10 Promise,VTrak E830f
> size=20T features='3 queue_if_no_path queue_mode mq' hwhandler='0' wp=rw
> `-+- policy='service-time 0' prio=-1 status=active
>    |- 1:0:0:20  sdd  8:48   active ready running
>    |- 1:0:1:20  sdg  8:96   active ready running
>    |- 1:0:15:20 sdag 66:0   active ready running
>    |- 1:0:2:20  sdj  8:144  active ready running
>    |- 1:0:3:20  sdm  8:192  active ready running
>    |- 1:0:4:20  sdp  8:240  active ready running
>    |- 1:0:5:20  sds  65:32  active ready running
>    `- 1:0:6:20  sdv  65:80  active ready running
> Aug 14 09:36:35 | sde: alua not supported
> Aug 14 09:36:35 | sdh: alua not supported
> Aug 14 09:36:35 | sdah: alua not supported
> Aug 14 09:36:35 | sdk: alua not supported
> Aug 14 09:36:35 | sdn: alua not supported
> Aug 14 09:36:35 | sdq: alua not supported
> Aug 14 09:36:35 | sdt: alua not supported
> Aug 14 09:36:35 | sdw: alua not supported
> 2228a0001558b1855 dm-14 Promise,VTrak E830f
> size=20T features='3 queue_if_no_path queue_mode mq' hwhandler='0' wp=rw
> `-+- policy='service-time 0' prio=-1 status=active
>    |- 1:0:0:21  sde  8:64   active ready running
>    |- 1:0:1:21  sdh  8:112  active ready running
>    |- 1:0:15:21 sdah 66:16  active ready running
>    |- 1:0:2:21  sdk  8:160  active ready running
>    |- 1:0:3:21  sdn  8:208  active ready running
>    |- 1:0:4:21  sdq  65:0   active ready running
>    |- 1:0:5:21  sdt  65:48  active ready running
>    `- 1:0:6:21  sdw  65:96  active ready running
> Aug 14 09:36:35 | sdc: alua not supported
> Aug 14 09:36:35 | sdf: alua not supported
> Aug 14 09:36:35 | sdaf: alua not supported
> Aug 14 09:36:35 | sdi: alua not supported
> Aug 14 09:36:35 | sdl: alua not supported
> Aug 14 09:36:35 | sdo: alua not supported
> Aug 14 09:36:35 | sdr: alua not supported
> Aug 14 09:36:35 | sdu: alua not supported
> 2221f000155c0792e dm-11 Promise,VTrak E830f
> size=20T features='3 queue_if_no_path queue_mode mq' hwhandler='0' wp=rw
> `-+- policy='service-time 0' prio=-1 status=active
>    |- 1:0:0:5   sdc  8:32   active ready running
>    |- 1:0:1:5   sdf  8:80   active ready running
>    |- 1:0:15:5  sdaf 65:240 active ready running
>    |- 1:0:2:5   sdi  8:128  active ready running
>    |- 1:0:3:5   sdl  8:176  active ready running
>    |- 1:0:4:5   sdo  8:224  active ready running
>    |- 1:0:5:5   sdr  65:16  active ready running
>    `- 1:0:6:5   sdu  65:64  active ready running
> 
> So it seems that multipath can be made to work, but perhaps
> the manual page could be enhanced a little to cover this case.
> 
> diff --git a/multipath/multipath.conf.5 b/multipath/multipath.conf.5
> index 05a5e8ff..718dd16a 100644
> --- a/multipath/multipath.conf.5
> +++ b/multipath/multipath.conf.5
> @@ -1516,6 +1516,9 @@ handler to known devices (which includes all devices supporting SCSI-3 ALUA)
>   and disallow changing the handler
>   afterwards. Setting \fBhardware_handler\fR for such devices on these kernels
>   has no effect.
> +.PP
> +If your device has been configured to disable ALUA support,
> +\fBhardware_handler\fR will be set to \fI0\fR.
>   .RE
>   .
>   .

If E830f is an Active-Active array without ALUA support,
add to /etc/multipath.conf:

devices {
         device {
                 vendor "Promise"
                 product "VTrak"
                 product_blacklist "VTrak V-LUN"
                 path_grouping_policy "multibus"
                 detect_prio "no"
                 hardware_handler ""
                 prio "const"
                 failback "manual"
                 no_path_retry 30
         }
}

run update-initramfs, and reboot.

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Promise and ALUA
  2020-08-14  0:24     ` Xose Vazquez Perez
@ 2020-08-14  2:18       ` McIntyre, Vincent (CASS, Marsfield)
  2020-08-15 20:36         ` Xose Vazquez Perez
  0 siblings, 1 reply; 8+ messages in thread
From: McIntyre, Vincent (CASS, Marsfield) @ 2020-08-14  2:18 UTC (permalink / raw)
  To: Xose Vazquez Perez; +Cc: dm-devel

On Fri, Aug 14, 2020 at 02:24:08AM +0200, Xose Vazquez Perez wrote:
>
>If E830f is an Active-Active array without ALUA support,
>add to /etc/multipath.conf:
>
>devices {
>        device {
>                vendor "Promise"
>                product "VTrak"
>                product_blacklist "VTrak V-LUN"
>                path_grouping_policy "multibus"
>                detect_prio "no"
>                hardware_handler ""
>                prio "const"
>                failback "manual"
>                no_path_retry 30
>        }
>}
>
>run update-initramfs, and reboot.

I updated multipath.conf as above, ran update-initramfs.
# cat /etc/multipath.conf
devices {
        device {
                vendor "Promise"
                product "VTrak"
                product_blacklist "VTrak V-LUN"
                path_grouping_policy "multibus"
                detect_prio "no"
                hardware_handler ""
                prio "const"
                failback "manual"
                no_path_retry 30
        }
}

Also, I removed the wwid of the test LUN

# multipath -v 3 -w 2228a0001558b1855
Aug 14 11:52:54 | set open fds limit to 1048576/1048576
Aug 14 11:52:54 | loading //lib/multipath/libchecktur.so checker
Aug 14 11:52:54 | checker tur: message table size = 3
Aug 14 11:52:54 | loading //lib/multipath/libprioconst.so prioritizer
Aug 14 11:52:54 | foreign library "nvme" loaded successfully
Aug 14 11:52:54 | libdevmapper version 1.02.155 (2018-12-18)
Aug 14 11:52:54 | DM multipath kernel driver v1.13.0
Aug 14 11:52:54 | removing line '/2228a0001558b1855/
' from wwids file
Aug 14 11:52:54 | found '/2228a0001558b1855/
'
wwid '2228a0001558b1855' removed
Aug 14 11:52:54 | unloading const prioritizer
Aug 14 11:52:54 | unloading tur checker

# cat /etc/multipath/wwids
# Multipath wwids, Version : 1.0
# NOTE: This file is automatically maintained by multipath and multipathd.
# You should not need to edit this file in normal circumstances.
#
# Valid WWIDs:
/2221f000155c0792e/
/3600a098000b173f60000079e5da82d73/
/222e300015555469c/
#2228a0001558b1855/

# multipath -F
# multipath -l
(no output)
# multipath -r
# multpath -l |grep dm-
3600a098000b173f60000079e5da82d73 dm-10 DELL,MD38xxf

# reboot

# multipath -ll
3600a098000b173f60000079e5da82d73 dm-10 DELL,MD38xxf
size=40T features='5 queue_if_no_path pg_init_retries 50 queue_mode mq' hwhandler='1 rdac' wp=rw
|-+- policy='service-time 0' prio=14 status=active
| |- 1:0:10:0  sdaa 65:160 active ready running
| |- 1:0:12:0  sdac 65:192 active ready running
| |- 1:0:14:0  sdae 65:224 active ready running
| `- 1:0:8:0   sdy  65:128 active ready running
`-+- policy='service-time 0' prio=9 status=enabled
  |- 1:0:11:0  sdab 65:176 active ready running
  |- 1:0:13:0  sdad 65:208 active ready running
  |- 1:0:7:0   sdx  65:112 active ready running
  `- 1:0:9:0   sdz  65:144 active ready running

#  multipath -T
defaults {
        verbosity 2
        polling_interval 5
        max_polling_interval 20
        reassign_maps "no"
        multipath_dir "//lib/multipath"
        path_selector "service-time 0"
        path_grouping_policy "failover"
        uid_attribute "ID_SERIAL"
        prio "const"
        prio_args ""
        features "0"
        path_checker "tur"
        alias_prefix "mpath"
        failback "manual"
        rr_min_io 1000
        rr_min_io_rq 1
        max_fds "max"
        rr_weight "uniform"
        queue_without_daemon "no"
        flush_on_last_del "no"
        user_friendly_names "no"
        fast_io_fail_tmo 5
        bindings_file "/etc/multipath/bindings"
        wwids_file "/etc/multipath/wwids"
        prkeys_file "/etc/multipath/prkeys"
        log_checker_err always
        all_tg_pt "no"
        retain_attached_hw_handler "yes"
        detect_prio "yes"
        detect_checker "yes"
        force_sync "no"
        strict_timing "no"
        deferred_remove "no"
        config_dir "/etc/multipath/conf.d"
        delay_watch_checks "no"
        delay_wait_checks "no"
        marginal_path_err_sample_time "no"
        marginal_path_err_rate_threshold "no"
        marginal_path_err_recheck_gap_time "no"
        marginal_path_double_failed_time "no"
        find_multipaths "strict"
        uxsock_timeout 4000
        retrigger_tries 0
        retrigger_delay 10
        missing_uev_wait_timeout 30
        skip_kpartx "no"
        disable_changed_wwids "yes"
        remove_retries 0
        ghost_delay "no"
        find_multipaths_timeout -10
}
blacklist {
        devnode "^(ram|raw|loop|fd|md|dm-|sr|scd|st|dcssblk)[0-9]"
        devnode "^(td|hd|vd)[a-z]"
        devnode "^cciss!c[0-9]d[0-9]*"
        device {
                vendor "SGI"
                product "Universal Xport"
        }
        device {
                vendor "^DGC"
                product "LUNZ"
        }
        device {
                vendor "EMC"
                product "LUNZ"
        }
        device {
                vendor "DELL"
                product "Universal Xport"
        }
        device {
                vendor "IBM"
                product "Universal Xport"
        }
        device {
                vendor "IBM"
                product "S/390"
        }
        device {
                vendor "(NETAPP|LSI|ENGENIO)"
                product "Universal Xport"
        }
        device {
                vendor "STK"
                product "Universal Xport"
        }
        device {
                vendor "SUN"
                product "Universal Xport"
        }
        device {
                vendor "(Intel|INTEL)"
                product "VTrak V-LUN"
        }
        device {
                vendor "Promise"
                product "Vess V-LUN"
        }
        device {
                vendor "Promise"
                product "VTrak V-LUN"
        }
}
blacklist_exceptions {
        property "(SCSI_IDENT_|ID_WWN)"
}
devices {
        device {
                vendor "Promise"
                product "VTrak"
                product_blacklist "VTrak V-LUN"
                path_grouping_policy "multibus"
                hardware_handler ""
                prio "const"
                failback "manual"
                no_path_retry 30
                detect_prio "no"
        }
        device {
                vendor "DELL"
                product "^MD3"
                product_blacklist "Universal Xport"
                path_grouping_policy "group_by_prio"
                path_checker "rdac"
                features "2 pg_init_retries 50"
                hardware_handler "1 rdac"
                prio "rdac"
                failback "immediate"
                no_path_retry 30
        }
}
overrides {
}
multipaths {
        multipath {
                wwid "3600a098000b173f60000079e5da82d73"
        }
}


This is the device section I had before for the Promise
        device {
                vendor "Promise"
                product "VTrak"
                product_blacklist "VTrak V-LUN"
                path_grouping_policy "multibus"
                path_selector "service-time 0"
                path_checker "tur"
                prio "alua"
                failback "immediate"
                no_path_retry 30
        }
The only real differences are the prio and failback.

Vince

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Promise and ALUA
  2020-08-14  2:18       ` McIntyre, Vincent (CASS, Marsfield)
@ 2020-08-15 20:36         ` Xose Vazquez Perez
  2020-08-16  2:30           ` McIntyre, Vincent (CASS, Marsfield)
  0 siblings, 1 reply; 8+ messages in thread
From: Xose Vazquez Perez @ 2020-08-15 20:36 UTC (permalink / raw)
  To: McIntyre, Vincent (CASS, Marsfield); +Cc: dm-devel

On 8/14/20 4:18 AM, McIntyre, Vincent (CASS, Marsfield) wrote:

> This is the device section I had before for the Promise
>          device {
>                  vendor "Promise"
>                  product "VTrak"
>                  product_blacklist "VTrak V-LUN"
                    path_grouping_policy "multibus" <---------
>                  path_selector "service-time 0"
>                  path_checker "tur"
                    prio "alua"                     <---------
>                  failback "immediate"
>                  no_path_retry 30

"multibus" and "prio alua" are incompatible!

>          }
> The only real differences are the prio and failback.
 From your tests and Promise docs, it looks like it's an Active-Passive array
with ALUA support.
It should use latest firmware [1]. And ALUA must be enabled to get the best
performance and stability.
Otherwise, the array will work with only one path per LUN.

The multipath-tools default settings is already optimized for the ALUA config.


[1] https://www.promise.com/Support/DownloadCenter/VTrak/Ex30/E830f#Firmware

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Promise and ALUA
  2020-08-15 20:36         ` Xose Vazquez Perez
@ 2020-08-16  2:30           ` McIntyre, Vincent (CASS, Marsfield)
  2020-08-16  3:50             ` Xose Vazquez Perez
  0 siblings, 1 reply; 8+ messages in thread
From: McIntyre, Vincent (CASS, Marsfield) @ 2020-08-16  2:30 UTC (permalink / raw)
  To: Xose Vazquez Perez; +Cc: dm-devel

On Sat, Aug 15, 2020 at 10:36:52PM +0200, Xose Vazquez Perez wrote:
>On 8/14/20 4:18 AM, McIntyre, Vincent (CASS, Marsfield) wrote:
>
>>This is the device section I had before for the Promise
>>         device {
>>                 vendor "Promise"
>>                 product "VTrak"
>>                 product_blacklist "VTrak V-LUN"
>                   path_grouping_policy "multibus" <---------
>>                 path_selector "service-time 0"
>>                 path_checker "tur"
>                   prio "alua"                     <---------
>>                 failback "immediate"
>>                 no_path_retry 30
>>         }
>>The only real differences are the prio and failback.
>
>"multibus" and "prio alua" are incompatible!

Promise recommend the multibus option,
prio alua was introduced by me messing about.

So a compatible configuration would be either what Promise recommend

  detect_prio          no       #not explicit, implied by prio const
  prio                 const
  path_grouping_policy multibus
  failback             immediate
  hardware_handler     "0"

or (with alua support enabled, the multipath-tools defaults)

  detect_prio          yes
  prio                 alua
  path_grouping_policy group_by_prio
  failback             manual
  hardware_handler     "1 alua"

?

From your tests and Promise docs, it looks like it's an Active-Passive array
>with ALUA support.
>It should use latest firmware [1]. And ALUA must be enabled to get the best
>performance and stability.
>Otherwise, the array will work with only one path per LUN.
>[1] https://www.promise.com/Support/DownloadCenter/VTrak/Ex30/E830f#Firmware
>
>The multipath-tools default settings is already optimized for the ALUA config.

Thanks for your analysis. The model is VTrak E830f (VTE830fD).
The unit is definitely set to active-active controllers.
The firmware could use an update however, the latest release
seems to have been overlooked. I'll try updating and look
into enabling ALUA support.

One question about the man page though.
it seems from the current text that putting
  hardware_handler     "0"
in the config would be ignored for arrays that are
assumed to have ALUA support.
However if the array has ALUA support turned off and
multipathd detects this, then the package falls back to using
  hardware_handler     "0"
of its own accord?
If that's correct, could that be added to the man page?

Cheers
Vince

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Promise and ALUA
  2020-08-16  2:30           ` McIntyre, Vincent (CASS, Marsfield)
@ 2020-08-16  3:50             ` Xose Vazquez Perez
  0 siblings, 0 replies; 8+ messages in thread
From: Xose Vazquez Perez @ 2020-08-16  3:50 UTC (permalink / raw)
  To: McIntyre, Vincent (CASS, Marsfield); +Cc: dm-devel

On 8/16/20 4:30 AM, McIntyre, Vincent (CASS, Marsfield) wrote:

> Promise recommend the multibus option,

Promise docs are a bit messy. The multibus example is a mistake.

There are only two options for this array: failover or group_by_prio.
There are plenty of examples, for old distributions, at
"Linux PerfectPath - Promise Multipath Driver", under:
https://www.promise.com/Support/DownloadCenter/VTrak/Ex30/E830f#Utilities

> Thanks for your analysis. The model is VTrak E830f (VTE830fD).
> The unit is definitely set to active-active controllers.

Yep, it's a dual controller array. But the controllers are no able to
access to a LUN at the same time, and from all paths.

Only high-end arrays(3PAR, Symmetrix, DS8000, ONTAP, VSP, ...) do this.

In VTrak arrays, one LUN is owned only by one controller.

> The firmware could use an update however, the latest release
> seems to have been overlooked. I'll try updating and look
> into enabling ALUA support.

If ALUA is not used, multipathd must be configured with the
"failover" option for "path_grouping_policy"

> One question about the man page though.
> it seems from the current text that putting
>    hardware_handler     "0"
> in the config would be ignored for arrays that are
> assumed to have ALUA support.
> However if the array has ALUA support turned off and
> multipathd detects this, then the package falls back to using
>    hardware_handler     "0"
> of its own accord?
> If that's correct, could that be added to the man page?

Debian 10 is using a very old multipath-tools release (0.7.9 - nov 2018)
without any upstream fixes. I don't know if it's an old bug or
the default setting "hardware_handler = 1 alua" was interfering.

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2020-08-16  3:50 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-08-10  4:33 Promise and ALUA McIntyre, Vincent (CASS, Marsfield)
2020-08-13 20:07 ` Xose Vazquez Perez
2020-08-13 23:51   ` McIntyre, Vincent (CASS, Marsfield)
2020-08-14  0:24     ` Xose Vazquez Perez
2020-08-14  2:18       ` McIntyre, Vincent (CASS, Marsfield)
2020-08-15 20:36         ` Xose Vazquez Perez
2020-08-16  2:30           ` McIntyre, Vincent (CASS, Marsfield)
2020-08-16  3:50             ` Xose Vazquez Perez

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.