ftp服务器架设-UFS分布式文件存储接入能力升级,支持Windows主机用户使用

UFS分布式文件体系

UFS是一款分布式文件体系产品,它能够为运转于 UCloud 公有云、物理云、托管云上的各类主机供给高可用、高可靠、易拓展的文件存储功用。经过 UFS 产品供给的同享存储功用,能够方便地为各类数据备份、serverless、AI 数据分析、高功能 web 站点等使用场景供给强有力的支撑。

之前UFS仅支撑NFSv4.0协议,只能供给给Linux主机运用。针对用户需求在Windows主机运用UFS的需求,近日,UCloud优刻得晋级UFS产品功用,支撑SMB和NFSv3接入协议。存量UFS实例能够直接运用NFSv3协议挂载,新建UFS实例时则能够挑选接入NFS或许SMB。从而使UFS拥有了全量接入Windows主机的能力,让Windows用户也能充分利用UFS分布式文件体系发明价值。

下图为UFS全体io处理架构。

SMB介绍和支撑

SMB(Server Message Block)是一种网络文件同享协议,用于同享文件和打印机等资源,Windows主机广泛运用该协议进行文件的同享。当前UFS接入支撑的协议版别有CIFS,SMB2.0,SMB2.1,SMB3.0。

和本地搭建SMB服务比较,UFS拥有以下优势:高容量,弹性扩展,可支撑最高PB等级的容量按需进行扩容;高可靠,数据存储有跨机器、跨机架的三个副本;高可用,全体服务路径均采用节点多实例规划和布置,没有单机毛病的隐患。

经过SMB协议挂载拜访UFS,Windows用户能够运用UFS分布式文件体系进行海量视频资料的存储和编辑等。

NFSv3提升小文件操作的吞吐

Linux和Windows主机均能够运用NFSv3挂载UFS文件体系,在大批量操作小文件的场景下,NFSv3相对于NFSv4.0功能更好。

以下我们别离介绍两种协议版别读取文件的流程。

NFSv4.0读取文件流程:

1. 翻开文件:PUTFH设置文件父目录file handle(文件体系内仅有标识文件对象),OPEN翻开指定文件,GETFH获取翻开文件的file handle,ACCESS查看文件拜访权限,GETATTR获取文件属性信息。

2. 承认Open-Owner(可选):如果server需求confirm,客户端再建议OPEN_CONFIRM。

3. 读取数据:PUTFH设置文件file handle,运用回来的stateid读取文件。

4. 封闭翻开文件:PUTFH设置文件file handle,封闭stateid指定的文件。

NFSv3读取文件流程:

1. 查询文件:LOOKUP查询指定目录下的文件,回来文件file handle和属性信息。

2. 承认拜访权限:ACCESS查看文件是否有拜访权限。

3. 读取数据:ftp服务器架设,运用文件file handle读取数据。

得益于NFSv4.0引入的COMPOUND Procedure,额定支撑状况的NFSv4.0协议RPC交互数量一般也和NFSv3一样多。可是为什么NFSv4.0大批量操作小文件的功能会远远差于NFSv3?为了支撑状况,NFSv4.0翻开文件需求供给Open-Owner,协议中规定针对每个Open-Owner,同一时刻只能建议一个相关请求;在Linux内核完成中,同一个用户的进程会共用同一个Open-Owner,因此在很多小文件读写的情况下,文件的翻开流程会变成串行操作,影响功能。所以在大批量操作小文件并且没有文件锁需求的场景下,NFSv3比较NFSv4.0能够大幅度进步功能。

以下针对小文件夹的读写场景别离在NFSv3和NFSv4.0挂载下进行了测验。测验环境为Centos8.3虚机,测验文件为Linux内核源码包,有8w+文件。

下面的表格为测验成果,能够看出在大批量操作小文件的情况下NFSv3比NFSv4.0功能好得多。

某知名在线英语教育公司运用UCloud GPU云主机进行AI练习,练习数据存储在UFS分布式文件体系中,最开始这家公司的客户端运用的是NFSv4.0挂载,运用过程中发现练习功能不理想,在没有达到硬件瓶颈的情况下,并发运转多个练习任务也并没有显著减少练习时间。经过排查后发现,NFS挂载读取吞吐较低,用户的练习数据小文件居多,监控数据中看到很多的open请求,导致读取数据功能差。替换运用NFSv3挂载后,没有额定的open开销,练习速度提升了至少2倍。

总结和展望

UFS分布式文件体系的接入能力晋级,支撑了Windows主机运用,加快了用户特定场景的运用功用。UFS还在进行产品私有化的开发工作,未来会研发并行文件体系,以更低的io时延,更高的吞吐,支撑HPC场景使用。