gmultipath HA over iscsi/iser

Max Gurtovoy maxg at mellanox.com
Thu Jun 18 08:20:16 UTC 2015


Anyone checked gmultipath utility ?
Thanks,
Max.


On 6/14/2015 7:16 PM, Max Gurtovoy wrote:
> Hello,
> lately I was testing HA using gmultipath utility over iSCSI/iSER devices.
> I'm working on 11-current code base.
> I created 1 LUN on the target side and connected via 2 different 
> physical ports from the initiator side.
> On the initiator side I see see /dev/da0 and /dev/da1.
> I created multipath device using:
> gmultipath label dm0 /dev/da0 /dev/da1.
> Now I have new device /dev/multipath/dm0.
> I set kern.iscsi.fail_on_disconnection=1 (to fail IO fast).
>
> Issue 1:
> -------------
> I can't run simple fio/dd traffice over /dev/da0 nor /dev/da1.
> The only traffic that possible is using the multipath device dm0.
> Is this by design ?
> In the linux implementation we can run traffic on both block devices 
> and multipath devices.
>
> Issue 2:
> --------------
> I run some fio traffic utility over multipath device dm0 on initiator 
> side with port toggling in a loop
>
> Port 1 down --> sleep 2 mins (iSCSI/ISER device reconnecting meanwhile 
> with no success) --> port 1 up --> sleep 5 mins (iSCSI/ISER device 
> reconnecting successecfully)
> Port 2 down --> sleep 2 mins (iSCSI/ISER device reconnecting meanwhile 
> with no success) --> port 2 up --> sleep 5 mins (iSCSI/ISER device 
> reconnecting successecfully)
>
> The expected result is that when the port N is down than the traffic 
> moves to the available port and continue succesfully.
> I run this test for many hours and traffic FAILED (even though there 
> was at least 1 suitable path between initiator and target).
>
> log:
>
> # gmultipath status
>
>              Name   Status  Components
>
> multipath/dm_tcp  OPTIMAL  da0 (ACTIVE)
>
>                             da1 (PASSIVE)
>
> multipath/dm_iser  OPTIMAL  da2 (ACTIVE)
>
>                             da3 (PASSIVE)
>
>
> # fio ..... (over /dev/multipath/dm_iser or /dev/multipath/dm_tcp)
>
>
> fio: this platform does not support process shared mutexes, forcing 
> use of threads. Use the 'thread' option to get rid of this warning.
>
> task1: (g=0): rw=randrw, bs=4K-4K/4K-4K/4K-4K, ioengine=psync, iodepth=8
>
> ...
>
> task1: (g=0): rw=randrw, bs=4K-4K/4K-4K/4K-4K, ioengine=psync, iodepth=8
>
> fio-2.1.3
>
> Starting 8 threads
>
> fio: pid=101071, err=6/file:filesetup.c:575, 
> func=open(/dev/multipath/dm_tcp), error=Device not configured
>
> task1: (groupid=0, jobs=8): err= 6 (file:filesetup.c:575, 
> func=open(/dev/multipath/dm_tcp), error=Device not configured): 
> pid=101071: Thu Jun 11 17:25:47 2015
>
>   read : io=296400MB, bw=32122KB/s, iops=8030, runt=9448911msec
>
>     clat (usec): min=131, max=5541.8K, avg=504.40, stdev=5660.23
>
>      lat (usec): min=132, max=5541.8K, avg=504.55, stdev=5660.23
>
>     clat percentiles (usec):
>
>      |  1.00th=[  251],  5.00th=[  298], 10.00th=[  330], 20.00th=[  370],
>
>      | 30.00th=[  406], 40.00th=[  446], 50.00th=[  478], 60.00th=[  510],
>
>      | 70.00th=[  540], 80.00th=[  580], 90.00th=[  644], 95.00th=[  700],
>
>      | 99.00th=[ 1448], 99.50th=[ 1704], 99.90th=[ 1976], 99.95th=[ 2064],
>
>      | 99.99th=[ 2256]
>
>     bw (KB  /s): min=    2, max= 5576, per=12.64%, avg=4060.97, 
> stdev=352.37
>
>   write: io=295596MB, bw=32034KB/s, iops=8008, runt=9448911msec
>
>     clat (usec): min=125, max=5541.8K, avg=490.13, stdev=5143.96
>
>      lat (usec): min=125, max=5541.8K, avg=490.41, stdev=5143.96
>
>     clat percentiles (usec):
>
>      |  1.00th=[  239],  5.00th=[  282], 10.00th=[  310], 20.00th=[  354],
>
>      | 30.00th=[  390], 40.00th=[  426], 50.00th=[  466], 60.00th=[  502],
>
>      | 70.00th=[  532], 80.00th=[  572], 90.00th=[  628], 95.00th=[  692],
>
>      | 99.00th=[ 1432], 99.50th=[ 1688], 99.90th=[ 1960], 99.95th=[ 2040],
>
>      | 99.99th=[ 2256]
>
>     bw (KB  /s): min=    3, max= 5512, per=12.64%, avg=4049.74, 
> stdev=355.11
>
>     lat (usec) : 250=1.29%, 500=56.84%, 750=38.78%, 1000=0.94%
>
>     lat (msec) : 2=2.08%, 4=0.07%, 10=0.01%, 20=0.01%, 50=0.01%
>
>     lat (msec) : 100=0.01%, >=2000=0.01%
>
>   cpu          : usr=0.61%, sys=4.33%, ctx=151634083, majf=0, minf=3
>
>   IO depths    : 1=100.0%, 2=0.0%, 4=0.0%, 8=0.0%, 16=0.0%, 32=0.0%, 
> >=64=0.0%
>
>      submit    : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, 
> >=64=0.0%
>
>      complete  : 0=0.1%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, 
> >=64=0.0%
>
>      issued    : total=r=75878522/w=75672554/d=0, short=r=0/w=0/d=0
>
> Run status group 0 (all jobs):
>
>    READ: io=296400MB, aggrb=32121KB/s, minb=32121KB/s, maxb=32121KB/s, 
> mint=9448911msec, maxt=9448911msec
>
>   WRITE: io=295596MB, aggrb=32034KB/s, minb=32034KB/s, maxb=32034KB/s, 
> mint=9448911msec, maxt=9448911msec
>
>
> # gmultipath status
>
>              Name    Status  Components
>
> multipath/dm_tcp  DEGRADED  da1 (ACTIVE)
>
> multipath/dm_iser  DEGRADED  da3 (ACTIVE)
>
>
> We can see that there is Active paths to multipath device but still 
> traffice failed.
> Any suggestions ? Anyone saw this before ?
>
> Thanks,
> Max Gurtovoy.
> Mellanox Technologies.
>
>
>
>
>
>
>



More information about the freebsd-scsi mailing list