开启辅助访问

超融合+云计算论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 1748|回复: 2
收起左侧

Nutanix超融合系统一探究竟

[复制链接]
发表于 2016-7-10 16:59:06 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

提到存储系统的技术发展趋势,大家普遍会认为超融合与Server SAN是未来主流的发展趋势,会替代传统存储的技术架构。那么超融合与ServerSAN到底有何技术独特性?为何能够会成为未来数据中心存储架构的主流趋势?这种架构到底解决了数据中心的什么问题?这种架构主要需要解决的技术难点在什么地方?在此,存储老吴和大家一起分析一下Nutanix系统,从Nutanix系统来一起看一下这种超融合系统的架构独特性,并且能够从中体验到超融合与Server SAN的本质所在。

 

Nutanix是由Google工程师创立的一家存储公司,这个团队的很多人是GFS的工程师,这家公司借鉴了互联网分布式的经验,在通用服务器的基础上构建了存储系统,并且将存储和计算一体化,推出超融合系统,尤其解决了虚拟化计算环境下的存储问题。这家公司已经经历了5轮融资,共获得了超过317million美元的融资额。目前虽然面临VmwareVSAN冲击,但是还是拥有非常广阔的市场前景。

 

Nutanix这套系统中存在太多的概念,例如软件定义存储、超融合、Server SAN等。在这么多繁杂概念的背后,我们首先需要明确Nutanix到底需要解决存储领域的什么问题?存储老吴认为Nutanix需要解决虚拟化计算环境下的存储问题。让我们一起看一下传统虚拟化计算环境下的系统体系结构,如下图所示:


wKiom1Xpmf2TIERDAADnoKDuK48217.jpg


传统虚拟计算系统由刀片服务器或者普通服务器节点构成计算集群。在这些实际的服务器上部署虚拟机,虚拟机的部署可以简化计算资源的管理。在整个系统中,所有虚拟机通过后端存储网络共享集中式存储。这些集中式存储可以采用EMCVMAXVNX或者Isilon存储系统。为了提高存储服务的高可用,存储网络通常需要冗余,至少需要采用两个存储交换机(FC交换机)连接计算和存储资源。这种传统存储架构最大的问题有如下几个方面:

1,存储资源集中化,很难随着计算资源扩展而扩展。特别是采用VNX这种Scale Up的存储系统,无法适应数据中心的这种可扩展性需求。

2,采用存储与计算分离的这种架构,需要独立的网络、独立的存储与独立的计算。为了提高系统可用性,需要通过资源冗余的方式达到设计目标。因此,网络、存储控制器(双控)都会进行多份冗余,增加了数据中心的投资。

3,多种不同的系统在数据中心中进行部署无疑增加了数据中心的管理复杂度。尤其是后端多种类型的存储设备,增加了数据中心的管理成本。


我们知道数据中心的发展趋势是虚拟化,软件定义数据中心是发展方向。基于多种复杂设备的数据中心最终都会归一化成以通用服务器加互连网络的体系架构。在这些通用服务器上部署关键的软件,通过虚拟化的方式实现计算、存储资源。然后再在这些虚拟化资源的基础上部署应用,完成具体功能。


wKiom1XpmjyjNgjNAAFgpXrQh7g613.jpg


在这样一种发展趋势的推动下,Nutanix推出了这种超融合系统,为虚拟化数据中心完成了分布式存储虚拟化的任务。符合了数据中心向云时代发展的一种技术潮流。


wKioL1XpnHqysiEcAAEEg4_nA74567.jpg


Nutanix超融合系统的系统架构如下图所示:

wKioL1XpnI_jZMOcAAEUq5x7yH4182.jpg


这是一个典型的Scale Out分布式存储架构。Nutanix系统由一系列的服务器节点构成,通过后端网络将这些节点互连起来,形成一套分布式的计算、存储于一体的系统。在每个Nutanix节点中存在多个虚拟机,其中至少存在一个Controller VM,该虚拟机负责实现本地存储资源的管理,并且与其它节点配合实现一套分布式的存储系统。客观上讲Controller VM所构成的分布式存储和EMCIsilon是类似的,Controller VM中运行Nutanix核心的分布式文件系统,将本地和远程的存储资源虚拟化,并且通过SSDHDD进行性能优化,实现分层存储。Controller VM对外可以提供传统的IscsiNFS等接口。由于应用VMController VM都位于同一个物理设备中,所以,两个VM(应用VMController VM)之间也可以通过特殊的接口实现更加高效的存储访问。

 

简单的从这个架构上来看,Nutanix仅仅是将存储操作系统运行到了VM上,而不是传统的控制器(物理服务器)上。EMCIsilon通过实际的物理服务器来实现存储功能,从技术的角度来看,的确没有太本质的变化。将存储功能迁移到虚拟机平台上,实际上使得存储研发更加简单。虚拟机平台将不同物理服务器平台进行了归一化,使得存储厂商可以对物理服务器平台进行透明化处理,简化了设计。当年备份领军厂商DataDomain就有这种思路。DataDomain的主流产品是在物理服务器平台上实现的,在定制过的物理服务器平台上安装核心的DataDomain操作系统实现备份数据的重复数据删除。在虚拟化应用中,DataDomain同样提供了虚拟化的解决方案,即在虚拟机平台上安装DataDomain操作系统实现一个虚拟化重复数据删除系统。这个备份虚拟机可以和应用虚拟机位于同一个物理服务器平台上,或者备份虚拟机可以安装在VMAX这样高端的阵列中,实现一体机解决方案。所以,从这一点上来看,Nutanix的架构其实没有什么过人之处,在EMCIsilon平台上可以较为容易的封装成一套和Nutanix类似的超融合系统。

 

在虚拟机平台上实现存储功能,其本质上是将很大一部分服务器平台管理的工作交给了虚拟机厂商,例如KVM或者Vmware,从而减轻了存储厂商的工作量。存储厂商原本需要研究多种服务器平台,现在只需要研究vmware或者KVM这几种有限的平台了。但是,凡事都是两面的,由于虚拟机软件本身还存在很多缺陷,本身还处于发展过程中,所以,迁移到虚拟机平台上之后,不一定给存储厂商减少了工作量。这一点我们可以从Nutanix的团队构成可以看出,其虚拟化方面的工程师占了很大比例。虽然减少了服务器平台工程师,但是却增加了虚拟化方向的工程师资源。

 

所以,存储老吴认为,Nutanix产品在架构上并没有太多的创新,传统存储中都有这样的身影。Nutanix一个很重要的成功在于迎合了数据中心发展的趋势,在超融合产品上做出了巨大创新,并且提出彻底抛弃SAN/NAS,加速了数据中心云化、虚拟化的进程。这是解决方案和产品方面的巨大创新。

 

Nutanix产品的核心是一套软件,该软件被称之为NutanixOperating SystemNOS),在NOS中的核心为分布式文件系统。该文件系统实现了分布式存储的功能,其将SSD和磁盘资源进行全局虚拟化,然后再组织成卷或者文件提供给其他的应用虚拟机。从应用虚拟机的角度来看,其可以通过Iscsi initiator的方式来挂载分布式Controller VM所提供的卷。数据在各个物理节点之间是冗余的,可以采用多副本或者Erasure Code的方式冗余数据,从而保障了数据的可靠性。基于存储虚拟化技术的Nutanix架构如下图所示:


wKiom1XpmoWBjYAAAAGWPEN5lF0407.jpg


可以说Nutanix是一个彻头彻尾的软件定义存储系统。借助了虚拟机技术之后,更是可以将存储部署到任意的通用服务器平台上,所以,Nutanix也是一种Server SAN系统。从技术的角度来看,Nutanix还是一个分层存储系统,在Nutanix的节点内部都会配备SSD,该SSD用来作为热数据缓存,所有的热点数据都可以放置到SSD中。在Nutanix节点之间通过互连网络进行互连,互连网络可以是10Gb以太网,也可以是IB网络。在这样的一个体系结构下,整个系统的性能瓶颈点并不在于存储盘、不在于CPU计算资源,而更多的是在于后端的互连。在数据访问的过程中,无论是读还是写操作,都需要经过后端网络的数据传输,从而会影响请求的整体吞吐量以及IO延迟。特别是系统中存在分布式缓存的情况下,这种架构会对系统的可扩展性造成问题。这一点我们可以看看VmwareVSAN,为什么一直很难将系统的节点数量线性扩展,其最主要的一个原因在于节点之间存在数据相关性,而且还会存在分布式锁的问题。从技术角度来看,在存储领域一直在研究这方面的问题,设计一个可以大规模扩展的分布式文件系统/分布式SAN系统才是技术难点所在。在这一点上Nutanix采用了Lock-free的并发处理模型,采用无锁并发的设计大幅度提升性能,可以达到线性Scale Out的目的。如下图所示,NutanixVDI应用下呈现线性可扩展的性能:


wKioL1XpnMXDuTRDAAD2D4NUafo485.jpg


Nutanix的另一个很重要的特点是提供高可靠数据服务和高可用应用服务。当应用服务器出现问题的时候,可以利用虚拟机提供的VM迁移服务,将应用从故障节点上迁移到一个可用的服务器节点上,从而可以在较短的时间内实现应用的切换,从而保证服务的高可用。当一个Nutanix节点中的本地数据盘发生故障时,其他节点中的Controller VM会接替数据服务的功能,并且通过分布式的数据冗余对数据进行恢复,从而保证数据的可靠性。由于Nutanix采用了存储池的数据管理方式,所以,整个系统中的所有Controller VM都可以并发的为故障盘恢复数据,从而可以在极短的时间内恢复数据,保证了数据的可靠性。这个思想和华为的RAID2.0本质上是相同的。只不过Nutanix采用Erasure Code数据冗余级别或者多副本的方式实现数据保护,本质上还是一个分布式RAID。在服务高可用方面,Nutanix充分利用了虚拟机的VM迁移功能,这一点是非常值得借鉴的。

 

存储领域的另一个发展方向是闪存技术,尤其是全闪存系统的推动和发展会引领数据中心向全闪存的方向发展。在Nutanix这种架构下,由于性能的瓶颈点局限在后端网络,如果后端网络技术不突破,那么高性能的闪存技术(NVMe SSD)将很难在这种架构下得以应用。当然,RDMAROCE100Gb以太网技术正在发展之中,相信有一天网络瓶颈一定会被突破。在目前网络瓶颈的前提下,在Nutanix这种平台下都无法充分发挥NVMe SSD的性能,这也是这种系统存在的一个问题。无法很好的发挥闪存性能,这就意味着Nutanix这样的平台未来可能比较适合对性能不是特别敏感,对可扩展性和易管理非常重视的应用场景。

 

看到Nutanix这样一种计算与存储融合的架构之后,存储老吴在想,如果在Nutanix平台上引入全闪存技术,那么一个Nutanix节点需要多少CPU、内存资源?在全闪存系统中,CPU本身是一种非常宝贵的资源,是重要的性能瓶颈点,并且大量的内存资源需要被用于闪存存储系统中去。在这样的资源需求下,如何在这种全闪存系统中再划分一部分资源跑应用服务?如何这么做了,该如何保证应用的性能以及IO性能的一致性?这样的控制将会变得异常复杂。所以,在海量全闪存系统中,Nutanix这种超融合的架构很难达到低延迟、一致性的性能。

 

与计算、存储一体化的超融合架构略有不同,另一种高性能独立的软件定义分布式存储系统配合虚拟化计算节点同样可以构建软件定义的虚拟化数据中心,那么这种存储与计算相互独立的架构同样可以获得很好的可扩展性与易管理性,并且可以获得很好的性能,应用网络和数据网络可以根据具体需求进行配置,也能带来很好的总体投资成本。北美Solid Fire就为数据中心提供了这样的一种全闪存系统,为数据中心提供高性能存储服务。所以,未来虚拟化数据中心是否Nutanix架构能够一统江湖?个人觉得那是不太现实的。但是,分布式存储一定是虚拟化数据中心的发展方向,传统双控SAN/NAS将越来越不适应数据中心云化的发展方向。

 

总的来说,Nutanix是一款非常先进的超融合系统,其充分利用了虚拟机平台,通过软件定义的方式在通用服务器平台上实现了分布式存储,从而彻底抛弃了传统SAN/NAS系统。降低了数据中心管理和设备投入总体成本。从技术的角度来看,Nutanix系统的关键点在于分布式文件系统,实现了一套易于扩展的分布式文件系统。随着云数据中心的发展,相信Nutanix系统会大展宏图。

欢迎来到 【nutanix.club】最大的中文超融合&云计算社区 请记住我们的网址 www.nutanix.club [这是默认签名,更换签名点这里!]
回复

使用道具 举报

发表于 2016-12-31 19:05:12 | 显示全部楼层
thanks for share
欢迎来到 【nutanix.club】最大的中文超融合&云计算社区 请记住我们的网址 www.nutanix.club [这是默认签名,更换签名点这里!]
回复 支持 反对

使用道具 举报

发表于 2018-1-6 17:34:38 | 显示全部楼层
thanks for share
欢迎来到 【nutanix.club】最大的中文超融合&云计算社区 请记住我们的网址 www.nutanix.club [这是默认签名,更换签名点这里!]
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

返回顶部快速回复上一主题下一主题返回列表微信扫一