数据存储产业服务平台

容器存储才是新的制高点

存储圈都在谈论闪存以及软件定义存储。一个是存储介质的更新换代;一个是存储架构的变化。

如果视野更开阔,应该就能够看到容器存储高性能分布式文件存储,存储技术发展新的“制高点”。

云计算应用的终极形态

云计算是一个绕不开的话题,无论计算、存储,还是网络都被问到有关云支持的话题,计算虚拟化、SDS(软件定义存储)和SDN/NFV(软件定义网络 /网络功能虚拟化)都是云计算的必然结果。

从应用的角度,云原生、微服务,以及容器技术无缝对接云计算弹性基础设施,可以说,惟有云原生、容器化应用,才是真正意义上的云应用;对比传统应用上云,尽管有一定弹性伸缩能力,但没有办法淋漓尽致发挥云的特点,因此,原生化势在必行

以互联网为例,互联网企业之所以如日中天,也是缘于他们在容器、原生化应用上领先。对于传统企业来说,唯有迎头赶上,否则没有办法跟上时代发展的步伐。

如此趋势发展必将深刻影响到存储技术发展的现状。

相比传统应用,容器优势在于系统的快速重建,当容器或者容器节点出现异常时,Kubernetes也就是K8S容器调度平台可以对容器进行重建。但是问题在于,当容器进行重建, 或者被销毁的时候,该容器所处理的数据,例如网站页面、配置文件、数据库和大数据应用等也随之消失,从而影响业务应用。

为了保持业务连续性,要求容器重建能够确保数据不丢失,从技术上说,要为容器提供持久化存储支持。

如今,K8S定义了Flex Volume、CSI两种存储方式,可以通过API调用外部存储为容器服务。可供选择的外部存储,如CephRBD、Ceph iSCSI等,通过yaml文件创建PV(Persistent Volume,持久化卷),借助对虚拟块设备的attach或者detach操作,为容器提供存储。但是attach、detach都是耗时且容易出错的操作。

在实际应用中,一个故障节点会包含数十上百个容器,每个使用了存储的容器的重建都需要完成detach并重新attach到新节点的步骤,因此,这样的操作基本不可行。

容器存储的解决之道

从技术上说,当容器提供持久化存储之后,就从无状态进入到有状态的操作,容器的快速重建需要新技术的支持。

YRCloudFile是北京焱融科技自研的一款分布式容器存储,针对容器应用存在的问题,

YRCloudFile是怎么做的呢?

焱融科技选择以分布式文件存储为载体,使K8S集群中各个节点可以实时共享访问各个PV(持久化卷),从节点对容器存储的访问机制上,解决了CephRBD、Ceph iSCSI在应对Pod跨节点重建时需要reattach的问题。

目前,K8S定义了持久化存储卷的三种访问方式:RWO(ReadWriteOnce)、ROX (ReadOnlyMany)和RWX(ReadWriteMany)。对于容器存储而言,ReadWriteMany读写模式不可或缺,唯有如此,诸如ElasticSearch、WordPress、Harbor高可用等应用才具备存储保障。

这也是YRCloudFile较之CephRBD、Ceph iSCSI更加适合容器应用的重要原因。

除了容器重建数据不丢失之外,相比虚拟机场景,业务容器化之后,容器实例数量会增加10倍以上。

对此,容器存储设计的关键是MDS(元数据管理)不能出现瓶颈。YRCloudFile采用可水平扩展的元数据集群架构,采用动态子树的元数据管理算法,保障MDS的访问效率。

IO性能方面,通过文件切片,来保证大文件随机读写性能;通过支持RoCE或InfiniBand网络, 使用RDMA使操作让性能提升。

YRCloudFile的测试数据显示,与TCP传输相比,YRCloudFile在使用RDMA后,小IO的性能提升400%以上。

在最新一期的IO500测试中,YRCloudFile的高性能特性得到了初步的体现,虽然受限于测试集群有限的磁盘数量,YRCloudFile在IO500榜单中已经进入了高性能分布式存储的第一梯队,比肩DDN、EMC、WekaIO、IBM、HPE、浪潮等国内外一线厂商。

不止步于“支持”容器

随着K8S的火爆,如今很多云厂商、软件定义存储以及超融合厂商都宣称支持容器,无缝对接K8S,但仅仅支持是远远不够的,应用中还会有更多的功能需求

众所周知,K8S提供了FlexVolume和CSI插件方式供存储厂商将它们的存储方案接入K8S。

焱融云不仅提供了YRCloudFile的CSI插件,与市场上其它容器存储的CSI方案相比,YRCloudFile又领先了一个段位。在最新发布的YRCloudFile 6.0版本中,新增了对CSI插件容器的故障感知功能,使K8S在创建和调度新的具有数据持久化需求的Pod时,能自动过滤掉CSI插件容器异常以及与YRCloudFile集群连接出现异常的工作节点(Worker Node)。

其次是QoS,这是一个至关重要的技术。QoS能帮助系统控制应用对有限资源(如IOPS、带宽等)的使用。这要求创建PV的yaml文件中,能够对这个PV IOPS(或带宽)进行设置,避免有些应用因为资源不足被“活活饿死”的现象。

接下来是PV IO 压力跟踪和定位。在PV数量倍增的背景下,如何跟踪、监控、定位IO压力大的PV,这成为了容器云平台用户的挑战。YRCloudFile根据PV IOPS或带宽进行实时跟踪,可以帮助用户定位和发现业务瓶颈并优化程序。

Prometheus监控数据。如今,Prometheus作为Cloud Native Computing Foundation(CNCF)中的重要一员,其活跃度仅次于 K8S,现在已经成为主流监控系统。以此为基础,用户通过YRCloudFile提供的Prometheus exporter,使用Grafana、或其它工具对YRCloudFile集群监控数据进行展示。

PV InsightPV ResizePV Quota等特性使管理员能够对PV进行更细粒度的监控和管理。PV Insight通过图形化方式,帮助管理员快速查看PV内数据层次以及数据温度,进行分析和调整。PV resize则用于调整PV大小,实现弹性伸缩。PV Quota可以根据yaml文件中指定的Quota,当写入数据超过容量限制时,可发出相应错误信息,YRCloudFile可以提供PV颗粒度的性能告警。

在容器化的应用中,海量数据共享访问属于其中一种典型场景(例如Drupal、WordPress等内容管理系统,或图片识别、视频编码、视频渲染等应用)。

这些应用场景需要同时满足容器持久化数据共享访问、高性能、低成本三方面要求,YRCloudFile本身已经具备容器持久化和高性能特性,如何帮助企业实现降本增效的数字化转型目标,YRCloudFile最新版本的智能分层(Smart Tiering)的重磅功能给出了答案。

统计数据显示,80%的数据具有较为明显的访问周期性特征,超过一定周期后,数据会逐步趋冷,随后,应用对这些冷数据的读写变得极少。YRCloudFile针对这个数据特点,将热数据保存在具有SSD的高性能数据层中,冷数据层直接接入任何第三方提供的具备S3标准接口的对象存储。

容器应用在访问数据时对数据所处的层次完全无感知。用户可自定义冷数据策略及冷数据自动执行跨层迁移的时间,数据在冷热数据层之间迁移的过程中仍然可读可写,对业务无影响。

Smart Tiering功能一方面在热数据进入对象存储成为冷数据前,YRCloudFile自动对数据进行了压缩,对日志等特定数据,压缩后数据大小仅为原始数据的5%;另一方面借助对象存储的纠删码技术提升了整体集群的磁盘利用率,可将总体成本降低40%-50%;同时,通过热数据层的高性能特性始终向上层容器应用提供足够的性能支撑。

以上这些丰富的功能,也许名称各异,但都是应用实践中不可或缺的能力。

小结

如果说容器持久化存储是一个蓝海市场,这就像经典市场营销“岛上卖鞋” 的故事一样,人们的着眼点不一样,相应的策略也就不一样。

作为一家创新性的企业,焱融科技YRCloudFile已经占据了先机。未来,容器存储市场如何发展?会不会成为存储技术争夺的新的制高点?容器存储能否成就焱融科技的梦想?

一切等待着市场来回答

未经允许不得转载:存储在线-存储专业媒体 » 容器存储才是新的制高点