在2018年云栖大会·南京峰会的飞天技术汇专场中,阿里云产品专家王登宇带来了题为《企业数据创新之旅——高性能NAS助力业务上云》的精彩技术分享。在分享中,他首先介绍了企业上云面临的困难和阿里云存储之路;随后对NAS文件存储产品家族的技术架构和适用场景进行了分析;分享最后,他结合基因、视频、AI等具体客户对NAS助力业务上云进行了详细讲解。
数十款阿里云产品限时折扣中,赶快点击这里,领券开始云上实践吧!
以下内容根据现场分享整理。
时至今日,企业上云已不再是一个全新的话题。
上图是IDC在2016年对全球企业级存储市场增长趋势的预测:从2015年至2020年五年时间,本地IDC ON-PREM,大约增长了3倍;而云上OFF-PREM 大概增加了4-5倍。当更多企业选择云存储的同时,也给企业IT部门带来了更多的问题和挑战。
对于传统企业业务,如数据库、CRP等业务,一般是使用存储设备进行存储,当存储空间达到极限时,经常面临存储无法扩容、设备过保、升级换代、数据迁移、机房扩建等问题;对于互联网业务,它不同于传统业务,更多关注的是业务快速上线、避免IT投资风险、业务快速转型,从而需要横向扩展能力以及按需使用资源。
面对这些问题时,IT部门的负责人需要考虑如何以最优的方式解决这些问题。阿里云存储正是在解决此类问题的过程中成长起来的。
阿里云存储之路
从最初接触云储存至今,阿里云存储之路已经整整走了十年。2008年,组建云存储团队,探索阿里集团大规模存储解决之道;仅隔一年,在2009年,云存储团队便推出了分布式存储引擎1.0,为虚拟机、阿里金融、邮箱、搜索提供通用存储服务;2013年,实现存储单集群5K计算节点,打破Sort Benchmark世界记录,在377秒内完成100TB排序;在2015年,单集群更是突破10K计算节点,基本完善阿里云存储产品体系,并在2016年,以$1.44/TB的成绩获得Indy专用目的排序和Daytona通用目的排序两个子项的世界冠军,打破了AWS年保持的纪录4.51$/TB,云计算效率世界第一;在2018年。阿里云存储团队推出了分布式存储引擎2.0,面向人工智能、科学计算、深度学习等未来存储场景实现存储引擎升级,构建全新一代存储引擎。
飞天统一存储
对熟悉阿里云的同学而言,飞天一定不会陌生。上图给出了飞天统一存储架构图,作为阿里云自主研发、服务全球的超大规模通用计算操作系统,最底层是全球部署的19个地区,几十个数据中心;其上是基于海量的X86 Linux高性能通用服务器集群;通过分布式协同(女娲)、资源管理(伏羲)、安全管理、远程过程调用(夸父)构建中间盘古分布式存储;在盘古之上,是对外提供的不同类型的存储产品,包括块存储、文件存储、对象存储、表格存储等;在存储产品之上,是阿里云对外提供的MaxCompute、日志服务、GPU、ECS等各类云计算产品。
盘古分布式存储
上图给出了分布式存储服务盘古的架构图,主要由盘古核心基础层、盘古产品适应层和产品层构成;其中盘古核心基础层又分为软硬件一体化层、单机存储引擎和盘古核心功能模块。最底层的软硬件一体化层,主要采用了定制化的新硬件和新介质;在其上,将硬件抽象成单机存储引擎;在单机存储引擎之上,形成了盘古核心功能模块,包括多副本协议、元数据管理、磁盘管理、数据放置策略、数据校验、纠删码。盘古产品适配层提供了块存储适配和分布式文件系统适配,实现一套架构满足上层不同云存储产品的IO的需求;产品层为用户提供了实际使用的云存储产品,如对象/表格存储、日志/消息存储等等。
盘古整体分布式存储架构使用用户态的TCP网络协议栈,减少用户态与内核态的开销;同时采用了全面兼容RDMA网络,通过软硬件一体化增强网络的稳定性、降低网络延迟,逼近网络物理极限;此外,采用自适应的网络,针对不同场景自由切换识别网络特征;最后,在RPC方面也进行了全面优化,全面改进Protobuf的性能,并针对线程模型进行了全面优化。
NAS文件存储产品
作为本次分享的主题——NAS文件存储,从2016年初正式上线至今,NAS文件存储产品家族已经聚合了通用型NAS(又可细分为容量型、性能型)、NAS Plus、CPFS三大产品。
通用型NAS
通用型NAS底层基于盘古;盘古的上一层称之为前端,它主要是提供NFS和SNB协议的集群;在前端机的上层是负载均衡;再往上一层就是客户端层,也就是说NAS产品一定是要配合计算节点进行使用的。
从整体架构来看,Metadata完全是完全是旁路的,不占用整体IO路径。当客户端请求经过负载均衡接入到处于空闲状态的前端机,前端机通过查询Metadata获取数据所在的存储位置,其中对Metadata采用了一些缓存策略,减少查询次数;查到数据之后,直接从盘古中对数据进行读取/写入等操作。从架构中可以看出,NAS并非像传统文件存储一样,在某些地方存在性能瓶颈,所有的节点均采用分布式部署,避免单点故障对系统造成的影响。
通过如上架构设计,通用性NAS实现了高性能、高可靠、高可用:
·单文件系统的吞吐量可到20GBps,IOPS可达到5k;
·性能随容量线性增长;
·4个9设计高可用,11个9设计高可靠。
在协议支持方面,阿里云通用性NAS是实现了NFS V3.0/V4.0和SMB v2.0/v2.1v3.0的多协议支持,业内首创;在安全方面,采用阿里云共有的安全特性,如VPC、安全组、ACL、多租户、主子账号等。
通用型NAS——场景
由于通用型NAS简单易用,企业无需修改NFS/SMB接口;并且具备弹性扩展,容量无限扩展,性能按需满足;此外,用户可以按需购买,按使用量计费,无需额外费用;以及降低TCO,即开即用,无需Capex投入的特点,使得NAS在企业有着广泛的应用场景,如文档共享、视频存储、Web站点、移动应用、公共文件夹等。
CPFS并行文件系统
通用性NAS能够覆盖企业百分之八十的应用场景。但是在一些行业的特殊场景、如AI、深度学习等,数据量非常巨大,通用性NAS是无法承受如此巨大的压力的。因此,阿里云与Intel合作,根据AI时代大数据量的需求,研发了CPFS并行文件系统。该系统的架构如上图所示:底层依赖于盘古分布式存储;中间一层是Intel的Luster的协议和架构;最上层是客户计算节点,该系统利用了盘古存储的高可靠和扩展性,同时又兼具Luster并行文件系统高吞吐协议,能够实现单个文件系统1TBps吞吐,1亿IOPS。
CPFS并行文件系统——场景
目前CPFS系统处于公测阶段,使用者可以在CPFS的官网上申请测试使用。这里,强烈推荐无人机、大数据分析、高校科研、人工智能、安防大数据、个人信用画像、工业制造、生命科学等业务在云上试用下CPFS并行文件系统;此外,CPFS不仅仅在公有云上,在大客户的专有云上也有对应的输出。
NAS文件存储——网络访问方式
文件存储和对象存储有很大的区别。目前,NAS文件存储支持多种网络链接模式,包括VPC、经典网络和IDC直连,其中VPC方式是我们最推荐的一种方式,最为安全。三种方式的具体实现结构如上图所示。
NAS File Sync文件同步
NAS File Sync文件同步是云存储团队上个月刚推出的服务,该服务使得客户在云上的数据得以“流动”起来,支持用户本地数据中心、阿里云NAS、阿里云云盘之间的自由流动以及跨区域复制,进而实现数据全生命周期管理,实现热、冷数据分层(热数据采用文件存储,冷数据采用对象存储)。
NAS File Sync文件同步的操作十分简单:第一步,创建数据源;第二步,创建文件同步任务。仅需在控制台上简单的两步操作就可以实现文件同步。通过对文件同步进行扩展,现在也支持跨区域的文件同步,通过在控制台设置跨区域复制,就可以实现不同区域(如图示华北、华南)的文件同步。
上图对目前NAS产品进行了总结,这里不再一一陈述,用户可以根据自身业务的特点和产品的适用场景选择性的使用。
NAS文件产品使用案例
下面结合上面提到的几个产品,具体讲解一下使用场景。
NAS/CPFS并行文件系统——基因测序存储利器
上图是NAS产品在基因行业的一个具体案例。目前,国内Top3的基因公司都在使用阿里云的文件存储服务。基因公司其中具有代表性的业务场景是数百TB/月测序仪下机数据通过计算和存储进行后续的测序任务。针对这类业务,我们推荐使用CPFS并行文件系统,在实地测试中,CPFS在17分钟内加载完1万个人类全基因组下机数据。通过使用CPFS文件并行系统,整体优化效果十分明显,业务流程由之前的5个小时缩短到1,5个小时以内;同时,云上资源按需使用,TCO降低70%。
NAS Plus 极速IO—搭建高性能弹性Web Server
在Web Server方面,阿里云的某个客户的业务规模达到日活数百万。在没有极速IO之前,该客户的前端计算业务负负载存在较大压力。该客户目标是在六个月内会增加到上千万日活,原来的架构是远不能支持这一目标。通过在阿里云上构建高性能Web Server,采用NAS Plus极速IO文件系统和基于RDMA的网络以及NVMe SSD,能够提供稳定、500us的超低时延和1M IOPS。通过压测,满足每天千万数量级小文件读写能力;同时通过异步数据复制,实现跨Region灾备能力,实现业务高可用。
NAS Plus智能缓存——支撑云上视频非编系统
视频行也对IO要求也是极高的。NAS Plus智能缓存通过在客户端安装agent,实现对用户IO进行两个方面优化:一是预读,视频行业在做非编业务时,是将大量数据顺序读到计算节点中,因此可以通过预读加速;二是本地写聚合,所有写操作在本地进行缓存,进行聚合后再一起写下来。经过测试,NAS Plus可以支撑16台云图站每台20层4K高清编辑,业务流程缩短5倍,同时TCO降低60%。
NAS文件系统—云上大规模渲染
NAS文件存储配合批量计算BCS形成了云上大规模渲染方案。阿里云在国内外有着大量的渲染客户,电影渲染对计算的要求是十分之高。客户在后期渲染时,需要云上数千台GPU同时运行,而一般的公司本地最多也就是几百台的规模,无法实现大规模场景渲染,因此需要将相应的素材数据和镜头数据上传到云端,利用云上的批量计算BCS同时加载几千个计算节点,从后端同时读取相应的素材数据进行渲染。在上图所示的架构中,我们在计算节点和NAS文件存储中增加了全局分布式缓存,使得几千个计算节点避免同时从NAS系统中读取数据。NAS文件存储配合批量计算BCS形成了云上大规模渲染方案。
NAS文件系统——助力AI和机器学习
对于近年来相当火爆的AI和机器学习,所需的数据量越来越大,模型训练要求的计算资源也越来越多。目前,阿里云在华北提供了一个大型GPU渲染资源池,专门服务此类客户。客户的所有数据通过阿里云高速通道上传到NAS文件存储中,通过GPU计算资源来进行模型训练,大大提升了模型迭代速度。
NAS文件存储——全球部署
NAS文件系统从2016年3月份上线,同年9月份公测,截止今日,历经两年多的风雨。最初,NAS主要服务于国内客户,集中于华北、华南、华东地区。目前,在阿里云全球19大Region,NAS已经在16个Region(图示绿点)开服,在2018年,将会实现全球19个Region的NAS全覆盖。因此,当企业上云之路遇到困难时,不妨考虑下阿里云存储!
本文由云栖志愿小组刘崇鑫整理编辑