阵列与服务器在存储上的争斗(上)

  在存储核心(控制器硬件与软件)的位置上,正在发生着一场争夺。Oracle、EMC、戴尔和VMware希望它在服务器上,而NetApp和HDS希望它在阵列上——一个与服务器互操作的阵列,但又与服务器分开。

  目前在表面上还看不出分歧——例如,NetApp正在同Oracle合作——不过,分歧正发生在研发上,在那些拥有多年产品经验的战略师和工程师身上。

  现代存储行业,网络外部存储阵列行业,构建在两个基础上。一个是EMC的建立的第三方外部、块访问存储阵列市场,与当时的服务器供应商分开:惠普、IBM、Digital Equipment等。

  另一个是文件访问型网络附加存储(NAS或Filer)的发明和建立。NetApp是NAS最积极的倡导者,而EMC后来在NAS销售上超过了NetApp。EMC和NetApp代表了外部存储阵列的双峰。

  存储阵列可以分为两种类型。一种是单片型的,有多个控制器或引擎和一些互联硬件来将这些硬件连接到存储架——比如赛门铁克以及后来的VMAX。一种是模块化的。模块型阵列有两个控制器连接到存储架——通过光纤通道或后来的SAS。NetApp的FAS阵列和EMC的CLARiiON是这种类型阵列的典型代表。

  服务器中的应用程序将SCSI(小型计算机系统接口)块访问请求或文件访问请求发送到这些阵列,后者在逻辑上将自己呈现为一个存储池,并分成各个专门的逻辑磁盘(LUN)以用于服务器应用程序或共享文件夹。

  过去长期以来的存储概念正在被摒弃。Sun公司和Andy Bechtolsheim先生给旧概念的棺材钉上了第一颗钉。

  Honeycomb带来的冲击

  Bechtolsheim的想法是在同一个整体机箱内联合放置的服务器和存储可以加快那些依赖于大量存储数据的服务器应用程序的速度。例如,Thumper,一个服务器丰富型NAS设备,就是这种理念的产物;Honeycomb是另一个。

  Thumper和Honeycomb在当时没有引起轰动,但是它们确实显示了一种更快地将数据传送到服务器的方式。Oracle在2009年收购了Sun,马上Bechtolseim的理念在Exadata产品上得到了体现。Exadata有一套运行Oracle软件的服务器资源,同时拥有自己的存储资源。这给Oracle的世界带来了轰动,Oracle在此过程中得到了更多鼓舞,因为它自己的模块化阵列确实是二流的。

  Sun的发明和Oracle的扩展诞生了这个NoSAN服务器。EMC看到了这个理念并设计了这个No-Server SAN(无服务器的存储局域网),这看起来像是一种逆向工程的结晶。

  EMC将服务器带到阵列

  VMAX、VNX和Isilon阵列将可以运行阵列控制器复合体内的服务器引擎的应用程序软件。这和VMware什么都包干的ESX是自然的组合。VM(虚拟机)被载入以运行存储控制器软件和应用程序,减少数据访问的延迟时间。这些在阵列上运行应用程序的服务器使用阵列本身的内部网络或光纤架构,比如VMAX的Virtual Matrix,而不是正常的以太网或光纤通道。我们知道,这不是SAN(存储局域网)访问。

  EMC还有一个“闪电项目”(Project Lightning)让它的阵列来管理服务器中闪存高速缓存(PCIe闪存)的载入和运行。这和戴尔的想法不谋而合。戴尔也想构建配置闪存的服务器,但是这是一个存储层而不是高速缓存。这个0层存储逻辑上是整个阵列控制器所管理的存储池的一部分,拥有自动的数据迁移功能。

  未来可能是完全没有存储网络协议。

  现在,EMC可能也有这个想法。FAST VP将数据发送到服务器闪存和读取闪存的数据,而这个服务器闪存在当时还并不是真正的高速缓存而也是一个0层存储。不过,根据我的理解,戴尔的愿景是将存储迁移到服务器内并将它连接到闪存和服务器DRAM(动态随机存取记忆体)所连接到的同一个第三代PCIe总线。这意味着服务器不适用传统的外部存储连接来访问数据。这不是SAN。那么对于外部阵列厂商来说,这些NoSAN理念意味着什么呢?