容器持久化存储,距离你有多远?

都知道数字化转型的重要性,但怎么转?依靠哪些数字科技?就不简单了。数字科技的特点是概念频出,眼花缭乱的同时,也让人头晕目眩,追赶不上发展的步伐。

这里要谈论的是容器持久化存储,相信对很多人来说,这是一个新概念。

如果从定义或者概念来了解它,涉及技术很多,用户的基础不同、认知不同,要快速掌握容器持久化存储的价值,其实并不容易,叫存储,但是意义超越存储。

也许把定义放在一边,了解它能够解决哪些问题和痛点,不失为一个捷径。

解决的问题关键吗?

容器持久化存储要解决哪些痛点?

12月10日, 焱融科技以“Time To Change”为主题在京发布了分布式文件存储产品YRCloudFile,并与Mellanox、科大讯飞、Rancher等200+客户和合作伙伴,共同研讨IT变革浪潮下的应对之策。

需要注意,所谓“Time To Change”,“适时改变”不仅指存储,存储之上,更重要的是TensorFlow、Spark、MySQL、Jenkins、ElasticSearch和WordPress为代表的应用,也就是云原生的应用也在发生改变。

如今,行业巨头以及互联网企业就是依靠这些呼风唤雨,改变世界。

私有云也好,公有云也好,传统企业应用的云原生化改造迫在眉睫,否则会被越拉越远。不仅是互联网企业的冲击,更大的危机来自转型快的同行,快鱼吃慢鱼,赢者通吃,这才是硬道理!

容器持久化存储角色的份量

意识到这样的变化,就很容易了解容器持久化存储的意义和价值。

首先说容器化。K8S已经成为云原生的事实标准,被普遍接受和使用,也是云原生应用首要使用的编排工具。同样,容器化也带来基础架构的一系列改变。其中,容器持久化存储首当其冲。

都知道容器的特点是召之即来,挥之即去。这是因为无状态应用的缘故。对有状态的应用,如MySQL、PostgreSQL、MangoDB、RabbitMQ、ElasticSearch来说,也采用容器来运行。当容器“死了”,需要快速重建,这个时候问题来了,数据也能够快速重建吗?

这时就需要持久化存储了。

CSI、FlexVolume都是容器持久化存储的规范接口,但是仅支持接口的存储就是容器持久化存储吗?答案是否定的。目前市场上支持CSI存储很多,有传统的、分布式的、开源的、商用的,但在实际应用中,产品表现差别很大。是选用一款能在容器场景下基本可以使用的存储,还是一款完全符合容器化场景容器持久化存储,是每个IT决策者面临的问题。

海量小文件处理和性能

对于容器持久化存储来说,容器存储热点分析、可视化展现、K8S资源可视化管理、QoS性能管控、存储卷弹性伸缩等,这些都是衡量容器持久化存储功能的指标。

另一方面,海量小文件处理、海量小文件访问热点,有状态Pod跨节点的秒级重建,以及跨数据中心的双活解决方案等,也是容器持久化存储重要的性能及可靠性指标。

海量小文件是很多应用场景经常面临的问题,以机器学习AI为例,数据训练中需要依赖大量的小文件,规模会达到几十亿;此外,高性能计算也将涉及到海量文件的处理。

海量小文件会导致元数据管理瓶颈,最终拖累数据存储的性能。为了应对海量小文件处理,YRCloudFile采用元数据集群,借助横向扩展的方式来消除元数据管理的瓶颈。

测试结果显示,从10亿~70亿小文件,YRCloudFile始终能够保持元数据处理能力的持续稳定。

热点目录是另一个造成性能瓶颈的来源,也就是多台服务器集中访问某个单一目录下的文件,形成热点目录,如果系统对于热点目录并行处理能力不足,就会导致系统崩溃,或者性能低下。

针对热点目录,YRCloudFile提供虚拟目录的技术,对于文件名(filename)进行Hash运算后放置在虚拟目录中,虚拟目录数据分布在不同的元数据节点,对上层应用透明,从而增强热点目录的并行处理能力。

与此同时,借助4k小文件的内联,YRCloudFile进一步提升了小文件访问处理的性能。

海量小文件处理不限于容器持久化存储,对AI等非结构化数据规模巨大的新型应用而言至关重要,这也是YRCloudFile瞄准的主要场景。

块数据的话题

在存储的传统认知中,有NAS和SAN之分。其中,NAS主要应用于文件存储,分布式文件存储因此被解读为分布式NAS,既然如此,它能够支持MySQL容器Pod跨节点块数据重建吗?

对此,焱融科技CTO王鹏飞指出:“通常认为数据库要使用块存储。但我们的实测,分布式文件系统依然可以满足数据库需求,焱融科技有很多独特的优化技术和最佳实践。”

“分布式文件系统支持数据库应用,本质上也很容易理解。在容器内(MySQL) 都支持挂载一个数据目录做为MySQL的存储空间,因此从分布式文件系统内申请一个目录即可满足应用。”王鹏飞说。

目前YRCloudFile能够支持有状态Pod跨节点的秒级数据重建,如此,就解决了当容器节点出现故障,容器快速重建、数据快速恢复的问题。

同样的,跨数据中心容器双活的问题也容易实现。

数据中心双活的本质是数据问题,分布式存储副本机制,确保了不同数据中心数据的一致性,优先读取本地副本,实现应用跨数据中心的双活,并有效降低读延时。

小结

从海量小文件处理,到容器应用的数据持久化,服务于新型的云原生应用,涉及业务自动化部署和资源弹性伸缩管理,这恰恰也是用户数字化转型,云计算应用的关键。

这是一个云原生化转变的时代,到了做出改变的时候了!