什么是SCSI Reservation?

总的来说,SCSI reservation是一个锁,主机在访问Symmetrix的device之前会先在device上加上锁,通常适用于多主机的集群环境中(多台集群主机可以同时看到某一个device)。 SCSI Reservation可以防止多台主机在同一时间访问同一个device。


SCSI Reservation的种类:

  • Exclusive Reservation SCSI-2 (Windows 2000 server之前)
  • Group Reservation SCSI-2 (周记使用EMC PowerPath)
  • Persistent Group Reservation SCSI-3 (供比较新的主机使用)
  • Hardware-Assisted locking (采用Sector级别的锁)

1. SCSI-2 Exclusive Reservation

单个主机通过单独的HBA 端口以及单独的路径将device锁住,所有来自于其他主机以及同一台主机的其他HBA端口都不能访问这个device。因此,这种类型的锁阻止了同一台主机通过多路径访问同一个device。

当锁住device的主机关机或重启之后,此种类型的SCSI Reservation 锁就会被释放。主机如果检测到一个device的访问有问题,会采用BUS RESETS 来解决问题。

SCSI-2释放锁的方式有以下几种

     1)    另一个主机发起方发出了新的reserve的命令

     2)    主机发起方发起了release的命令

     3)    主机重启

     4)    Device接收到了BUS Device Reset的命令

     5)    主机断电

2. EMC PowerPath Group Reservation

此种类型的reservation通过EMC PowerPath软件来reserve/ release 主机到device的多条访问路径。主机可以使用Active/Active的IO load balancing。这种类型的group reservation比SCSI-3 Persistent Group Reservation少见。

Capture2.JPG.jpg

同一台主机的不同HBA拥有相同的GID。GID 和时间有关。

3. SCSI-3 Persistent Group Reservation (PGR)

每一个主机发起方都会使用一组reservation key来注册自己。任何注册主机都可以在某个时间点锁住这个device。

锁的信息是persistent的,因为锁的信息是存在Symmetrix的SFS (Symmetrix file system)中的,并且不受SCSI bus reset影响。

这意味着主机可以关机,但是锁依然存在,直到拥有锁的注册主机release锁。

通常情况下,一个主机的不同HBA拥有相同的reservation key。

Symmetrix的一个device最多可以注册340个initiator。在Symmetrix FA端口上,SCSI-3的flag必须打开,在Enginutiy 5875以上,SCSI-3的flag默认是自动打开的。

Capture3.JPG.jpg

4. Hardware-assisted locking

也叫做Atomic Test and Set (ATS)。ATS通常由VMware用于在支持VAAI的阵列上在Sector级别上进行锁定,相较LUN级别锁定的SCSI Reservation更为优异。

VMFS 同时支持SCSI reservations和ATS锁定。vSphere 6的VMFS datastore可以仅使用 ATS锁定(ATS-only),或同时使用ATS锁定和SCSI reservation (ATS+SCSI)。对于支持ATS的datastore(存储设备支持硬件加速+新格式化生成的VMFS 5),仅使用ATS锁定;对于不支持ATS的datastore(存储设备不支持硬件加速,或者VMFS 5是由VMFS 3升级而来),则会先尝试ATS锁定,失败后转为SCSI reservation。




关于作者:

Astrid Zhuang

证件照s.jpg

EMC Symmetrix高级技术支持工程师,在Symmetrix存储产品的领域已经有将近五年的经验。精通Symmetrix存储的硬件架构,数据结构以及本地和远程复制。对于客户数据中心发生的各类问题都能够给予及时准确的支持,多次获得客户好评。