Persistent reservation behaviour/compliance with redundant controllers

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi all,

I'm experiencing a behaviour that doesn't comply to the SPC3/4 standards from
my point of view. I have read the t10 drafts to understand scsi3 persistent
reservations (PR). Probably I simply got the standard wrong, but maybe somebody
can bring light into the situation.

My understanding of SPC-3/4 is that with PR, registrations should happen on any
I_T Nexus accessing a volume. To me, in a dm-multipath environment, this
translates to "register every single path".

But that doesn't work on our 3Par 7400.
Now the question is, who is wrong? Me (likely :-), or HP/3Par (unlikely).


Here's the dmmp map
360002ac0000000000000000a00006e6b dm-6 3PARdata,VV
size=2.0T features='0' hwhandler='0' wp=rw
`-+- policy='round-robin 0' prio=1 status=active
  |- 3:0:1:4  sdg  8:96    active ready running
  |- 3:0:3:4  sdl  8:176   active ready running
  |- 5:0:3:4  sdbg 67:160  active ready running
  `- 5:0:1:4  sdce 69:32   active ready running


Here are the commands:
1: starting with a clean state:
   # sg_persist --in --read-keys /dev/sdg
     3PARdata  VV                3122
     Peripheral device type: disk
     PR generation=0x3a, there are NO registered reservation keys

2: first registration (sdg) works fine:
   # sg_persist -d /dev/sdg --no-inquiry --out --register \
                --param-sark=0x420480a029000067

3: however registering sdl fails:
   # sg_persist -d /dev/sdl --no-inquiry --out --register \
                --param-sark=0x420480a02900006c
      persistent reserve out: scsi status: Reservation Conflict

When I --register-*ignore* the second device, the command succeeds.
But the first registration key for sdg gets substituted by the new one for sdl.
The same thing happens the other way around when sdg is register-ignore'd
again.

There can only be two registrations at a time: (sdg XOR sdl) and (sdbg XOR sdce)
Now my question is: Does this comply to the standard?

My core problem is that I'd like to ensure that no registration is missing
by accident.

I hope that somebody on this list is kind enough to answer my question or
give me a hint. HP was not able to direct it to a capable person in the
last 9 months. *sigh*


Any help is appreciated!

Thanks in advance,
Matthias



3Par specific information:
3Par systems have a transparent controller(node) failover feature.
In the example above, scsi host3 has two paths to the same volume.
The paths are provided by two different controller nodes.
If one node fails, the other node can take over the path transparently.
To me it looks like the SG3PR implementation is too transparent when it
comes to SG3PR.
--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [SCSI Target Devel]     [Linux SCSI Target Infrastructure]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Linux IIO]     [Samba]     [Device Mapper]
  Powered by Linux