焱融科技 · 2022年08月01日

打破文件锁限制,以存储力量助力企业增长新动力

导语:在多进程共享的应用程序中,通过“锁”来对同一个计算资源进行协同是非常常见的做法,无论在单机或多机系统、数据库、文件系统中,都需要依赖“锁”机制来避免并发访问导致的不确定结果。文件锁的优势显而易见,但它的弊端又是什么呢?今天,我们就来讲讲文件锁背后的利与弊。

什么是文件锁?

文件锁指的是,把某个文件锁定,除了当前进程能访问以外,别的进程不能访问该文件。进而又分为读锁和写锁,读锁又名共享锁,它可以用于防止进程读取的文件记录被更改。同时,文件记录可以设置多个读锁,但当有一个读锁存在时,就不能在该记录处设置写锁。写锁又名互斥锁,它用来保证文件更改记录时不被干扰,确保文件一致性和完整性,防止写丢失或读“脏”数据。文件锁可以说是,文件系统的最基本特性之一,应用程序借助文件锁可以控制其他应用对文件的并发访问。

文件锁作为一种互斥机制,可确保多个进程以安全的方式读取/写入同一个文件。之所以要对这些多进程业务进行控制,就是因为这些进程的调度是不可预期的,这种时序上的不可预期会对同一个文件资源产生竞争性访问,从而带来预料之外的结果。

为了帮助大家更好地理解,我们举一个🌰:

假设,我们有一个叫“account.dat”的文件,用于存储账户余额,里面现在有“200”的初始值。这时,在并发系统中有两个进程,它们将要更新文件中的余额值:

  • 进程 A:读取当前值,减去 20,然后将结果保存回文件中;
  • 进程 B:读取当前值,加 80,然后将结果写回到文件中。

如果用小学生常用的加减法来计算,那么我们将会获得 200-20+80=260 的余额 。但是,如果进程没有按照预期顺序执行,我们可能会收获不一样的结果:

1、进程 A 读取文件的当前值(200),并准备进行进一步的计算;
2、这时,进程 B 读取相同的文件并获得当前余额(200);
3、进程 A 计算 200-20 并将结果 180 保存回文件;
4、进程 B 不知道余额已更新。因此,它仍将使用过时的值 200 计算 200 + 80,并将结果 280 写入文件。这时,我们的 account.dat 文件中保存的余额就是 280。

由于分布式文件系统主要用于多个客户端中共享文件,客户端的应用程序并发访问文件是很常见的操作,在实际应用中,渲染、HPC 等业务都需要使用到文件锁,锁的支持对分布式文件系统而言至关重要。

如果你触发到文件锁的限制导致报错,那么头疼的问题来了,它会反复报错,而你还拿它没办法。现在,优锘科技正在面临这样的问题。

优锘科技是数字孪生可视化领域的先行者及践行者,通过可视化的手段对实体对象进行仿真、监测、分析和控制,致力于通过数字孪生可视化技术,帮助人们更好地认知与管理现实世界。

1.png

近年,随着数字孪生不断发展,有效帮助企业提升透明度与可见性,强化管理者的控制能力。在此机遇下 ,优锘科技打造了数字孪生体系,其包含自研的渲染引擎 T3D 和基于 WebGL 的物理引擎、一系列 2D&3D 的工具、业务配置工具、各类现成可用的资源,以及生态空间,方便多方满足数字孪生个性化需求。借助数字孪生技术,我们在一定程度上摆脱现实的束缚,在虚拟环境下开展一系列纯数字形式的研究。在满足了企业对数字孪生技术的要求,优锘科技旨在进一步提升企业用户使用体验,加强优锘科技技术底座。

面临挑战:优锘遇上文件锁,技术实力“被封锁”

原先,优锘科技在公有云上已经部署了数字孪生平台,并以 SaaS 的形式为用户提供服务。每个用户在使用过程中,会创建一套自己的环境,其中包括 1 套软件和 2 个 NFS 挂载点。在整个过程中,如果用户使用云上原生的文件系统时,创建并初始化 200 个 pod,那么就会因为触发文件锁限制而报错,导致用户需求无法得到满足。文件锁“锁住”的不仅仅是避免并发访问导致的不确定结果,更是“锁住”了优锘发展的脚步。

“我们曾经调研过很多公有云平台,文件锁基本都在 8192,想过很多种办法都无法解决它。”优锘科技技术人员认为,“这是一个迫在眉睫的问题,如果不能解决,我们将很难对产品进一步升级。”

在深度还原客户实际工作场景,进行细致的观察和推导后,焱融团队认为当务之急是对存储架构进行升级,提升其存储集群性能和存储通量。焱融科技在优锘科技私有化部署 YRCloudFile 存储集群,客户端通过 NFS 挂载存储的方式,让文件系统实现无文件锁,打破同时打开文件数量和并发数量等方面的限制,使技术人员顺利创建并启动 300 个环境。

除了文件锁,YRCloudFile 集群提供的 IOPS 和带宽也得到了优锘科技的认可。YRCloudFile 可以提供千万级别以上的 IOPS,百 GB 的吞吐带宽,后期可根据客户需求灵活扩展,解决了原先存储性能较低、难以扩展、资源利用率低等问题。

同时,优锘科技的要求远不止于此。为了寻求更高的技术标准,优锘科技还需要做到业务连续性。焱融科技基于优锘科技的工作特点,通过分布式架构配合负载均衡的方式,实现统一路径挂载,存储节点均摊业务压力和数据落点。当存储节点出现故障时,保障数据逻辑路径不受影响,让业务层无感知底层存储变化,依旧照常工作,最大化保证业务连续性。此外,YRCloudFile 为其提供了标准 NFS 和私有客户端访问的方式,利用私有化部署的优势,满足客户对数据安全性的要求。

高性能、高灵活性、安全性兼顾,数字孪生未来存储之选

在焱融科技的定制化解决方案帮助下,优锘科技的工作效率和客户好评率有了显著的飞跃。如今,优锘科技实现了数据资源集中管理、技术灵活落地和高效部署的改造目标。

优锘科技表示,此次与焱融科技的合作,企业实现了技术实力的突破,存储架构的升级,让企业的技术体验更上一层楼,从而能够更好地为更多企业用户提供卓越、高效率、安全和满意的数字孪生解决方案,奠定了未来优锘科技的 IT 基础设施的建立,为业务提供更坚实的后盾。

  • 存储难题有方法:通过焱融科技 YRCloudFile 私有化部署,经过客户模拟测试,成功创建并启动 300 个环境,解决了原本触发文件锁限制而报错的问题;
  • 部署与运维简单:短期内即可完成私有化部署,快速落地应用,且后续生产环境上线后,焱融科技技术人员随时支持运维服务,降低企业员工后期维护压力;
  • 升级业务不停摆:焱融科技 YRCloudFile 采用了分布式架构,最大化保障业务排期正常运行。后续随着企业发展,可自由横向水平扩展,更加满足企业未来的存储需求。

焱融科技通过深入优锘科技,观察存储系统在实际应用场景中的状态,发现症结,优化参数、结合场景问题真正帮助优锘科技解决痛点,提升存储技术水平。
对于走在技术前沿的企业来说,基础设施建设尤为重要,基础设施作为产业中的关键支撑环节,基础架构在建设过程中需要在保证成本的情况下,满足企业更多的建设诉求。

焱融科技 YRCloudFile 具备高性能、部署迅速、管理便捷、安全性高、可私有化部署等优势,卓越的产品性能,在兼顾性能和可靠性的同时,让企业存储架构更上一层楼,成为对技术有高要求的企业存储架构升级的最有解之一。

推荐阅读
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息