微信号:dellemc_tech

介绍:为戴尔易安信客户提供技术支持服务,为广大IT行业用户分享技术文章与行业信息。

存储SCSI锁解读

2017-04-13 18:08 EMC中国技术社区

     SCSI锁是多台主机用来操作LUN的基本机制。在Windows存储环境中,当多台Windows主机需要访问一个LUN的情况下,例如Windows Cluster环境,就会用到SCSI锁。本文就SCSI锁的作用和类型,以及Windows Cluster 2003/2008中使用到的SCSI锁进行介绍。

 

SCSI锁的作用:

 

     在一个共享存储的环境下,多台前端主机可能会同时访问同一台存储设备,如果此时多台主机在同一时点上对一个LUN进行写操作,那么可想而知这个LUN将不知道哪个数据先写,哪个数据后写。为了防止这种情况发生而导致的数据损坏,所以就有了SCSI锁的概念。通过SCSI Reservation机制来进行SCSI锁的操作,目前绝大多数的磁盘都支持‘SCSI reservvation命令‘。如果一台主机给磁盘传输了一条SCSI Reservation命令,则这个磁盘对于其他的主机就处于锁定状态。如果有其他的主机给已经被锁定的磁盘发送读写请求,则会收到‘reservation conflict’报错信息。如果保留SCSI锁的主机崩溃,或者其他主机给磁盘发送‘break reservation或者reset target命令,用来解除SCSI锁。然后,第二个主机发送I/O请求之前需要重新发送SCSI Reservation命令给磁盘。

 

SCSI锁的分类:

 

     SCSI锁有两种类型:SCSI-2 Reservation和SCSI-3 Reservation。一个LUN上只能存在一种类型的SCSI锁。


     SCSI-2 Reservation只允许设备被发出SCSI锁的Initiator访问,也就是主机的HBA。比如主机1上的HBA1对访问的LUN加上SCSI-2锁,此时即使主机1的HBA2也无法访问这个LUN。所以SCSI-2 Reservation也被称为Single Path Reservation。


     SCSI-3 Reservation(Persistent Reservation)是使用PR Key来对磁盘进行加锁。通常一台Host会有唯一的PR Key,不同的主机对应的PR Key也不同。所以一般SCSI-3 Reservation通常被应用在多通路的共享环境下面。这里SCSI-3 Reservation也称之为Persistent Reservation。

 

Windows Cluster中的SCSI锁:

 

     Windows 2003集群中使用SCSI-2 reserve/release命令。作为非持久的reservation,所以集群中的一台节点会持有SCSI-2 Reservation的锁,然后每过3秒会重新刷新一次。如果故障转移发生,则切换节点主机会在相应的磁盘上放置SCSI-2 Reservation然后维护SCSI锁。如果所有节点主机上的集群服务都会关闭,Reservation也不会保留。


     Windows 2008集群中使用SCSI-3 persistent reservation机制。如果磁盘从主机上没有正确移除,集群使用的磁盘(Cluster Disk)会保留着这些Reservation。锁对应的SCSI锁会一直存在于相应的磁盘之上,即使集群服务被关闭或者磁盘对于主机取消掩饰(unmasked)。所以,有些时候需要强行移除磁盘上的Reservation。

 

     在Windows环境中,移除Reservation移除的命令是(disknumber可以在Windows的Disk Management中找到)

 

CLUSTER NODE /CLEARPR:disknumber



其它参考文章:

【存储入门必读】存储基础知识



更多精彩内容,请点击阅读原文”进行查看!

如何每天都能收到如此精彩的文章?

①点击右上角点击查看官方账号”→点击关注

②长按并识别下图中的二维码,直接访问EMC中文支持论坛


 
戴尔易安信技术支持 更多文章 【专家问答】RecoverPoint解决方案及其好处 软件定义存储释放全闪存能量 极致性能存储DSSD的故事 如何收集EMC Unity系统Dump文件 【专家问答】神奇备份在哪里--RecoverPoint篇
猜您喜欢 PHP核心知识要点 一 抢红包的朋友们,红包大战中那些坑!你掉进去了吗? 交互设计新人必看:怎样让你的线框图发挥出真正价值? 如何在Kotlin中使用Gradle构建缓存? ChinaJoy 2018 | Made with Unity作品展示招募开启