NAS,近来可好?

来源:互联网 发布:mac系统 ps 编辑:程序博客网 时间:2024/05/16 12:00

好久没谈谈NAS了,这次捯饬两句。


SAN/NAS各论

存储系统可被笼统划分为两大类,一类是提供块语义访问的块存储系统,其接受的I/O请求是类似“读,块设备#1,起始块号xx,长度xx”。另一种是提供文件语义访问的文件存储系统,其接受的I/O是类似“读,文件名xx,起始字节号xx,长度xx”。在传统存储领域,块存储系统包含DAS和SAN两种硬件形式,文件存储系统则对应了NAS的硬件形式。SAN和NAS也都从早期的双控冗余系统发展到多控集群化的系统。


在传统业务场景下,块存储系统主要用与承载结构化数据,比如数据库,以及一些独立的软件系统的数据。这些数据一般都是在线数据,软件系统会频繁访问。而文件存储系统则主要用于承载非结构化数据,也就是零散的文件,比如,员工本地计算机存储的零碎文件,或者其他业务系统生成的离线数据文件,比如数据库的备份文件等。

总之,块存储给人的感觉就是存一些道貌岸然正经的、关键的数据,而NAS存的则净是些三教九流闲杂人等数据。


其实,从本质上来讲,NAS之所以存的东西多而杂,是因为NAS存起来非常方便,利用所有OS都会原生携带的NFS/CIFS协议很容易的挂载远程目录,而且兼容POSIX接口,可以对上层应用完全透明,应用若不去主动调用一些接口来探测,根本不会发现该目录是从远程挂载的。NAS方式下,元数据、数据、元数据管理模块都在NAS上,而块存储系统中只保存数据和元数据,元数据管理模块(文件系统)却运行在客户端主机上。这使得块存储只能依附特定的那个主机,而NAS不依赖任何其他角色,自己拥有和管理数据,主机只是连接上来存取。


另外一个很重要的原因是,NAS可以更加方便的做到多主机共享访问同一个目录/文件。而要想在块设备上做到这一点,则需要主机端再安装一层共享式集群文件系统(参考《冬瓜哥手绘:各类集群文件系统架构详解》),也就失去了通用性和标准化。


NAS的共享特性使得其成为企业内的大U盘,即插即用,有啥都往上放。


NAS的正经应用场景

另外,NAS的天然共享特性让一些集群化的应用非常受用。规模不大的集群应用场景使用NAS可谓是如鱼得水。比如,视频渲染、基因分析小规模科学计算等等。在这些小规模系统中,通常服务器数量不会太多,在百台左右量级。而且这些业务通常都是行业应用,比较专业,这些软件系统的设计开发者一般专注于业务层,而对存储层并没有投入太多的资源去做各种适配、优化,其往往要求存储层越标准越透明越好。另外,这些行业类集群化应用通常要求底层存储可以被所有服务器节点共享访问,因为这种思路最传统,最“正常”。至于分布式架构这种玩法,属于新兴屌丝玩法,总显得不是那么“像样”的感觉,当然,给屌丝们好好打扮打扮包装一下,大家习惯之后,最终也自成一派。


正因如此,NAS这种天然共享的存储系统被广泛用于上述这些行业集群化应用。然而在早期,由于以太网带宽相对于同时期的FC等存储专用网络而言总是差一截,尤其是像广电视频非线编这些系统,要求持续高带宽,而NAS的千兆网口吞吐量无法满足。当时,出现了两种方案来应对这个问题,第一种是将NAS集群化,NAS控制器也形成集群,但是这样做成本会显著提升。另外一种方案则是采用NFS/CIFS over SAN,也就是开发共享式集群文件系统,从而让让所有业务服务器共享访问同一个块设备,利用当时FC的高带宽满足业务吞吐量需求,后面这种方式一度大行其道。


随后,以太网的发展不可同日而语,万兆普及,基本上解放了这类行业应用。到了大数据新时代,各类业务的数据处理密度也跟着大为提升了,比如视频从480P到了4K。此时几个万兆口也无法满足了,存储专用网络比如FC已经到了16G级别,但是靠一两个SAN控制器也无法满足需求。此时就只剩下集群SAN/NAS这条路可走了。在集群化场景下,集群NAS比集群SAN更加方便,因为后者还需要部署单独的集群文件系统,而且无法做到对数据的集中管理,因为在SAN设备上只能看到块设备,无法感知到其内部的文件结构,而NAS却可以。集群NAS在本质上其实就是分布式文件系统+NFS/CIFS访问协议。至此分布式架构彻底大兴其道。但是在更高的维度上,业务服务器节点与NAS之间仍然是传统的集中式访问方式,南北向流量。而在NAS内部可能存在东西向流量。


服务器与NAS之间是高吞吐量的南北向流量,这种方式对于中等规模集群是合适的,但是对于特大规模集群,集中的存储系统与业务服务器之间的距离会越来越长,导致南北向流量产生瓶颈。此时就需要另外一种存储架构来满足。规模特大的分析系统就不适合用NAS这种集中式的存储系统了,而要采用分布式存储,同时还需要从上层架构入手变更,将处理方式改为松耦合式处理,各干各的,各自只访问本地存储,这样可以避免在特大规模网络中的东西向流量,而南北向流量只被限制在本地。但是如此特大规模集群也几乎只在大规模互联网企业中存在了。



对象存储 大数据时代的新方式

大数据时代与传统时代的不同是,数据极为丰富。80后的朋友们可以回想一下,我们的上一辈对物质是怎样看待的。一件衣服,修修补补穿几十年,一个盘子一个碗,破了磨磨边继续用。总结一下就是:一样东西反复用,用到成为化石为止。而再看看我们现在这个时代,物质过剩,一茬接一茬,就拿快递包装箱来说吧,如果是老一辈,那一定会留着放个东西,或者发快递时候重新利用,而我们这一辈败家子儿们估计多数都会扔掉,下次再发快递就用新的。

对于数据而言,也是这般模样。对于一份数据,反复用(编辑/修改)的场景,很少,除了一些文档类之外,其他的基本都是不会被修改的数据,而且后者的数量已经远远超过了前者,而且已经堆成了山,包含大量的冷数据和垃圾数据。比如你现在就可以看看你的微信、QQ安装目录下面到底存了多少平时接收到的表情、图片、小视频。。为此手机上还有专门的垃圾清理APP。

而传统的文件系统为了满足通用的全场景的文件存储,不得不做到全能,各种文件操作接口一应俱全,细化到字节级操作,各种权限管理都集成在一起,所以导致架构不够高效。另外也无法管理太多的文件数量。

为此,对象存储应运而生,其专门应对这些量非常大的、不会被修改的文件,具有精简的访问接口,更高效的文件管理方式。


云时代的NAS

到了云时代,越来越多的企业选择将一些外围业务迁到云服务商的基础架构上。而更高比例的初创企业直接将IT系统全部构建在公有云上。当然,也有一些企业初期利用云,后期壮大之后再从云上把系统逐渐迁移到自己这的。


云中的基础架构与传统架构有些许区别,尤其是在存储层方面。为了管理方便统一,成本更低,云广泛采用服务器+分布式系统来搭建出各种存储系统,包括块存储、文件存储、对象存储、表格存储等等,并将这些访问接口抽象成更高层面的web服务对外呈现。这样,云里的硬件基本就只有交换机+服务器了。


传统IT系统于基于云的系统只是在硬件形态上,底层架构上有些区别,上层访问方式并没有本质区别。那么传统系统中的集群NAS系统,在云上也应该有对应的服务。不得不说,早期,公有云中也并没有提供NAS服务,存储层几乎都是块和对象服务。与传统存储场景所发生和经历的一样,SAN/块似乎永远都是主角,都是最“正统”的那个。不过,NAS这个二把手还真是缺不了的,果然,没多久,各个公有云服务商就开始推出NAS服务了。


公有云中的NAS的有很大的用武之地。随着越来越多数量和种类的系统被迁移到云,其产生的数据总得有个方便的地方来存放,NAS就是个很不错的选择,这与传统IT系统是一样的情况。其次,越来越多的集群化业务被部署在云端,因为云端部署大规模集群的效率更高,而且,这些集群处理的数据量一般都比较大,而且多数数据直接来自互联网前端,这样,数据不用动地方或者只做短距离迁移,即可作为这些处理集群的输入源。数据存储和管理的成本也更低。

比如某些播出系统,从报道现场采集的视频数据直接传到云端,然后就地进入视频编辑集群系统进行编辑,最后直接发布到网页。再加之由于这些行业类集群应用多数依然要求底层提供共享的存储目录而不是分布式的,而NAS则成为唯一便捷的选择。



上图是云上通过ECS+云盘的方式自建NAS和阿里云NAS的TCO对比,假设用户需要1TB的NAS,自建需要构建一台文件服务器,即ECS上搭配1TB的云盘,在云盘上部署nfs server,考虑到高可用,需要再扩展一套文件服务器做HA(ECS+云盘,总价格double)。阿里云NAS自带高可用,用户在计算节点直接挂载即可使用。所以两者比较来看,直接使用阿里云NAS将更有优势。这里的ECS的规格是ecs.e3.large。


到底是自己买菜洗菜备菜炒菜的成本高,口味好,还是直接去食堂点几个菜好呢?有时候仔细想想,对于多数人来讲,自己做还真不一定能比大厨批量优化过的更好。


阿里云NAS Plus 云中的高性能集群NAS

5月23日,在阿里云栖大会上,阿里云发布了NAS Plus服务,可提供高达200Gbps的吞吐性能和低至1毫秒的超低延迟,支持12层4K媒体编辑能力,比一般多媒体处理能力高10倍。阿里云表示,用户无需对现有应用做任何修改,即可应用于广电非编、基因计算、视频渲染等多种业务场景,相比同类解决方案成本下降70%。


虽然用户可以使用块存储服务,然后在计算节点上自己搭建一个NFS/CIFS客户端出来,但是其无论在性能、扩展性、可管理性方面都无法满足企业级应用需求的。另外,自行搭建NAS,在成本上也不具备任何优势。



在视频处理领域,阿里云还提供了一些增值功能,比如智能拼接、文件虚拟化、帧级共享等应用感知方面的功能。




阿里云NAS在容量、价格、性能上都提供给用户更加宽广的使用范围,容量型NAS满足用户低成本、大容量的需求,性能型NAS满足用户高性能的workload。为了更友好地适配不同的操作系统使用文件存储,阿里云NAS是目前全球唯一的一家同时支持NFS协议(NFSv3.0/4.0)以及CIFS/SMB协议(smb2.0及以上)的Cloud Native云厂商。






最后,附上一个阿里云NAS的综合对比表供参考。




原创粉丝点击