Notice how only 1 registrant shows as ACTIVE, Write Exclusive and Registrant only. This means that at that point in time, the mentioned WWN at Index 1 is the active holder of the reservation and is the only one allowed to perform IO to the device.
You will also see here that there is GID mentioned. This means that the host is using EMC PowerPath. You can see that there are 4 registrants but there are 2 different GIDs. This means there are 2 hosts and each host has most likely 2 HBA’s or 1 HBA with 2 ports.
Also notice how the 2 WWNs with GID 8444b000 has a non-zero reservation key while the 2 WWNs from the other host with GID 6e59b300 has all-zeros reservation key. From this, you can determine that the 2nd host’s initiators (index 2 & 3) has released its reservation but remains registered.
Update Time = when the PGR was last updated/queried for this device. This time can change very frequently if a host is performing multi-path active/active load balancing of IO which changes the ACTIVE RESV between registrants. (Such as Round Robin)
Animation Explanation
HBA1 from Node A registers itself to device 0x195C
HBA2 from Node A registers itself to device 0x195C
Can Solutions Enabler (SYMCLI) be used to clear SCSI reservations? KB - 28651
See solution 6131 for an explanation of group and exclusive reservations
For Mainframe environment, have the Customer check the allocation to the device that is locked or reserved with 'd u,,alloc,xxxx,1'. If there is a Customer Job allocated, let them know that this job is reserving that device. If there is no Customer Jobs allocated, continue with Customers approval.
Notice the WWN.
Notice how it doesn’t show any GID/GIDN. Meaning host doesn’t have PowerPath installed or isn’t working properly.
There is only 1 registered initiator in the 8F,PGR,VIEW output. This tells us that:
It may be a single standalone host or 1 node cluster or the device has not yet been reserved by the other hosts yet since the cluster was set up or PGR DB was cleared. (CLEAR = 03h)
There is only 1 path from host to this device. (Not necessarily host to Symm!) Meaning no path redundancy to the device.
FLAGS break to left value and right value.
Left value of C3:
DefineBit(IR_DVIN_VALID , 0), /* Initiator is logged in and host config flags have been applied */
DefineBit(IR_DVIN_EXISTS , 1), /* Initiator is a known initiator. ( Known initiators are those which might have logged in earlier and logged out) */
DefineBit(IR_DVIN_DISCONNECTED , 2), /* Monitor_connection notification pending */
DefineBit(IR_STUN_ENABLE , 3), /* STUN enable bit */
DefineBit(IR_INIT_GIDN_PENDING , 4), /* Indicator that Background task is yet to set it */
DefineBit(IR_CLEAR_GIDN_PENDING , 5), /* Indicater that Background task is yet to clear it*/
DefineBit(IR_ALIVE_INITIATOR , 6), /* Initiator is logged in and executed an IO. */
DefineBit(IR_ACTIVE_INITIATOR , 7) /* Flag updated in emul_new_ulp_cmd()whenever we receive a cdb from CDI. */
Right value of 04:
DefineBit(ORS_MAX_CNXT , 4), /* This initiator has the max# of ORS sessions */
DefineBit(UA_REPORT_LUNS , 3), /* Host is owed an 06/3F/0E Unit Attn */
DefineBit(IR_DVIN_ACTIVE_RW , 2), /* Host is sending read/write activity */
DefineBit(ENV_ERR_PENDING , 1), /* Environmental error report pending */
DefineBit(ISCSI_BRIDGE , 0) /* Host connected via iSCSI bridge */
DefineBit(IR_DVIN_VALID , 0), /* Initiator is logged in and host config flags have been applied */
DefineBit(IR_DVIN_EXISTS , 1), /* Initiator is a known initiator. (Known initiators are those which might have logged in earlier and logged out) */
DefineBit(IR_DVIN_DISCONNECTED , 2), /* Monitor_connection notification pending */
DefineBit(IR_STUN_ENABLE , 3), /* STUN enable bit */
DefineBit(IR_INIT_GIDN_PENDING , 4), /* Indicator that Background task is yet to set it */
DefineBit(IR_CLEAR_GIDN_PENDING , 5), /* Indicater that Background task is yet to clear it*/
DefineBit(IR_ALIVE_INITIATOR , 6), /* Initiator is logged in and executed an IO. */
DefineBit(IR_ACTIVE_INITIATOR , 7) /* Flag updated in emul_new_ulp_cmd()whenever we receive a cdb from CDI. */