前几天,一个同事突然过来问我,什么是超融合架构,具体做什么用的。 当时我对这个概念还停留在比较模糊的状态,因此没能给出一个很好的解答。

于是花了点时间研究了一下这个时下颇为热门的技术,并且给我的同事讲了一遍,效果不错。 也自己总结一下。

要了解这个概念,就先要了解一下目前的架构以及存在的一些挑战。 目前的体系架构中,主要是通过网络,将服务器和存储连接起来,从而实现存储的共享。 并且通过存储的冗余功能,实现高可用性。

image

这种体系架构应该是目前为止主流的架构,我觉得称之为传统的架构也可以,但是感觉还有点为时尚早。此种架构索面的主要问题在于:

  • 系统复杂度高: 因为牵扯到 APP——服务器——网络——存储等多个层面
  • 扩展困难: 随着应用,数据,服务器的增加,对存储的CPU,容量等需求的提升,需要对存储进行升级,或者横向扩展,这又会进一步提升系统的复杂度
  • 网络延迟和复杂度:网络部分的延迟,交换机配置,兼容性等无法忽视

超融合架构通过几个重要的组件和架构的变化,可以解决这些问题。

简单来讲,超融合就是把传统架构中的网络,存储部分通过软件的方式和x86服务器融合到一起。并且通过虚拟化技术讲这些服务器进行统一的管理。原来存储设备的操作系统中的功能通过软件的方式来实现。这样在一个统一的接口中可以管理服务器,网络,存储。例如Nutanix,在一个2U的Chassis中有四台x86服务器,配置SSD(性能)和HDD(容量),以及CVM(Controller VM,也就是存储的操作系统的实现),以及VMware的ESXi作为Hypervisor, 就实现了一个超融合的架构。存储作为一个或者多个存储池来管理和使用。应用程序,虚拟机在访问数据的时候,通过CVM来访问本地或者在其他服务器上的数据。并且数据是在不同节点之间进行同步。可以看下图:

image

我们看看这种架构如何解决传统架构所面临的挑战。

  • 通过超融合,原有的多层次都集成到了一起,大大降低了复杂度。
  • 如果面临计算,存储资源的匮乏,可以直接通过过横向扩展的方式添加更多的资源。并且扩展的过程相对以前的架构大大的简化。而且数量上可以扩展到非常大,例如Nutanix目前没有硬性的节点数的限制
  • 因为网络和存储都已经融合到了一起,网络的配置变得简单,延迟部分相比以前也大幅缩减。

到这里,超融合架构看起来是一个非常棒的概念。但同样也存在一些问题。 例如,

  1. 软件形式的存储管理,目前来讲功能上还不是很丰富。
  2. 超融合系统的扩展是整体的扩展,存储,计算,网络,但是如果如果客户想单独增加某一部分的资源,超融合在这部分的粒度还不够。例如,传统的存储可以通过简单的增加盘,盘柜就可以实现。
  3. 超融合的实现不仅仅限于Nutanix这样的架构,例如VMWare的EVO:RAIL和NetApp的FAS2552同样也是另一种超融合架构的实现。兼顾了功能和可扩展性。
  4. 在同一个chassis中放入多个x86服务器,Chassis本身成为单点故障。虽然Chassis的故障率很低,但是如果Chassis发生故障,所有的节点,网络,存储都会无法访问。先对传统的架构这也是劣势之一。

IT这个圈子,感觉每每经过一段时间的变革,就会发生架构上的一个轮回。超融合也不例外,当初共享存储刚刚兴起的时候,服务器都是一个一个的孤岛,存储没有被共享,更好的利用。现在讲超融合,共享存储面临的一些挑战变成了重新回到服务器整合存储,只不过这一次通过虚拟化技术解决了原来的服务器孤岛问题。可以理解成一个更灵活,更高效,扩展更容易的升级版架构。