在SMB协议中使用机会锁(Oplock)

更新时间:
复制为 MD 格式

操作锁定(Oplock)是 SMB 协议的核心特性,允许客户端在本地缓存数据并执行预读操作,减少与服务器的网络往返次数,提升文件读写性能。

应用场景

  • 单客户端写

    单个客户端写文件时,SMB 客户端采用写回(write-back)技术,将写操作积累在本地缓存后批量刷入服务器,减少小块写操作产生的网络流量,提升整体写入吞吐量。

  • 单或多客户端并发读

    客户端读取文件时,SMB 客户端采用预读(read-ahead)技术,提前将数据批量加载到本地缓存,减少网络往返次数,提升读取吞吐量。

  • 多客户端频繁打开关闭文件

    应用频繁打开和关闭文件时,SMB 客户端采用延迟关闭(delayed-close)技术,合并重复的打开和关闭请求,减少相关网络流量。此特性对互联网信息服务(IIS)、基因计算、共享地图等应用效果显著。

注意事项

  • 数据丢失风险:缓存数据写回主存储之前,如果客户端系统崩溃或发生电源故障,缓存中的数据可能丢失。

  • 写入延迟:写操作在客户端本地看似立即完成,但同步到主存储的实际写入可能延迟执行。对数据一致性要求高的应用场景可能不适用。

如果多个客户端同时访问同一文件,建议关闭 Oplock,以避免缓存不一致导致数据冲突。仅单客户端访问时,启用 Oplock 可获得最佳性能收益。

开启机会锁

机会锁默认处于开启状态。如果之前已关闭,按以下步骤重新开启。

  1. 登录NAS控制台

  2. 在左侧导航栏,选择文件系统 > 文件系统列表

  3. 在页面左侧顶部,选择目标文件系统所在的资源组和地域。

  4. 找到SMB协议类型的目标文件系统,单击文件系统ID或者操作列的管理

  5. 基本信息页签的SMB高级选项区域,打开机会锁(oplock)开关。

关闭机会锁

  1. 登录NAS控制台

  2. 在左侧导航栏,选择文件系统 > 文件系统列表

  3. 在页面左侧顶部,选择目标文件系统所在的资源组和地域。

  4. 找到SMB协议类型的目标文件系统,单击文件系统ID或者操作列的管理

  5. 基本信息页签的SMB高级选项区域,关闭机会锁(oplock)开关。