Start a Conversation

Unsolved

This post is more than 5 years old

9987

May 20th, 2011 05:00

How SCSI-3 Persistent Reserve works?

Hi All,

I'd like to understand how a  SCSI-3 Persisten Reserve works. I've got this question related to SCSI Reservation when we are troubleshooting a Windows 2008 Cluster problem, and an OS Team member told me that all the reservation resides on a table managed by our VMAX array.

As i didn't know much about it and I've never head it, i'm researching to understant if this statment is true ...

If someone could share any answer/info/documentation for Dummies about either SCSI-3 PR or general SCSI Reservation, I'll really appreciate ...

Thanks and Regards,

Daniel Volochen

7 Posts

May 20th, 2011 08:00

Put all shared devices in a file as below and run symconfigure preview and commit on the file

set device 0650 attribute=SCSI3_persist_reserv;
set device 0654 attribute=SCSI3_persist_reserv;
set device 0656 attribute=SCSI3_persist_reserv;
set device 0658 attribute=SCSI3_persist_reserv;

Note: If you have 5875 code you no need to do this any more

184 Posts

May 20th, 2011 12:00

Hello Daniel,

     The SCSI-3 Persistent Reservation Flag is set in the Symmetrix.

I did some research for you and have provided my findings below.

I did find info regarding your Clustered environment and SCSI-3 PER.

There's lots of other articles out there as well.

Forum Articles:

https://community.emc.com/message/474394

https://community.emc.com/message/399349

https://community.emc.com/message/376345

https://community.emc.com/message/446313

Knowledgebase Articles:

http://knowledgebase.emc.com/emcice/documentDisplay.do?docType=1006&clusterName=DefaultCluster&resultType=5002&groupId=1&page=&docProp=$solution_id&docPropValue=emc200609&passedTitle=null

http://knowledgebase.emc.com/emcice/documentDisplay.do?docType=1006&clusterName=DefaultCluster&resultType=5002&groupId=1&page=&docProp=$solution_id&docPropValue=emc197783&passedTitle=null

http://knowledgebase.emc.com/emcice/documentDisplay.do?docType=1006&clusterName=DefaultCluster&resultType=5002&groupId=1&page=&docProp=$solution_id&docPropValue=emc193325&passedTitle=null

http://knowledgebase.emc.com/emcice/documentDisplay.do?docType=1006&clusterName=DefaultCluster&resultType=5002&groupId=1&page=&docProp=$solution_id&docPropValue=emc87610&passedTitle=null

http://knowledgebase.emc.com/emcice/documentDisplay.do;jsessionid=B37CFE7367253AE03690B3E97CBBAC45?docType=1006&clusterName=DefaultCluster&resultType=5002&groupId=1&page=&docProp=$solution_id&docPropValue=emc259638&passedTitle=null

Forum Reminder:

If you find any of the replies to your question as helpful, please be so kind as to mark replies as being "helpful" or "answered". This helps us track our success with the Forum.

155 Posts

May 24th, 2011 08:00

SCSI-3 PR, which stands for Persistent Reservation, supports multiple nodes accessing a device while at the same time blocking access to other nodes.

SCSI-3 PR reservations are persistent across SCSI bus resets or node reboots and also support multiple paths from host to disk. For SCSI-2 disks, reservations are not persistent which means they do not survive node reboots.

SCSI-3 PR uses a concept of registration and reservation. Systems that participate, register a key with SCSI-3 device. Each system registers  its own key. Then registered systems can establish a reservation. With this method, blocking write access is as simple as removing registration from a device. A system wishing to eject another system issues a pre-empt and abort command and that ejects another node. Once a node is ejected, it has no key registered so that it cannot eject others. This method effectively avoids the split-brain condition.

Reading the t10 SCSI documentation, I see three command pairs handling reservations: RESERVE(6)/RELEASE(6), RESERVE(10)/RELEASE(10) and PERSISTENT RESERVE IN/PERSISTENT RESERVE OUT. If I understand correctly, the two RESERVE/RELEASE commands only handle reservations that allow a single initiator access to a LUN (these are called "Exclusive" by SE). In other words, when a symm receives a RESERVE(6) or RESERVE(10) command, there's no way this can result in a "Group" or "Persistent" reservation. In an active/active multi-path environment, the use of RESERVE(6) and RESERVE(10) is therefore limited.

108 Posts

May 30th, 2011 02:00

Hi Daniel,

You have some really good responses here, and Booyah has certainly gathered a lot of material. Hopefully, not to muddy the water, and certainly not to try and explain the operation of SCSI-3 Persistent Reservation (as KD8EWE has done) I wanted to add the following:

  • The SCSI-3 Persistent Groups Reservations or SCSI 3 PGR or PER bit is enabled at the device level (SymmWin Edit Volumes screen). The PER bit is a requirement of certain clustering software solutions.
  • On DMX class systems (and later) enabling the PER bit will create an entry for this volume in the Persistent Group Reservation table.
  • This device reservation table resides in the Symmetrix File System (SFS) volumes. This table will contain the host generated device reservation key (written and read via syscalls by the cluster software).

So your OS Team member is correct.

Enabling the PER bit via a bin file change or with set device SymDevName attribute=SCSI3_persist_reserv creates a device reservation table entry in the Symmetrix internal SFS volumes where the host generated reservation keys are maintained by the Enginuity code.

I hope this helps.

Best Regards,

Michael.

No Events found!

Top