Bug 739160

Summary: Provide a method to reuse iSIDs for consistent SCSI reservations
Product: Red Hat Enterprise Linux 6 Reporter: Lon Hohberger <lhh>
Component: iscsi-initiator-utilsAssignee: Andy Grover <agrover>
Status: CLOSED DUPLICATE QA Contact: Storage QE <storage-qe>
Severity: medium Docs Contact:
Priority: high    
Version: 6.2CC: coughlan, czhang, djansa, mchristi, rohara
Target Milestone: rcKeywords: FutureFeature
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Enhancement
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2012-05-02 21:25:30 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Bug Depends On:    
Bug Blocks: 767187    

Description Lon Hohberger 2011-09-16 15:56:34 UTC
Description of problem:

The Linux iSCSI initiator shipped with RHEL 6 has a deficiency when it comes to SCSI reservations and registrations.

SCSI registrations are (as I understand it) supposed to be tied to the session ID (initiator,target,isid tuple) in iSCSI targets.  This is fine, but because the our iSCSI initiator does not conservatively reuse iSIDs (an optional, recommended feature; see 9.1.1 of the iSCSI standard), a new session is formed on each reboot.

Our cluster software can write-exclusive, registrants-only SCSI reservations as a method to perform I/O fencing.  On each boot, the cluster nodes acquire registrations on devices in order to gain access.

With the current initiator behavior, these registration keys can be duplicated - since the keys are tied to the iSCSI session, and a new session is established on each reboot due to shifting iSIDs.

Contrast to FC, where there is no notion of iSID: rebooting will not cause registration keys to be duplicated.

Thus, our cluster software and likely other applications which rely on SCSI registrations/reservations cannot work predictably.

This feature request is to implement some sort of optional method to reuse iSIDs (minimally, across reboots) in order to prevent multiple sessions from forming in environments where they are not desired.

Comment 2 Lon Hohberger 2011-09-16 16:00:09 UTC
I should rephrase my first statement:

"The Linux iSCSI initiator shipped with RHEL 6 has a deficiency when it comes to
SCSI reservations and registrations."

This isn't a deficiency/bug/problem, but simply a missing optional feature.

Comment 4 Lon Hohberger 2011-09-16 16:06:24 UTC
Note that this behavior does not cause problems with all arrays.  Some arrays ignore the iSID (which is as, I understand it, incorrect behavior).  Arrays which ignore the iSID do not exhibit duplicate keys.

Some arrays clear all keys for all I_T nexuses/sessions when a host preempts-and-aborts itself.

Comment 5 Mike Christie 2011-10-04 22:55:45 UTC
This is not going to make 6.2.

It should be doable for rhel 5.8 and rhel 6.3 though.

Comment 7 Mike Christie 2012-05-02 21:25:30 UTC

*** This bug has been marked as a duplicate of bug 745579 ***