从软件定义存储到人工智能

【编者按】

仔细耐心地看完,你会发现一些很前瞻的存储技术,重要的是,它们已经落地了。


从软件定义存储到人工智能


这几天遇到一件有趣的事情,有位同事因为担心用户项目上的品牌倾向性被友商质疑,问我:是不是只有VMware才能实现存储服务自动化?


首先我感到高兴,因为越来越多的用户开始认可存储自动化;其次,想要再次说明的是,不只是VMware,还有其他公司或者解决方案支持存储自动化。在当前阶段,存储自动化其实对应的就是软件定义存储(SDS)控制平面。


如下图所示,在SDS控制平面层,至少包括VMware SPBM(基于存储策略的管理)、OpenStack Cinder、EMC ViPR、ProphetStor Federator。


从软件定义存储到人工智能

图1:SDS的分类(控制平面和数据平面)


在《【PY原创】SDS之五:软件定义存储的现状 – 自动化篇》中我曾提到:“与之对应的软件定义存储(SDS,也即利用元数据传达数据的请求方式)的情形就是:数据请求可以不经过存储管理员,直接传达至具有高度智能的SDS,SDS根据请求;也就是说,存储资源的的使用者或者数据服务的调用者,直接提出对存储资源的SLA请求,在无需人工干预(手动配置)的情况下,SDS能够在7x24的任意时间内响应请求并分配存储资源”。这其实就是理想的SDS,或者说是具有人工智能的SDS。


在上面这篇文章,以及微信公众号 "乐生活与爱IT" 的许多文章里,都详细地介绍了VMware SPBM、OpenStack Cinder、EMC ViPR。今天,我们聊一聊大家可能比较陌生的ProphetStor Federator。最早听闻ProphetStor公司(原名希智数据,现在叫做先智数据),是在2014中国存储峰会上。ProphetStor公司的CEO兼创始人陈文贤(他曾是飞康软件联合创始人)的演讲,令人眼睛一亮,因为ProphetStor Federator超越了传统的虚拟化,是真正的软件定义存储


在《【PY原创】SDS 之四:软件定义存储的分类 (v2.0)中,将SDS分为控制平面和数据平面,控制平面负责数据的调度和流向,就像是一个指挥;而数据平面负责数据的处理和优化,像是具体做事的。之所以说Federator超越了传统的虚拟化,就在于它保留了受纳管存储自身的存储功能。


在《软件定义存储:原理、实践与生态》的第8章《先智数据Federator SDS》中,提到

Federator SDS是先智数据软件定义存储平台旗舰产品,核心功能包括智能存储虚拟化、指挥调度以及存储数据服务。Federator SDS提供存储发现、抽象、池化、分类、策略定义、存储配置和交付以及存储可视化。Federator SDS能够识别不同存储资源的内置功能,自动将具有不同能力(容量,性能,可靠性等)的多个物理存储资源进行分类,并抽象为单个或多个虚拟存储池;Federator SDS基于不同策略定义按需存储,以统一的方式为数据存储、访问、迁移、保护、容灾提供服务,并为存储的管理和分析提供可视化工具。

Federator SDS允许对异构存储基础架构进行管理,通过一个开放的RESTful API或内置的GUI进行访问。存储服务基于应用策略驱动,可以被动态地创建和交付,上层应用不需要任何存储底层的硬件细节。

Federator SDSSDS控制器Federator、智能存储虚拟化Flexvisor和业务连续及灾难恢复BC/DR组件DR Prophet等几部分组成


Federator SDS在系统架构上,从下而上共分为三层: 智能存储服务虚拟化层(Smart Storage Hypervisor),指挥调度层(Orchestrator)和数据服务层(Data Services)Flexvisor实现智能存储服务虚拟化层,FederatorDR Prophet实现指挥调度(Orchestrator)和数据服务层(Data Services)服务。 

从功能架构上,Federator通过一个独立的控制路径与存储系统进行通信,上层应用则通过iSCSIFC光纤通道或RBD的数据路径直接访问已分配的存储资源。这种架构保证了控制路径的操作对数据业务造成的影响减至最低,同样即使满负荷的数据路径业务也不会造成控制路径操作的阻塞。

存储节点可以是先智数据基于商用硬件的智能存储虚拟化Flexvisor存储或分布式存储集群Federator Scale Out,也可以是第三方SAN存储或开源存储,例如NetApp存储或CephFederator SDS通过一个智能的资源调度器动态监测存储资源,根据用户自定义的存储策略,选择满足容量和性能要求,例如QoS(服务质量)或SLA(服务等级协议)的存储资源,自动和即时的进行存储交付。FederatorSDS可以通过标准开放的RESTfulAPI与应用程序或用户进行交互,使得它可以很容易地与OpenStack以及其他第三方的云计算或大数据环境进行集成”


从软件定义存储到人工智能

图2:Federator SDS对存储资源的统一管理和服务交付



        实际上,上述这些内容,对我而言,并不新鲜,因为不少人知道,在2014年EMC ViPR逐渐被更多的存储圈的人知道,而Federator做的上述事情与ViPR类似。不过,仔细查看过往的历史会发现,EMC ViPR第一个版本发布于2013年。而ProphetStor公司早在2012年初就在美国硅谷的Milpitas就成立了,甚至早于软件定义存储概念的提出(该概念是在2012年8月由VMware首倡)。


令我惊讶的,其实是Federator SDS解决方案的弹性资源控制(ERC)和动态及静态IOPS配置等功能,这些是非常具有前瞻性的技术。

“通过弹性资源控制 (ERC)Flexvisor依据特定应用程序对I/O效能需求进行预测,动态适量分配SSD资源到每个存储池中以匹配其读取与写入的缓存机制,充分利用所安装的有限SSD资源来动态改变存储效能。热点数据可以选择性地保持在SSD内以提高随机读取速度,而随机写入在数据被写入到磁盘前,会先被缓存以利于串行化。

弹性资源控制(ERC)通常可以使一个典型的工作负载,实现比在硬盘上多出50%以上的性能增益。

例如,在一个典型的企业环境中,一个特定的应用程序所使用的存储带宽很少能在一天或一周的时间内保持恒定。相反地,通常在一天中的某个或某几个固定的时间范围内,会有波峰和波谷的存储需求,而每个应用程序之间其产生波峰和波谷存储需求的时间也各异。

在不同的时间段内,不仅应用程序需要不同的存储带宽,它们的优先等级需求也会改变。以下图中两个应用程序的I/O流量模式为例,直观地,可以在程序1的存储需求高峰期,配置较大的SSD资源给应用程序1,做为高速缓存空间;在程序1的存储需求低峰期,则释放SSD资源而转为配置给应用程序2使用。


从软件定义存储到人工智能

图3: 两个应用程序对存储资源需求的变化曲线

 

在涉及到许多而非仅是两个相互竞争的应用程序环境中,如果它们共享相同的硬件资源,系统管理员不可能分析所有的I/O使用模式并手动调节各个不同时间段及不同应用程序所相对需要的存储,以达到实时优化系统的整体性能。

通过Federator SDS内置的流量建模模块(TMM) 可以监控存储I/O流量模式。TMM采用先进的人工神经网络和模糊逻辑算法来智能的提供短期(响应)和长期(预测)的存储资源管理,以提供自动的存储配置服务(Automatic storage provisioning),并进行动态存储Cache分配 (Dynamicstorage cache allocation) ,以及存储资源计划和建议(Storage resource planning advisor)。所提供的能力特别适合在多租户和多工作量环境中,对混合存储系统(HDDSSD)的优化。

Flexvisor支持动态IOPS配置。为保证QoS服务质量,传统的存储虚拟化会将不同应用的IOPS峰值需求进行加总,作为需要提供的IOPS能力。但是当进行认真规划后,不同应用的峰值一般极少会在同时达到,采用这种方式会导致大量的资源浪费。


从软件定义存储到人工智能

图4: VDI,电子商务和Web服务三个典型应用负载IOPS需求变化

 

上图显示三个典型应用负载(VDI,电子商务和Web服务)以及它们在整个24小时内的IOPS需求变化。虽然它们的IOPS需求模式有很多互补性,但一个传统的存储系统没有办法利用这些信息。为保证QoS需求,将不得不分配最多的IOPS需求场景(6400 IOPS)给三个应用,如图中黄色线所示。

如果IT预算没有限制,一个企业当然可以部署足够的存储资源,例如采用全闪存存储架构来分别同时满足所有的I/O需求。不过大多数企业没有这么奢侈的IT预算,一种类似存储统计复用的方式将给有限的IT存储资源分配带来帮助。

 

从软件定义存储到人工智能

图5: 动态IOPS配置节省的IOPS资源(红色部分)

 

通过Federator SDS动态IOPS配置,其动态Offering机制允许一个卷配置一个动态可变的IOPS。并且在任何给定的时间点,系统资源(CPURAM、和Flash)将被正确的分配,以支持每个卷实际的IOPS需求。采用Federator SDS动态IOPS配置,上图中红色区域显示的IOPS将被节省,并可以被分配给其他应用


这样一来,存储就增加了更多的智能,并且能在很少人工干预的情况下,实现动态的存储资源的重新布局。


前几个月,无意中巧遇中国存储界的元老-董唯元,方得知他已经从原来的天玑数据总经理的角色转变为先智数据中国区总经理,原来2017年6月先智数据正式成立北京办事处。有趣的是,这两家公司天玑和先智都有朋友接受我的邀请,在SDS新书《软件定义存储:原理、实践与生态》撰写了相应的章节。


前面Federator SDS的功能和智能,我早已略知一二。但最近的交流,发现先智数据不断前行,开始利用其人工智能为SDS注入新的活力。


从软件定义存储到人工智能

图6: ProphetStor产品家族


右上角的Disk Prophet -智能故障预测,就是相应的产品。它将人工智能应用到磁盘管理与故障检测,利用人工智能帮助记录每块磁盘的使用状况,预测磁盘故障,预测准确率可达95%,同时大大减少了冗余副本。


从软件定义存储到人工智能

图7: 传统磁盘诊断技术手段的不足


众所周知,传统预测磁盘故障主要是根据硬盘的S.M.A.R.T信息,但是做为一个个独立的单块硬盘,它无法感知应用,很难准确地预测出在某种I/O行为习惯下,这块即将要坏的盘,还能用多长时间。


所以,需要一定的技术手段,将被动式故障处理改为主动式故障处理。而前端的业务应用多种多样,这就需要利用人工智能(AI),通过大量的数据集的训练


从软件定义存储到人工智能

图7: DiskProphet工作原理


并且结合操作系统层的IOPS、延时、CPU和内存利用率等多维度的信息,得出更贴近应用,更精准的预测。下面的表格是被动式和主动式故障处理的对比:



被动式故障处理

主动式故障处理

机械性故障检测,僵化局部视角,准确率低

AI识别故障预测,动态整体视角,准确率高

无法实现计划性,难以避免应用负载干扰

可计划协调空间充足,妥善规避应用负载高峰

最大化冗余配置,资源效率低

最小冗余配置,资源效率高

修复过程各机制串行工作,数据保护机制脆弱

修复过程可多机制并行,单一保护失效不会造成数据丢失

开放性与稳定性的对立矛盾

保持开放性的同时提升稳定性

QoS可管理性与性能对立矛盾

性能无扰的实现应用级QoS

下图可以看到每一块物理盘的Remaining Day Forecast、Near-Failure Prediction和Recommended Replacement Time

从软件定义存储到人工智能

图7: DiskProphet界面截图



下图显示了在2016年1月1日 - 2016年3月31日测试周期内,DiskProphet的

平均预测准确率 96.1%,最低准确率在95%以上。

从软件定义存储到人工智能


随着数字宇宙的爆炸式增长,分布式存储/Server SAN以及超融合架构和的兴起,用户使用的硬盘(包括SSD和HDD)也将不断增加,相信DiskProphet的主动预测能够帮助用户防患于未然,极大地降低因坏盘导致重建(Rebuild的时间和风险。


在和董老师的交流过程中,他还提到了先智数据想和国内运维圈的朋友一道合作,利用AI现有的技术帮助运维人员实现存储运维流程优化。我记得之前看过一篇文章,提到IT领域中,自动化和人工智能最有可能在运维领域率先取得突破,我非常认可。这也令我想起了vSAN 6.6的一项新功能 - 基于云端分析的主动建议:用户可以选择参加客户体验改进计划 CEIP来获取 VMware 对于vSAN 环境的建议和指南,这些指南是 VMware 从全球上千家用户中收集的信息经过分析提炼,专门针对用户的环境所给出的建议。随着中国用户数据中心在云化上的不断深入,相信逐渐会有越来越多的IT设施走出Dark Site,享受主动预警、自动化运维的好处。


最后祝中国存储界的常青树-董老师在新的征程中,取得佳绩!


打开 阅读原文 ,是文章《SDS之五:软件定义存储的现状 – 自动化篇》