玩转容器存储 QoS
IT 架构的一个发展趋势和技术挑战,就是如何将越来越多的应用运行在灵活、可扩展的统一平台上,同时还必须提升管理和运行的效率。众多的应用运行在同一个资源池中的模式,和以往各个应用具有各自独立的物理计算+存储资源的运行模式有着很大的不同。其中一点不同就是,在以往的 IT 架构中,各个应用所需的存储容量、性能都是根据其需要独立配置的,很少存在资源抢占的问题。而当众多应用运行在同一个平台上时,不同应用对存储资源的性能存在抢占的风险,如何对之进行控制和规避,就是存储的 QoS(Quality of Service)控制。
那么 QoS 具体指的是什么?为什么它对业务如此重要?
QoS 是为了提供稳定的性能保证
QoS 对企业或者服务运营商来说是一个至关重要的技术,尤其对那些需要为上层业务提供持续稳定的存储性能的场景而言更是如此。当大量应用共享有限的资源,QoS 能帮助系统控制各个应用如何使用这些资源,最重要的是,能限制并避免那些高消耗或者运行异常的程存储 QoS 包括业务对存储所需的 IOPS、带宽等性能的管理和控制。如果没有存储 QoS,系统管理员就无法对各个应用对存储的性能消耗进行管理,高消耗的应用可能抢占大量的存储性能,而让其它应用“活活饿死”。传统 IT 架构在 QoS 的问题上并没有那么急迫,因为在传统架构中,大多的应用系统都是独占自己的一套存储。云、容器时代的到来,把 QoS 推到了不得不重视的高度,因为大量虚拟机、容器都需要共享同一套存储资源。
存储 QoS 能用于缓解、控制并消除对存储资源性能的抢占,为系统提供一个存储性能可预测、可控制、可管理的运行环境。
那么,容器平台持久化存储的 QoS 呢?
既然 QoS 如此重要,并且在 SDS 和以虚拟机为中心的 IaaS 平台中,存储的 QoS 已经成为标配功能,那么在大行其道的容器平台上,QoS 控制是什么状况呢?
非常遗憾,容器编排霸主 K8S 目前只是支持了对 CPU、内存这两个计算资源的 QoS 控制,还不支持对持久化存储进行 QoS 设置。
对于如此重要的需求焱融云当然不会置之不理,我们根据实际应用场景及客户诉求,对 QoS 功能进行了深入开发。
K8S 如何集成焱融高性能容器存储的 QoS 功能?
安装了焱融高性能容器存储以及插件后,要创建含有 QoS 功能的 Persistent Volume 只需一步(以 FlexVolume 插件方式为例),在创建 PV 的 yaml 文件中加上对这个 PV 的 IOPS(或带宽 BW)的设置即可,如下图红框中所示:
随后执行 K8S 创建 PV 的命令,即可创建带有 QoS 限制的持久化存储,通过焱融高性能存储提供的工具,即可查询所有 QoS 设置,如下图所示:
效果如何,一试便知,下图分别对 QoS 和带宽(BW)进行了测试,容器中的持久化存储 IOPS 和带宽被牢牢限制在用户设定的阈值:
IOPS
带宽
更多黑科技
容器持久化存储 QoS 控制的终极目标,是帮助容器平台向着更高效、集成度更高、性能高强的演进,进一步降低平台运维团队管理负担,提升业务可用性。QoS 只是焱融高性能容器存储众多杀手锏中的一个,焱融云从未停下创新的脚步。更多的黑科技,待我们后续一一向您道来。
版权声明: 本文为 InfoQ 作者【焱融科技】的原创文章。
原文链接:【http://xie.infoq.cn/article/cdc8a23dd579ae08f1461c71d】。文章转载请联系作者。
评论