近日,IDC 发布了《中国软件定义存储 (SDS) 及超融合存储 (HCI) 系统市场季度跟踪报告,2023H1》。报告显示,在文件存储领域,XSKY星辰天合位列第五,市场份额同比增长 53.4%。
XSKY 文件存储 XGFS 能获得市场高度认可、市场份额快速增长,离不开以客户为中心的需求开发,创新性的技术突破,以及贴近各行业数字化转型的细分解决方案。
在新发布的 XGFS V6.3 版本中,高性能文件缓存模块(以下简称:XDcache)的引入,为医疗影像、云桌面共享、CAD/CAE 工程设计仿真、基因测序比对、工业制造等场景带来了倍数的性能提升。
企业应用软件对文件存储的性能挑战
SMB 协议是传统 NAS 协议的一种,它使得用户可以方便地在 Windows PC 上访问网络共享和文件资源。除了最简单的文档共享,它也承载着非常多样的专业软件的运行。
在制造业生产环节,AOI(自动光学检测 Automated Optical Inspection)技术已经成熟应用于缺陷检测系统。质检机台每天可能会生成数千万个小文件,这些小文件存放路径很深,而且在一定时间后需要自动归档或删除。如果不能及时将这些文件写入存储,会导致产线的产能大幅下降。
存储性能关乎着各行业的工作效率。为了能更好地支撑细分领域的专业软件,XSKY 对大量专业软件的 IO 模型进行了研究。研究发现,非常多运行在 Windows 上的软件,通过单并发、串行的方式写入存储,IO 大小极小,甚至经常为 4 Byte。(注:1 KB=1024 Byte)。比如:
某 AOI 软件:将机台本地存储的 4-8 KB 小图片,合并成 20 MB 的图片,上传到共享存储。上传写入过程为 4 KB 追加写。
在存储的基线性能测试中,IOPS 是最常用的指标,高并发的 4KB 读写常用于衡量集群性能。这种测试方式在一定程度上能反映存储性能,但与上述业务软件访问存储的行为差别较大。小 IO 的低并发、串行写入,要求存储提供超低的时延。同时,由于 IO 很小,需要非常多次写入,即使一点点的延迟差别,整体也会带来非常大的应用使用体验差别。这就导致了部分存储在基线测试中表现优异,但在生产业务承接上不满足需求。
传统分布式文件厂商对专有硬件 NVRAM 的使用
从存储介质上来看,从 RAM、NVRAM、NVMe SSD、SATA SSD 到 HDD,延迟逐级增大。传统的分布式文件存储为了能提供低延迟访问,通常会引入 NVRAM。NVRAM(非易失性随机存取存储器)是一种计算机内存类型,在关闭电源时仍可以保留其存储的数据。与传统的随机存取存储器(RAM)不同,RAM 是易失性的,在断电时会丢失数据。
如上图示例,传统存储厂商通常通过专有硬件 NVRAM 和两副本镜像机制来构建写缓存。对于客户端下发的小 IO 同步写,写入 RAM 后持久化到本机 NVRAM,再通过网络镜像写入其他节点 NVRAM,而后给客户端返回成功。这种方式会带来一些问题:
镜像数据通过 TCP 网络协议传输,延迟较大。
基于高性能网络 RoCE构建软件架构
作为一家专注于软件定义存储领域的专精特新“小巨人”企业,XSKY 致力于通过软件实现存储管理和数据访问控制。XGFS 通过标准硬件 RAM、NVMe 和基于 RoCE 协议的三副本机制来构建写缓存。对于客户端下发的小 IO 同步写,数据同时写入接入节点的 RAM 和 NVMe 盘,通过高速 RoCE 网络,复制到其他两个节点,再返回客户端写入成功。
在具体延迟表现上,基于 25G 网卡,RoCE 在网络传输的延迟表现上优于 TCP 几倍到几十倍。
区别于基于专有硬件设备的传统的存储系统,XGFS 分布式写缓存方案 XDcache 具有以下特点:默认三副本机制,使得两节点同时掉电的情况下,数据仍然完全可用。
XDcache 为企业级应用提供超低延迟与可靠性
多级缓存架构
在 V5 版本中,网关层缓存技术 XCache 为 XGFS 提供了多种缓存策略来加速文件读性能。(详见:)
提供元数据和目录的缓存能力。默认可为千万量级的元数据加速。适用于所有场景;
XGFS 支持协议服务端、网关、元数据集群、存储池多级缓存技术,满足多样文件业务模型访问加速。
XSpeed 存储池是 XSKY SDS 提供的新一代全局缓存技术,通过聚合所有节点的缓存介质提供高性能 IO,同时提供高性价比的 EC+压缩能力,提供更好的空间利用率 。
XGFS 6.3 版本创新性地采用了多副本内存和异步 SSD 写入结合的高冗余度缓存技术 XDcache(XGFS Distributed Cache),使得该产品不仅可以基于通用硬件实现高性能缓存,为企业级应用提供超低延迟的访问,同时确保了缓存数据的高可靠。
关键技术:
基于自研的文件元数据集群 (XMDS) 集群优势:
RDMA/RoCEv2 网络协议支持:使用通用网卡,大幅降低小文件场景的内部 IO 时延;
智能回刷:将低并发转化为高并发、非对齐转对齐下刷,整体提高小 IO 吞吐能力。
智能 IO 过滤:自动识别高并发大 IO,直接写入存储池,提升缓存模块的效率。
XDcache 主要用于提升小文件、小 IO 写性能,支持直写(Writethrough)和回写(Writeback)两种策略:
回写(Writeback)策略:适用于批量流式写入、AI 训练场景。
多场景验证XDcache 效果
XDCache 在 6.3 版本中正式发布,在过去的 6.2 版本中已经灰度上线,并在多个领域经过验证,性能实现大幅提升,获得客户认可。
在西北某三甲医院,替换某国外分布式 NAS 厂商的项目中,XGFS 在图片上传的性能表现领先国外友商 20%,阅片性能领先 170%。
由于 PACS 系统会将影像数据按照患者、日期和类型等进行分类和归档,阅片时,通常会加载某个子文件夹的全部小文件。得益于 XGFS 的目录预取机制,当探测到这种读取行为时,会提前将这批图片文件预加载到缓存,后续读取命中缓存,降低阅片访问等待时间,提高了医疗工作的效率和准确性。
某铁路设计单位集团云的建设中,引入了 XGFS SMB 共享作为所有云桌面共用的网盘资源,承接所有非结构化数据的存储和相关专业 CAD/CAE 软件工程文件的存放。在疫情期间,该存储同时支撑了 3000 多个桌面业务访问连接,使企业员工在家也能丝滑办公。新版本下,以写为主要 IO 模型的工程设计类软件,性能提升了 80%到 200%,大幅提升效率。
通过测试工具 vdbench,模拟真实机台产生的小文件集合:不同比例的 4 KB、64 KB、128 KB、200 KB、1 MB、2 MB 文件,验证混合读写模式下 4 KB IO 性能。测试结果显示,XGFS 新版本小文件 OPS 比国内 I 厂商高 44%,比 S 厂商高 16%,性能领先。
总结
区别于块存储与对象存储,文件系统遵从 POSIX 标准,真实应用下发到存储的工作负载十分复杂。XSKY 针对文件典型场景应用投入大量研究,通过软件定义存储技术,无需 NVRAM 等特殊硬件支持,基于通用硬件为企业应用提供低成本、高匹配度的文件写缓存解决方案,大大提高文件写性能,满足用户对企业级高性能文件的需求。