Persistent Reservations(PRs)概述
- PRs包含“PERSISTENT RESERVE IN”和“PERSISTENT RESERVE OUT”两个命令;
- PRs操作的最基本单位是I_T连接,即一个启动器和目标器连接;
- PRs配置不会因为启动器失效、硬件复位、逻辑单元复位或者I_T连接丢失而重置(跟配置相关,详见5.14.5小结);
- 一个获取的PRs只会因“释放”、“抢占”或者“清除”命令而释放,即便是目标器设备电源被断开,PRs依旧会被保留(跟配置相关,5.14.5小结)。
(来源:SPC-5第136页)
“Persistent Reservation”范围(命令参数中的“SCOPE”域)
PRs必须针对整个LUN,使用“PERSISTENT RESERVE OUT”命令进行设置时需要设置为“LU_SCOPE”。
(来源:SPC-5第330页)
“Persistent Reservation”类型(命令参数中的“TYPE”域)
可用的“Persistent Reservation”类型:
- 独占写入(Write Exclusive) 只有PRs持有者才能进行写入相关操作,且只有一个PRs持有者;
- 独占存取(Exclusive Access) 只有PRs持有者才能进行存取相关操作,且只有一个PRs持有者;
- 独占写入-仅注册者(Write Exclusive-Registrants Only) 所有注册者均可进行写入操作,且只有一个PRs持有者;
- 独占存取-仅注册者(Exclusive Access-Registrants Only) 所有注册者均可进行存取操作,且只有一个PRs持有者;
- 独占写入-所有注册者(Write Exclusive-All Registrants) 所有注册者均可进行写入操作,同时所有的已注册I_T连接均是持有者;
- 独占存取-所有注册这(Exclusive Access-All Registrants) 所有注册者均可进行存取操作,同时所有的已注册I_T连接均是持有者。
(来源:SPC-5第330页)
SPC-4命令在不同类型的“Persistent Reservation”中的“允许”与“冲突”对照表:
(来源:SPC-5第138页)
(来源:SPC-5第139页)
“PERSISTENT RESERVE OUT”命令的“SERVICE ACTION”在不同类型的“Persistent Reservation”中的“允许”与“冲突”对照表:
(来源:SPC-5第141页)
“Reservation Key”
应用客户端需要在建立PRs之前为每个I_T连接注册一个“Reservation Key”,“Reservation Key”提供一种协议无关的识别I_T连接的方法,可以使用“Reservation Key”通过“PERSISTENT RESERVE IN”命令来查询关联的I_T状态。“Reservation Key”也可用于在“PERSISTENT RESERVE OUT”命令中注册和验证I_T连接。
一个“Reservation Key”可以对应多个I_T连接,一个I_T连接也可以注册多个“R