This article provides the overview of SCSI Reservation and includes few useful knowledge base.
In general, the SCSI reservations in Symmetrix are used to control access to a shared SCSI device. Server Cluster is one of its use cases. Before host accessing the Symm Device, a SCSI reservation is set by host initiator (HBA) which prevents multiple hosts access the same device at same time.
There are few types of SCSI reservations:
Exclusive Reservation SCSI-2
Group Reservation SCSI-2 (PowerPath)
Persistent Group Reservation SCSI-3
Exclusive Reservation SCSI-2:
Exclusive Reservation means that the Symm device/volume can be accessed only by the initiator (HBA) that is accessing the Symm device when the reservation is placed. Exclusive reservations are placed on devices when the volume group uses native hdisk devices.
SCSI-2 is released by following conditions:
A new RESERVE SCSI command is sent by another Host
Host sends a RELEASE command
Device receives BUS Device Reset command
EMC PowerPath SCSI-2 Group Reservation:
This kind of reservation that is seen in host environments is a "Group" reservation. When volume groups are accessed using hdisk pseudo devices a group reservation is placed on the device. This is necessary when PowerPath is installed because it means that all initiators in an initiator group will be able to access a Symm device. This allows PowerPath to provide load balancing and failover to a physical volume from multiple initiators on a single host.
Each HBA in same host has same GID. The GIDs are depends on data access time.
Persistent Group Reservation SCSI-3 (SCSI-3 PGR):
SCSI-3 Persistent Reservations (SCSI-3 PR) are required for I/O fencing and resolve the issues of using SCSI reservations in a clustered SAN environment. SCSI-3 PR enables access for multiple nodes to a device and simultaneously blocks access for other nodes. SCSI-3 PR uses a concept of registration and reservation. Each system registers its own "key" with a SCSI-3 device. Multiple systems registering keys form a membership and establish a reservation. For a given disk, only one reservation can exist amidst numerous registrations. SCSI-PGR placed lock is persistent and stored in SFS (Symmetrix File System) which is not affected by SCSI Bus Reset operation. This means even Host shutdown, the lock is still placed until the placing lock host sends release command.
The HBAs in same host have same reservation key. A Symm device is able to register maximum 340 initiators. SCSI-S Flag must be enabled on Symmetrix FA. After Enginuity 5875, SCSI-3 Flag is enabled by default.
Hardware-assisted locking is a LUN locking mechanism that is more efficient in the clustered host environment. Hardware assisted locking is also called Atomic Test and Set (ATS) and is implemented using the SCSI Compare and Swap command (CAS). Hardware-assisted locking feature provides a much more efficient method to avoid retries when a datastore shared between multiple ESXi host is locked. It offloads the lock mechanism to the array, and then the array performs the locking at a very granular level.