我正试图编写一个程序来阻止使用SCSI 2预约的LUN。
在SCSI 2预约中,LUN是否可以被同一主机保留为不同的路径,或者I L连接仅为一条路径.
让我们说,主机试图从同一个目标保留已经保留的LUN,但是使用目标的不同端口。这个是可能的吗?
基本上,LUN保留仍然是同一个主机,但来自不同的路径。
编辑我得到了上述问题所需的响应,但是有另一个查询。假设主机对LUN X有预约,一个连接被删除,或者主机发出注销。预订结果如何?如果主机驱动程序试图保留相同的LUN,则取决于主机驱动程序是否清除保留并清除其数据,还是保留保留仍然存在,而其他主机则会出现冲突。我试着搜索它,但是找不到与这个问题相关的规范。
发布于 2015-05-27 14:31:48
每个I_T_L连接都是一条路径。当您使用SPC-2中描述的RESERVE(6)或RESERVE(10)命令时,这就是您要保留的内容。因此,一次只能激活一条路径。如果这是你想要的,那你就好了!(编辑:为了清楚起见,发布保留的第二个I_T_L关系得到了一个保留冲突。)
如果您的发起者和目标能够处理它,SPC-3中的PERSISTENT /RELEASE命令提供了更多的灵活性。您可以向LU注册每个附件,然后设置一个“独占-访问注册者专用”的预约,该预约阻止对其他所有人的访问,但允许它访问已注册的附件。
这方面的一个例子可以在Redhat集群软件中使用的SCSI fence脚本中对bug的描述中看到。现有的解决方案不与多路径I/O互操作,因为冗余路径不断地碰到保留冲突。解决方案是注册所有路径:bug.cgi?id=661134
编辑以回答您的附加问题:如果连接中断,则保留保留。来自SPC-2:
此命令应请求保留整个逻辑单元,以供发起者独占使用,直到保留被来自同一启动器的另一个有效的备用命令所取代,或由作出保留的同一发起者的释放命令、由任何发起者执行的目标重置任务管理功能、由硬重置条件执行的任务管理功能或循环中的电源解除为止。
https://stackoverflow.com/questions/30461222
复制相似问题