分布式文件存储QoS硬核黑科技,真香

存储服务质量(QoS)是用于为应用保证指定存储性能的技术,它确保特定应用程序或工作负载始终获得特定的访问性能。QoS是解决存储资源争用的有效手段,主要用于不同业务之间的资源争用和存储内部资源争用(如故障情况下,内部数据恢复和正常业务访问之间产生的资源抢占)。我们这里谈的QoS,主要用于保障不同业务的数据访问性能质量。

在企业内,IT部门需要为高优先级的业务提供更高的访问性能(包括IOPS、带宽、延时等维度)。对任何已建成的系统而言,服务能力都是有上限的,这就需要为高优先级业务配置更高的QoS,为低优先级业务配置较低的QoS,合理分配资源,满足不同级别业务的需求。

外部存储出现之初,是为了解决本地存储容量不足的问题,最早的外部存储一般只服务于一个应用系统,不存在争用的问题。随着存储技术的发展,单盘容量的提升,存储系统容量不再是系统管理员最关心的问题,一套存储可以服务于多个业务。

管理员们开始关注如何给不同的应用系统分配最佳的性能,如何保证关键业务的资源。例如,主业务数据库应用和备份应用共享使用一套存储,数据库服务器显然需要更高的IOPS才能有效稳定运行,系统管理员就可以通过QoS为数据库服务应用指定适当的性能级别。

企业对文件存储性能的定义不仅仅是IOPS、带宽和延迟,更细粒度的元数据操作也逐渐被管理员们关注。例如,海量数据场景下,某个计算节点频繁执行ls、du等查询操作,更会影响到整个存储系统的正常运行。

随着IT技术的发展,企业数据类型从结构化数据为主转化成非结构化数据为主,业务环境也逐渐由单台服务器(或一组双机系统)对接一个存储分区的模式,转化为一组计算节点(多个客户端)对接一个存储分区的模式。一组计算集群共同使用一个文件系统时,存储QoS不但要保证该文件目录的性能QoS,还要均衡不同计算节点之间的性能。

基于客户端的QoS和基于目录的QoS区别

多个分布式文件存储客户端在共享访问目录时,管理员由于无法预知共享访问的客户端数量,因此经常希望能够针对目录来指定QoS。如果只能针对目录设置客户端的QoS,可能会出现这样的情况,每个客户端的QoS可以按照管理员设定进行限制,但由于接入这个目录的客户端太多,而导致这个目录的访问性能抢占了其它目录的资源。因此,管理员更多是希望能够将QoS限定到目录级别,无论多少个客户端接入了这个目录,这些客户端累计的访问性能,不会超过设定的QoS,从而保护其它目录(即其它应用)的访问性能。

分布式文件存储业界在目录级QoS的整体状况

分布式文件存储QoS由于客户端和数据访问都是分散在大量不同的服务器上,通过传统的方式很难实现各个客户端之间的性能协同,从而实现基于目录的QoS。业界开源以及商业存储,例如CephFS、GlusterFS、MooseFS、BeeGFS、OceanStor 9000、X10000、Spectrum Scale(GPFS)、Isilon等,都没有提供基于目录的QoS功能。Lustre的一些核心开发者,实现了一定程度的QoS功能。

焱融科技研发团队基于实际用户场景和迫切需求,率先实现了基于目录的QoS功能。YRCloudFile分布式文件存储的流量控制功能包括:带宽QoS(读带宽、写带宽、总带宽)、IOPS(读IOPS、写IOPS、总IOPS),对总性能的限制,即读+写的总数(IOPS、带宽),不限制比例。用户可以组合适合的控制方式,从而达到满足业务要求的性能要求。

元数据操作分为查询操作、attr操作、文件操作三大类,YRCloudFile元数据 QoS限制能够对目录的元数据操作数进行控制,从而避免元数据集群资源紧张,影响关键业务的正常运行

基于YRCloudFile的QoS功能,管理员可以方便地为不同应用指定对应的目录,随后为应用的目录分配合理的性能。

视频为实际测试场景,我们为APP1、APP2、APP3分别分配三个目录/APP1、/APP2、/APP3;为这三个目录分别分配总IOPS QoS为10,100,1000。在测试场景下,我们观察这三个目录的QoS设置快速生效且准确。

可以看到,通过YRCloudFile对应用目录的QoS限制,各个应用的访问性能被限制在管理员设定的范围内,很好地解决了应用之间对存储性能的争用问题。

YRCloudFile基于目录的分布式QoS,相比单机QoS,不仅能够在存储目录上进行QoS控制;在该文件目录的多个客户端之间,还会通过深度优化的dmClock算法(可参考“分布式QoS算法解析”)进行均衡,从而满足更大规模、更复杂场景的业务需要

视频为实际测试场景,目录/APP1设置了总带宽QoS值,YRCloudFile的QoS功能对这几个客户端的功能进行了自动均衡和调节,这些客户端之间的性能可以做到动态的调节。

对于AI、HPC、半导体EDA、渲染、生命科学等大规模客户端计算和分析场景来说,分布式文件存储的QoS具有重要意义,QoS可以帮助管理员更好地分配存储性能资源,使各个应用客户端充分、平稳地使用后端存储性能。


焱融科技是一家以软件定义存储技术为核心竞争力的高新技术企业,在分布式存储等关键技术上拥有自主知识产权,是高性能文件存储和容器存储的领导者。焱融科技核心产品YRCloudFile在全球IO500性能测试中,进入世界前六。同时,YRCloudFile是国内首个进入CNCF Landscape的容器存储产品。焱融科技针对各行业业务特性,打造个性化行业解决方案,提供一站式的产品与服务。焱融科技系列产品已服务于人工智能、金融、政府、制造业、互联网等行业的众多客户。了解更多焱融科技信息,请访问官网http://www.yanrongyun.com

  • 发表于:
  • 本文为 InfoQ 中文站特供稿件
  • 首发地址https://www.infoq.cn/article/c3eafe889c30534c29ac5f8ec
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码关注腾讯云开发者

领取腾讯云代金券