Wav*_*ter 7 samba server-message-block cifs samba4
在 CIFS/SMB 协议中,我看到有 3 种类型的文件句柄:持久性、弹性和持久性。它们之间有什么区别?
我对以下内容的主要参考是:
https://wiki.samba.org/index.php/SMB3_kernel_status
虽然这最初是为 Samba3 设计的,但它有更多细节:
https://wiki.samba.org/index.php/Samba3/SMB2
持久文件句柄允许连接到 SMB 服务器以在短暂的网络中断中幸存下来——当打开过程终止时,持久句柄不一定被清除。当客户端尝试重新连接时,如果 oplock(/lease) 仍然存在,它会重新连接到文件。
但是,如果另一个客户端尝试打开该文件,则 oplock/lease 将被破坏,第一个客户端无法重新连接。
即使 oplock/lease 被破坏,弹性文件句柄也会保留,但坦率地说,我无法了解其工作原理的所有技术细节。下面的参考资料之一说 Durable 和 Resilient 之间的区别在于句柄的创建方式 - Durable 通过创建上下文调用和 Resilient 通过 IOCTL。 (我无法理解的主要问题是锁定排序和重放如何适应这一点,但看起来这不是持久和弹性之间的关键区别。)
对于持久句柄,我想不出比这个 Samba 文档更好的东西:
持久文件句柄类似于具有强大保证的持久文件句柄。使用持久性 v2 创建请求 blob 请求它们,并将持久标志设置为 true。服务器仅授予标记为 CA(持续可用)的共享的持久句柄。
据我所知,这些还没有在 Samba 中实现,但目标是支持集群和持续可用性,所以它正在开发中。
| 归档时间: |
|
| 查看次数: |
8496 次 |
| 最近记录: |