随着AnyShare使用越来越广泛,很多企业、机构期望使用AnyShare来替代传统NAS文件服务器,作为非结构化数据的统一管理平台,以获得更丰富的数据服务。基于此,NAS网关服务致力于为AnyShare提供SMB等传统网络文件系统访问协议入口,为AnyShare替代NAS提供一份助力,推动实现NAS数据统一汇聚到AnyShare平台。
本文将对Anyshare NAS网关主要技术原理进行逐一分析。
Part 1-基础逻辑架构解析

AnyShare NAS网关由Samba服务、ASNAS服务和ECeph分布式存储服务组成。其中:Samba服务负责向AnyShare Alita引擎的文档管理引擎服务请求用户登录认证,并且将对应SMB的协议处理与ASNAS服务对接;ASNAS服务则负责处理网络文件系统操作对应到AnyShare Alita引擎的OpenDocAPI的协议转换,并缓存文件数据内容,以实现SMB协议的文件随机读写特性;ECeph分布式存储服务则是为ASNAS服务提供随机写缓存的存储后端。
NAS网关的文件访问IO路径包括:Samba服务、ASNAS服务、AnyShare文档管理引擎服务、ECeph存储服务。Samba处理SMB协议请求,并将传统文件操作转发到ASNAS服务进行下一步处理,ASNAS服务则一方面将文件随机写操作的数据片段通过ECeph存储进行缓存,另一方面将传统文件操作转换成AnyShare API,通过AnyShare文档管理引擎实现数据的持久化和共享读。
Part 2-Nas网关缓存技术原理

AnyShare NAS网关缓存底层存储当前仅支持ECeph对象存储,多处挂载同一个目录,修改同一个文件,实际是操作同一份缓存数据,共享写将会造成文件内容错乱,包括多个NAS网关挂载点之间共享写,以及NAS网关和其他AnyShare客户端(PC/Web/移动客户端)之间共享写,若发生则可能存在损坏文件、数据覆盖、丢失等风险,故AnyShare NAS网关6建议只用于“独享写,共享读”的场景。
Part 3-Nas网关文件多版本原理
文件写完close时,NAS网关会延迟上传到AS,默认等待10s(可配置),若在延迟时间内或上传过程中再次发生写动作,则会取消上传操作。 所以,若一个文件连续”写-保存-写-保存”间隔不超过10s,期间的修改NAS网关不会上传到AS,只会上传最后一次保存的数据,上传后AS保留的版本数量由AS管理控制台的文档策略决定。
Part 4-Nas网关文档属性数据缓存

AnyShare NAS网关接收到来自客户端的请求后,会进行内存数据比对以及请求状态进行逻辑判断后完成文档属性数据缓存流程。