计算和存储的融合

alan.wu@aliyun.com

 

记得2000年初的时候,中科院计算所的一位同事发表了一篇文章,观点是计算和存储的分离。在那个年代SANNAS正在兴起,存储的管理慢慢从服务器中分离出来,独立发展。从而形成了以块接口为代表的存储局域网络(SAN)和文件为接口的网络附属存储(NAS)。当存储从计算资源中分离出来之后,IT架构演化成如下结构:

 

wKioL1O6xyeBbB-4AAG3jMSSbXk472.jpg

 

NAS存储网络提供文件系统接口,可以支持NFSCIFS等协议;SAN存储网络提供块设备接口,支持iscsi等协议。NAS的最大好处在于使用简单,不需要考虑存储访问的互斥问题;SAN最大的好处在于IO访问性能高,延迟小,但是在共享存储的时候,需要应用层额外的支持。在如今IT架构中,SAN/NAS成为了存储的标准架构形态。

 

存储界的大佬EMCNAS/SAN方面有很多的产品,其中最典型的就是统一存储部门(USD)的VNX系列产品。VNX产品可以提供SAN服务,同时也可以提供NAS服务。因此,该类存储被称之为统一存储。从技术的角度来看,没有什么新鲜的,当需要提供NAS服务的时候,在SAN存储之上再提供一个NAS机头就搞定了。

 

NASSAN在存储界扮演着重要的角色,当存储系统规模增大之后,就需要集群技术的支撑。一方面通过集群的方式获取更大的存储容量;另一方面通过集群技术获得更高的性能。SANNAS都可以采用集群的方式构建大规模存储系统。典型的NAS集群系统就是EMC的大数据存储系统Isilon。另外,GFSHadoop之类的文件系统也都是NAS集群的代表。SAN集群的方式和NAS集群的技术很类似,笔者以前参与过的一个项目就是将SAN节点通过元数据服务器的方式进行虚拟化,对外提供块设备接口,这种方式就是一种典型的SAN集群架构。

 

时光如梭,昔日的真理在当下有可能变成了谬论,因为应用环境变了。IT逐渐往更加高级的形态发展,数据中心虚拟化的潮流已经势不可挡。在这种形势下,计算和存储的分离引入了新的性能问题。因此,很多人开始思考,NAS/SAN这种形式是否在新的应用环境下依然适用?

 

可以肯定的是,在虚拟化的数据中心中,计算和存储的分离会引入性能问题。这一点我们也可以看看Hadoop的架构。在Hadoop应用中,如果刻意的将计算和存储分离,那么Hadoop的计算效率将会下降,为了克服这个问题,Hadoop往往需要对计算任务根据数据存储的位置进行调度,以此来提升整体大数据分析的性能。

 

因此,在以大数据分析、虚拟化数据中心中,计算和存储不想分离,这就诞生了另外一个新的产业:计算和存储的融合。在这个产业中,很具代表性的一家公司是Nutanix,这是一家提供Appliance的公司。他们的设备可以直接部署到数据中心中,存储和计算是一体化的。并且,为了提高存储的性能,在这些节点中都会部署Flash存储,根据数据的冷热程度对数据进行分级存储。Nutanix的一体化系统如下图所示:

 

wKioL1O6x0Wx8bb7AAE_aXsGlyI287.jpg

 

除了以Nutanix为代表的公司提供一体化系统之外,Vmware也提供了VSAN的软件解决方案,其主要目标是通过软件的手段将服务器中的存储虚拟化,提供给虚拟机使用,其思路和Nutanix是一致的。

 

永远不变的是变化,计算和存储之间分分合合,这完全是根据应用的需求而定的。计算和存储的融合并不是说NAS/SAN就会消亡,NAS/SAN还是有其非常有价值的一面,共享、高性能、高可用都是NAS/SAN的闪光点。此外,随着数据中心虚拟化的推进,计算和存储一体化的系统也将大行其道。

 

你可能感兴趣的:(NAS,SAN,VSAN)