大数据集成服务平台

智臻·智信·智恒·智融

首页 >>新闻中心

Nutanix超融合之架构设计(上篇) 2017-4-12

超融合平台技术概述

 

针对于超融合的概念有着不同的理解,因为组件不同(虚拟化、网络等)而理解不同。然而,核心的概念如下:天然地将两个或多个组件组合到一个独立的单元中。在这里,天然是一个关键词。为了更加有效率,组件一定是天然地整合在一起, 而不是简单地捆绑在一起。对于 Nutanix,我们天然地将计算和存储融合到设备的单一节点中。这就真正意味着天然地将两个或多个组件整合在一个独立的、 可容易扩展的单元中。

 

优势在于:

       独立单元的扩展

       本地I/O处理

       消除传统计算/存储的竖井式结构,融合它们在一起

 

目前 Nutanix 超融合产品有两种形态 

       捆绑式的硬件

       软件设备(Nutanix NX 系列、Dell XC 系列及联想 HX 系列)

       纯软件模式(Nutanix on UCS 等)

 

一般来说,从硬件形态看,是在 2U 的占用空间中放置 2 个节点或 4 个节点。每个节点都运行一个符合行业标准的虚拟机监控程序(当前是 ESXiKVMHyper-V, XenServer 在目前版本是 Tech-Preview)和 Nutanix 控制器 VMCVM)。

Nutanix CVM 将运行 Nutanix 软件,并为虚拟机监控程序的所有 I/O 操作和该主机上运行的所有 VM 提供服务。凭借虚拟机监控程序的功能,利用 Intel VT-d 将管理 SSD HDD 设备的 SCSI 控制器直接传递到 CVM

 

下面是典型节点的逻辑表现形式的一个示例

从软件定义的角度来看,一般来说,软件定义的智能化是在通用的、商品化的硬件之上通过运行软件来实现核心的逻辑,而这些逻辑之前用专有的硬件编程方式实现(例如 ASIC/FPGA 等)。对于 Nutanix 而言,是将传统的存储逻辑(例如 RAID,去重,压缩,纠删码等)采用软件方式去实现,这些软件运行在标准的 x86 硬件上的 Nutanix 控制虚拟机(Controller Virtual Machine,即 CVM)内。那就真正意味着把关键处理逻辑从专有硬件中剥离放入到运行在商用的硬件设备的软件之中。

 

一组 Nutanix 节点共同构成一个分布式平台,称为 Nutanix 分布式系统框架DSF。对于虚拟机监控程序,DSF 看起来就像任何集中式存储阵列一样,不过所有 I/O 都在本地进行处理,以提供最高性能。下面可找到有关这些节点如何形成分布式系统的更多详细信息。

 

以下是有关这些 Nutanix 节点如何形成 DSF 系统的示例

DSF 可以看作是一个分布式自治系统,涉及从传统的单一集中模式处理业务转向跨集群内的所有节点分布式处理业务。传统角度考虑问题是假设硬件是可靠的,在某种程度上是对的。然而分布式系统的核心思想是硬件终究会出问题,在一个简单的、业务不间断的方式中处理故障是关键点。这些分布式系统的设计是为了调整和修复故障,达到自恢复和自治的目地。在组件发生故障时,系统将透明地处理和修复故障,并持续按照预期运行。将会醒用户知晓故障的存在,但不会作为一个紧急事件被提出来,任何一种修复(如:替代一个失效的节点)都可以按照管理员事先设定好的计划表去自动化的处理。另外一种方式是重建而不需要替换,一个主数据节点被随机选举出来,当其故障后新的主数据节点会被选举出来,利用 MapReduce 的概念和技术来分配任务的处理。

因此 DSF 可实现:

分配的角色和任务到系统内的所有节点利用 MapReduce 等机制执行分布式任务处理当需要一个新的主数据节点时,采用选举机制。

 

优势在于:

       解决了单点故障(SPOF

       分布式业务负载,消除任何瓶颈

       Nutanix超融合群集组件

 

 

Nutanix 平台由以下高级组件组成:

 

 Medusa

 关键角色:分布式元数据存储

       描述:Medusa 基于经过重大修改的 Apache Cassandra,以一种环式分布方式存储和管理所有群集元数据。利用 Paxos 算法来保证严格一致性。该服务在群集中的每个节点上运行。

 

 Zeus

 

       关键角色:群集配置管理器

       描述:Zeus 将存储所有群集配置(包括主机、IP、状态等)并且基于 Apache Zookeeper。该服务在群集中的三个节点上运行,其中一个被选举为领导节点。领导节点会接收所有请求并将其转发给对等节点。如果领导节点没有响应,则会自动选举一个新的领导节点。

 

 Stargate

 

       关键角色:数据 I/O 管理器

       描述:Stargate 负责所有数据管理和 I/O 操作,并且是虚拟机监控程序的主要界面(经由 NFSiSCSI SMB)。该服务在群集中的每个节点上运行,以便为已本地化的 I/O 提供服务。

 

 Curator

 

       关键角色:映射化简群集的管理和清理

       描述:管理者将负责整个群集中任务的管理和分配,包括磁盘平衡、主动清理和许多其他项目。管理者在每个节点上运行,而且受选定的主管理者的控制,主管理者会负责任务和作业的委派。

 

 Prism

 

       关键角色:UI API

       描述:Prism 是组件的管理网关,也是管理员配置和监控 Nutanix 群集所使用的管理网关。这包括 NcliHTML5 UI REST APIPrism 在群集中的每个节点上运行,而且与群集中所有组件一样使用选定的领导者。

此外,Nutanix 集群的节点间通讯(包括存储,服务)采用 Google Protocol Buffers 以提升分布式系统的通讯效率和性能。

 

Nutanix 数据结构

 

Nutanix DSF 的分布式存储系统由以下高级结构组成:

 

 存储池

 

       关键角色:物理设备组

       描述:存储池是一组物理存储设备,包括群集的 PCIe SSDSSD HDD 设备。存储池可以跨越多个 Nutanix 节点,并且会随群集的扩展而扩展。大多数配置中只使用一个存储池。

 

 容器

 

       关键角色:VM/ 文件组

       描述:容器是存储池的一个逻辑分段,包含一组 VM 或文件(虚拟磁盘)。有些配置选项(比如 RF)是在容器级别配置的,但是会应用于单独的 VM/文件级别。容器通常与数据存储存在 1 1 的映射(就 NFS/SMB 而言)。

 

 vDisk

 

       关键角色:虚拟磁盘

       描述:虚拟磁盘是 DSF 上任何超过 512KB 的文件(包括 .vmdks VM 硬盘)。虚拟磁盘由盘区构成,这些盘区在磁盘上作为盘区组进行分组并存储。

 

关键角色:逻辑上连续的数据

       描述:盘区是一段逻辑上连续的 1MB 的数据,由 n 个连续块组成(因来宾操作系统块的大小不同而不同)。以子盘区(又称切片)为基础来写入/读取/修改盘区,以保证粒度和效率。根据读取/缓存的数据量,将盘区的切片移动到缓存中时可能会对其进行剪裁。

 

 盘区组

 

       关键角色:物理上连续的存储数据

       描述:盘区组是一段物理上连续的 4MB 的存储数据。该数据作为一个文件保存在 CVM 所拥有的存储设备上。盘区动态分布在盘区组之间,以便跨节点/磁盘提供数据分块,从而提高性能。

 

Nutanix系统的I/O 路径概述

 

Nutanix DSF 系统的 I/O 路径由以下高级组件组成:

 

 OpLog

 

       关键角色:永久性写入缓冲区

       描述:Oplog 类似于文件系统日志,它的构建是为了处理突发性写入,它会将写入合并,然后将数据按顺序排入盘区存储。为了确定数据可用性而要确认写入之前,OpLog 会将写入同步复制到另一个 CVM OpLog。所有 CVM OpLog 都会参与复制,并且会根据负载进行动态选择。OpLog 存储在 CVM SSD 层上,以便提供极快速的写入 I/O 性能,特别是对于随机 I/O 工作负载。对于连续工作负载,OpLog 将被绕过,写入直接进入盘区存储。如果当前数据处于 OpLog 中且尚未排出,所有读取请求将从 OpLog 直接完成,直到将它们排出,然后将由盘区存储/内容缓存为它们提供服务。对于启用指纹识别(又称重复数据删除)的容器,将会使用哈希方案对所有写入 I/O 进行指纹识别,以便根据内容缓存中的指纹来识别它们。

Extent Store

 

       关键角色:永久性数据存储

       描述:盘区存储是 DSF 的永久性大容量存储,跨 SSD HDD,而且可以扩展,为其他设备/层提供便利。

 

进入盘区存储的数据要么是 

       a.  OpLog 排出的

       b. 本质上是连续的,直接绕过 OpLog

 

Nutanix ILM 将根据 I/O 模式动态确定层的放置并将数据在各层<