8月22日-8月23日,2019全球闪存峰会(Flash Memory World)在杭州召开。在8月23日下午举行的全闪存应用论坛上,阿里巴巴高级技术专家,阿里云智能文件存储架构师裴晓辉在《基于全闪的核心业务系统上云架构与应用》的演讲中回顾介质的发展史,介绍了闪存在阿里技术方面的发展以及文件存储在闪存的开发和实践等内容。
主持人:下面一位演讲者是裴晓辉,阿里巴巴的技术专家,就职于阿里云智能事业群文件存储部门,负责阿里云文件存储系统构架和研发工作,他曾就读于南京航空航天大学获得计算机应用硕士学位,毕业后加入阿里云工作,在此期间先后参与了阿里云高性能分布式KB系统和文件存储的研发,在分布式存储高性能存储方面有丰富的研发经验。
欢迎裴晓辉给我们做报告。
(以下内容根据速记整理, 未经本人审定)
图:阿里巴巴高级技术专家,阿里云智能文件存储架构师裴晓辉
阿里巴巴裴晓辉:基于全闪的核心业务系统上云架构与应用
裴晓辉 :大家好,我今天演讲的题目是,《基于全闪的核心业务系统上云架构与应用》,分享四个方面的内容,一是回顾介质的发展史,二是阿里在闪存技术方面的发展,三是文件存储在闪存技术方面的开发和实践,第四是NAS产品大图。
介质发展史
存储介质的发展经历了很多的阶段,从最开始的打孔纸带到后面磁带存保存冷的数据,后面还有磁盘、软盘,这些介质年轻的同学可能都没有见过,从IBM 1TB硬盘和现在的闪存,总的来说可靠性是越来越高。
这里跟谢长生老师的观点不同的地方是从核心业务和关键数据上闪存的角度看闪存已经是一种主流了,尤其是在大数据和虚拟化方面,并且金融、政府,政企云、电信已经加快了,比如说在线的金融,尤其是交易系统,如果有一个比较高的抖动就会带来经济上的损失,还有代码托管等。
闪存在四个方面会对业务带来比较大的帮助,极致的吞吐能力,很低的延时,能耗和性能的下降会降低综合成本,故障率的降低。
阿里在闪存技术方面的发展
阿里云ESSD云盘也是今年大规模商化的,带来了极致的体验,有100万IOPS的能力和4GB的吞吐。在这张图可以看到,阿里云的ESSD云盘的性能比友商远远领先的,我们取得这么好的性能,是我们有一个高性能的技术栈基础。
我们在虚拟化技术方面IO模型是一个多通道的模型,另外我们有非常高性能的RDMA的网络协议栈、自研用户态文件系统,还有非常重要的Run-to-Complete无锁线程模型,这些技术保障了非常好的性能。
阿里有一个很重要的基石是盘古分布式文件系统,具有高可靠、快速故障恢复,极低的空间成本提供极高的数据安全性。
文件存储NAS极速型利用了ESSD和闪存的极致性能的能力,和我们文件存储CPFS他们是有不同的定位,文件存储CPFS提供了几十GB的吞吐能力,提供毫秒级的延时,你可以做高性能的计算,文件存储通讯型给你一个线性扩展的能力,给你一个比较低的成本。
介绍一下极速型NAS极致性能的软件栈,在最上层有一个高性能的网络协议栈。前面已经提到RDMA的高性能协议栈,另外我们的文件系统是一个完全自研的文件系统,包括NAS访问的协议我们都是完全自研的,100G的网络也在不断地研发中。最下面是盘古文件系统,提供了一个非常好的能力。
我们极速型NAS的核心分为两个部分,一个有百微秒级的时延,最高读写45K的能力,我们支持20亿小文件的规模,并且还可以弹性的扩展。另外在数据安全这方面是做了很多的工作,你可以对文件系统打快照,这样在发生文件误删的时候,可以把文件恢复出来,也可以去做数据的加密。
另外,极速NAS提供了非常丰富的访问控制,接下来介绍一下产品规格,针对不同的应用,和用户场景提供了非常丰富的容量规格,并且还支持按量付费,或者是包年、包月的方式。目前极速NAS支持的协议是NFSV3,在后面可能会支持更多的协议。我们这边IOPS的能力,从20-45K的幅度,在未来也会有更高的能力。
文件存储在闪存的开发和实践
下面简单的介绍一下极速型NAS的应用场景,第一个Nginx、PHP网站和WEB服务。第二个持续代码托管和CI的集成,另外一个现在比较热的ECI容器,高性能的共享存储,这些应用都对时延非常敏感,会有大量的原数据的操作。使用通用型NAS时,就会导致系统运行比较缓慢,比如说网站的加载速度比较慢。
下面是两个具体的用户场景实例,某一个电商网站会把网页的素材放在我们极速型NAS上面,当用户每次打开的时候会需要大量的网络小文件的加载,这样当你的后端存储的时延比较高的时候用户体验是非常差的,会发现打开那个文件需要比较长的时间,这样对用户的体验是非常差的。他们迁移到极速型NAS之后网页加载的速度提升了20倍,保存日志到极速型NAS时,系统CPU下降了7倍,给用户带来了跟本地文件系统比较接近的用户体验。
另外,下面是一个比较重要的例子,国内某个顶级的金融服务使用K8S容器服务时,对于极速型NAS提出了非常高的要求,这是因为他们为一个股票APP提供服务,当IO延时较高时很可能导致某一项交易没有成功或者变慢,会变成非常糟糕的事情,可能会造成非常大的经济损失。当有极速型NAS之后,我们给他们提供了10万左右的IOPS,这里的IOPS包含了读写,还有原数据的操作。
阿里提供百微秒的时延满足了顶级金融服务商对下面存储延迟的要求。另外极速NAS是独享的,所以说不管是一个容器还是十个容器起来的话实际上他们之间是没有相互影响的,这样可以让用户体验到稳定的性能,这一点对于金融的用户是非常重要的,不允许存在毛刺,我们极速型NAS为容器提供了非常好的多机的共享能力。
NAS产品大图
最后,我再简单介绍一下NAS产品的大图,我们最上面是NAS为K8S,神龙裸金属服务、ECI、HPC批量计算、GPU服务还有机器学习,这些应用的场景我们都提供了非常好的解决方案,并且还可以和阿里云日志分析,智能的分析,生命周期的管理,拷贝的管理,防病毒这些额外的服务是可以衔接起来的。
在最下面我们对协议上面的支持,我们支持标准的NFS和SMB,值得一提的是我们文件存储NAS的协议层消耗比业界软件的消耗要小很多。另外,我们这边还支持了并行的文件系统,主要是支持MPI的API的调用,会有一个非常好的吞吐能力。
另外,我们这边高级特性还在不断完善过程中,在下面还是基于阿里云飞天盘古这一套分布式存储系统,他给我们提供了非常好的数据安全特性,还有一个极致的性能。另外,我们针对IDC计算接入云上面有比较好的方案,比如说可以通过VPN或者拉条专线或者NAT的方式去衔接。用户上云的时候会面临数据迁移的问题,所以说在文件存储NAS这边也提供了在线的迁移服务,并且还支持不同产品间数据迁移。
今天我这边分享的内容基本讲完了,最后还要为文件存储打一个call,如果在座的各位有致力于做下一代文件存储可以联系我的,咱们去做一个完全自研的,基于阿里云飞天的文件存储。
主持人:谢谢晓辉,阿里云在很多技术上都是自研的,技术研究的很深,大家如果有什么问题,请抓紧时间提出来。
提问:刚才讲了这么多阿里云上提供了这么多文件系统,有不同的产品,其实我理解做文件存储在时延和带宽就像天平的两端怎么样去平衡,我想请问一下今天着重介绍的产品,我的感受是在时延上有一些独到的地方,那阿里云在文件存储上如何考虑在时延和带宽上怎么样均衡和发展,甚至后面是有可能做到融合吗?
裴晓辉:这是非常好的问题,咱们去做存储系统的时候是两个重要的指标,一个是时延,你访问我的延时,另外一个是吞吐能力,这是一个相互之间有此消彼涨的问题。刚刚提阿里云在闪存技术发展的时候能看到,我们现在已经商业化的ESSD的100万的IOPS能力是给我们提供了一个非常好的工程实践上的经验,并且阿里云所有的软件架构也在向刚刚提到的那些方面做演进,比如说我们的软件站磨的越来越薄。
另外,关于延时和吞吐不是一概而定的问题,要针对用户的场景提供最好的方案,比如说如果是AI计算可以用CPFS。
提问:极速文件系统为啥容量限制在32T?还有一个问题是高性能网络协议对于我们用户来说需要定制化客户端吗?
裴晓辉:针对第一个问题我们内部32T最大的上线不是一个应用的限制,这是我们经过了一些调研之后发现的,当然如果有更大的需求可以提供一个工单联系我们可以开放的。第一个我们对上限没有限制的,甚至可以做在线的扩容。
第二个问题在做NAS过程中需要面临很重要的问题,就是客户端的问题,NAS跟对象和快有一个不同的地方是客户端的用户操作系统可能是千差万别的,它上面的客户端的实现也是不一样的。不同的客户端需要有不同的参数配置,才能够有更好的性能。
针对这些问题我们做了自动化的工具,只要把工具在ECS上或者客户端上去运行会给你一个很好的建议。比如说哪些参数做什么的调整和配置能够达到很好的性能。这个是针对标准客户端,标准客户端已经不是特别匹配云环境。比如说会影响下面的并发能力,我们这边也在去做定制化客户端的事情,它会比本地客户端有更好的性能、更好的稳定性,还有更容易使用的方式。你去使用NAS的时候不需要改任何代码,只需要挂在上面,和本地文件系统一样很愉快的访问他了。
主持人:谢谢阿里的专家,下一位演讲人是Eden Kim先生,来自SNIN硬盘技术工作组主席、Calypso CEO。