收藏 分销(赏)

Nutanix-结构简介.doc

上传人:精**** 文档编号:3131294 上传时间:2024-06-19 格式:DOC 页数:32 大小:2.25MB
下载 相关 举报
Nutanix-结构简介.doc_第1页
第1页 / 共32页
Nutanix-结构简介.doc_第2页
第2页 / 共32页
Nutanix-结构简介.doc_第3页
第3页 / 共32页
Nutanix-结构简介.doc_第4页
第4页 / 共32页
Nutanix-结构简介.doc_第5页
第5页 / 共32页
点击查看更多>>
资源描述

1、Microsoft Storage Spaces on Dell: Existing Microsoft customers, hosters, VDI environments, and Test & Dev environments Cheap and deep storage Small and low-cost file serverVMware vSAN on Dell: Existing VMware customers (primarily virtualization admins), VDI environments, Test & Dev environments Simp

2、licity of managementDell Nutanix solution: Targeted at virtualization administrators Simplicity of deployment and management VDI environments Heterogeneous hypervisorsDell-Nexenta solution: Software based file storage Customers who want ZFS based storageCaringo: Archival and lifecyle management of o

3、bject storeCeph: Advanced private cloud, public cloudUsers looking to add scalable storage to their environmentDell Hadoop/Big Data solution: Users with big data and analytics needsDell OpenStack-powered cloud solution: Advanced private cloud, public cloudDell SUSE and Red Hat solutions: Enterprise-

4、grade private cloud for mid-tier application and cloud storageRedapt IaaS Cloud RA: Small-Medium private cloud with Dell Storage SC2801. Nutanix 分布式文件系统Nutanix 分布式文件系统 (NDFS) 是 Nutanix 虚拟计算平台的核心。它管理所有元数据和数据,并能启用所有核心功能。NDFS 是软件驱动的体系架构,连接存储、计算资源、控制器 VM 和虚拟机监控程序。还会提供完整的信息生命周期管理 (ILM),包括将数据定位到最佳节点。数据可用性

5、NDFS 采用全新设计,具有极高的容错能力。它确保了节点、控制器或磁盘发生故障时数据的可用性。NDFS 使用一种复制因子 (RF),复制因子可以保存所有数据的冗余副本。对平台的写入将记录到高性能的 SSD 层,并在将写入交付给虚拟机监控程序并得到确认之前将其复制到另一个节点。如果出现故障,NDFS 会自动重建数据副本以维持最高水平的可用性。平台是可自愈的。通过利用分布式 MapReduce 作业,它会主动清理数据以解决磁盘或数据错误问题。如果某个节点上的控制器 VM 发生故障,所有 I/O 请求会自动转发到另一个控制器 VM,直到本地控制器再次变为可用。这种 Nutanix 自动寻路技术对虚拟

6、机监控程序完全透明,并且来宾 VM 可继续正常运行。在节点发生故障的情况下,HA 事件自动触发,VM 将故障转移至群集内的其他主机。Nutanix ILM 通过将数据迁移到虚拟机的本地控制器 VM 将 I/O 操作本地化。同时,重新复制数据,以保持 RF 和整体可用性。NDFS 提供内置的融合备份和灾难恢复 (DR)。融合备份功能充分利用阵列端快照和克隆,通过在 VM 和文件级别使用子块级更改跟踪来执行。快照和克隆是瞬间完成的,动态磁盘/精简配置会维持极低的开销。这些功能还支持虚拟机监控程序的阵列卸载功能,例如 VMware API for Array Integration (VAAI)。为

7、了与 RPO 和 RTO 保持一致,可以在标准时间表上配置快照,并可使用阵列端复制将快照复制到远程站点。该复制可在 VM 级别配置,而且只有子块级更改会发送到远程复制站点。智能元数据元数据在群集中的所有节点之间分布,以避免任何单点故障,并实现随群集增长呈线性增加的可伸缩性。通过一致性哈希方案对元数据进行分区,从而尽量减少修改群集大小时键的重新分配。系统采用 Paxos(一种分布式一致性算法)保证强一致性。基于仲裁的领导选举避免了潜在的“裂脑”场景的出现(比如网络分区),从而确保了数据的严格一致性。数据效率Nutanix 平台的核心设计原理是数据本地化。它使数据保持在最接近 VM 的位置,并允许

8、在同一节点上对写入 I/O 操作进行本地化。如果在发生 DRS、vMotion (VMware) 或 PRO 以及实时迁移 (Hyper-V) 时 VM 要迁移到另一主机,数据会自动跟随 VM,因而可以维持最高性能。在 VM 向驻留在另一节点的控制器发出一定次数的读取请求后,Nutanix ILM 会将远程数据透明移至本地控制器。读取 I/O 只在本地提供服务,不会在网络中传输。Nutanix 整合数据分层,充分利用多个存储层并优化存储层上数据的放置,以提供最佳性能。体系架构的建立是为了支持与控制器 VM 连接的本地磁盘(SSD、HDD)以及远程 (NAS) 和基于云的源目标。Nutanix

9、系统持续监控数据访问模式,以确定访问是随机的、连续的还是混合的工作负载。随机 I/O 工作负载维持在 SSD 层,以最大限度地减少搜寻时间。连续工作负载会自动放置到 HDD 以提高持久性。最常访问的数据(即,热数据)驻留在性能最高的层(SSD 层)。该层不只是一个缓存 对于读取和写入操作,以及 QoS 控制的数据,它是一个真正永久存在的层。冷数据位于硬盘驱动器,这是容量最大、最经济的层。弹性重复数据删除引擎是一种软件驱动,高度可伸缩的智能数据化简技术。Nutanix 重复数据删除在 RAM 和闪存层执行内联重复数据删除,并会在存储层(硬盘)执行后台重复数据删除以最大限度地提高效率。与仅专注于存

10、储层的传统重复数据删除技术不同,Nutanix 弹性重复数据删除引擎在一个本地融合的平台中同时跨越内存、闪存和磁盘资源。NDFS 阵列端压缩功能与 Nutanix ILM 配合使用。对于连续的工作负载,在写入操作过程中会采用内联压缩来压缩数据。对于批量工作负载,后处理压缩价值重大,因为它会在其空闲且 ILM 已将其向下移至高容量层 (HDD) 时压缩数据。所有压缩配置都在容器级别实施,并在粒度 VM 和文件级别运行。解压缩在子块级别进行,以确保粒度精确。这些操作受 ILM 过程监控, ILM 过程会主动将经常访问且已解压缩的数据向上移至性能更高的数据层。2. 下一代数据中心平台融合平台Nuta

11、nix 虚拟计算平台将计算和存储融合在一个系统中,省去了传统的存储阵列。Nutanix 2U 机箱包含二至四个独立的节点,每个节点都已优化以实现高性能的计算、内存和存储。每个节点都运行符合行业标准的虚拟机监控程序和 Nutanix 控制器 VM。控制器 VM 将处理本地虚拟机监控程序所有数据的 I/O 操作。使用设备传递机制可以将所有存储直接安装到控制器 VM。然后,存储资源通过传统接口(如 NFS 或 iSCSI)暴露给虚拟机监控程序。随着新的 Nutanix 节点添加到群集中,控制器 VM 的数量以 1:1 的比例扩展,以提供线性性能。所有节点的存储容量将集成到一个全局存储池,群集中的所有

12、 Nutanix 控制器和主机都可以访问该存储池。然后从存储池定义容器,创建一个逻辑数据存储。容器代表虚拟机监控程序的主要接入点,可通过传统接口访问。Nutanix 平台采用符合行业标准的硬件。并不依赖自定义的 FPGA、ASIC、RAID 控制器或磁盘驱动器。作为一种软件定义的解决方案,Nutanix 保留了软件中的控制逻辑,并通过简单的软件升级来启用新功能。NDFS 是可扩展的。Nutanix 平台不需要通过共享底板来实现通信。而是利用标准的 10GbE 实现节点和控制器之间的所有通信,以及 VM 流量。横向扩展体系架构Nutanix 平台基于相同的架构规则,该架构规则可以使世界上最大的数

13、据中心实现扩展。Google、Facebook 和 Amazon 均使用类似设计。Nutanix 分布式文件系统 (NDFS) 可以扩展至数千个节点,而且在系统增长的同时能够维持性能和可用性。模块化的融合构建基块(节点)允许数据中心管理器从小规模开始,并且能够实现无缝扩展以支持未来增长。Nutanix n 路控制器模型根据节点数扩展存储控制器的数量。这种设计消除了常见于传统双控制器存储阵列的性能瓶颈现象。添加到群集中的每个 Nutanix 节点,使用其本地控制器 VM 作为通向 NDFS 的网关并作为其主要 I/O 点。Nutanix 采用一种具有分布式 MapReduce 框架的大数据方法来

14、管理整个群集范围内的操作。Nutanix 将会分配任务和操作以进行自我修复并通过重新分配数据实现高可用性。IT 团队可以混合各种 Nutanix 节点类型,不必考虑它们是计算密集型还是存储密集型节点。因此,您的团队可以构建一个为特定环境或工作负载提供适当平衡的基础架构。一旦接通电源,便可通过 Linux Avahi 协议和 IPv6 本地链路地址自动发现新的 Nutanix 节点。然后,在零停机的情况下通过动态节点添加过程来添加它们。添加新节点时将为其分配群集元数据,并且会将存储资源添加到群集的存储池。该过程将以透明方式扩展容器的容量。VM 将在新主机上配置,DRS 或性能和资源优化 (PRO

15、) 等群集平衡功能会将 VM 移动到新的主机。3. 架构设计融合平台Nutanix 解决方案是一种融合的存储 + 计算解决方案,充分利用本地组件,并创建了虚拟化的分布式平台(又称虚拟计算平台)。该解决方案是一个捆绑式的硬件 + 软件设备,在 2U 的占用空间中放置 2 个节点(6000 系列)或 4 个节点(1000/2000/3000/3050 系列)。每个节点都运行一个符合行业标准的虚拟机监控程序(当前是 ESXi、KVM、Hyper-V)和 Nutanix 控制器 VM (CVM)。Nutanix CVM 将运行 Nutanix 软件,并为虚拟机监控程序的所有 I/O 操作和该主机上运行

16、的所有 VM 提供服务。凭借虚拟机监控程序的功能,利用 Intel VT-d 将管理 SSD 和 HDD 设备的 SCSI 控制器直接传递到 CVM。下面是典型节点的逻辑表现形式的一个示例一组 Nutanix 节点共同构成一个分布式平台,称为 Nutanix 分布式文件系统 (NDFS)。对于虚拟机监控程序,NDFS 看起来就像任何集中式存储阵列一样,不过所有 I/O 都在本地进行处理,以提供最高性能。可在下面找到有关这些节点如何形成分布式系统的更多详细信息。以下是有关这些 Nutanix 节点如何形成 NDFS 的示例:群集组件Nutanix 平台由以下高级组件组成:Medusa 关键角色:

17、分布式元数据存储 描述:Medusa 基于经过重大修改的 Apache Cassandra,以一种环式分布方式存储和管理所有群集元数据。利用 Paxos 算法来保证严格一致性。该服务在群集中的每个节点上运行。Zeus 关键角色:群集配置管理器 描述:Zeus 将存储所有群集配置(包括主机、IP、状态等)并且基于 Apache Zookeeper。该服务在群集中的三个节点上运行,其中一个被选举为领导节点。领导节点会接收所有请求并将其转发给对等节点。如果领导节点没有响应,则会自动选举一个新的领导节点。Stargate 关键角色:数据 I/O 管理器 描述:Stargate 负责所有数据管理和 I/

18、O 操作,并且是虚拟机监控程序的主要界面(经由 NFS、iSCSI 或 SMB)。该服务在群集中的每个节点上运行,以便为已本地化的 I/O 提供服务。Curator 关键角色:映射化简群集的管理和清理 描述:管理者将负责整个群集中任务的管理和分配,包括磁盘平衡、主动清理和许多其他项目。管理者在每个节点上运行,而且受选定的主管理者的控制,主管理者会负责任务和作业的委派。Prism 关键角色:UI 和 API 描述:Prism 是组件的管理网关,也是管理员配置和监控 Nutanix 群集所使用的管理网关。这包括 Ncli、HTML5 UI 和 REST API。Prism 在群集中的每个节点上运行

19、,而且与群集中所有组件一样使用选定的领导者。数据结构Nutanix 分布式文件系统由以下高级结构组成:存储池 关键角色:物理设备组 描述:存储池是一组物理存储设备,包括群集的 PCIe SSD、SSD 和 HDD 设备。存储池可以跨越多个 Nutanix 节点,并且会随群集的扩展而扩展。大多数配置中只使用一个存储池。容器 关键角色:VM/文件组 描述:容器是存储池的一个逻辑分段,包含一组 VM 或文件(虚拟磁盘)。有些配置选项(比如 RF)是在容器级别配置的,但是会应用于单独的 VM/文件级别。容器通常与数据存储存在 1 对 1 的映射(就 NFS/SMB 而言)。vDisk 关键角色:虚拟磁

20、盘 描述:虚拟磁盘是 NDFS 上任何超过 512KB 的文件(包括 .vmdks 和 VM 硬盘)。虚拟磁盘由盘区构成,这些盘区在磁盘上作为盘区组进行分组并存储。下面我们将展示这些节点如何在 NDFS 和虚拟机监控程序之间进行映射:Extent 关键角色:逻辑上连续的数据 描述:盘区是一段逻辑上连续的 1MB 的数据,由 n 个连续块组成(因来宾操作系统块的大小不同而不同)。以子盘区(又称切片)为基础来写入/读取/修改盘区,以保证粒度和效率。根据读取/缓存的数据量,将盘区的切片移动到缓存中时可能会对其进行剪裁。盘区组 关键角色:物理上连续的存储数据 描述:盘区组是一段物理上连续的 4MB 的

21、存储数据。该数据作为一个文件保存在 CVM 所拥有的存储设备上。盘区动态分布在盘区组之间,以便跨节点/磁盘提供数据分块,从而提高性能。下面我们将展示这些结构在各种文件系统之间是如何关联的:下面是有关这些单元如何逻辑相关的另一个图形表示:I/O 路径概述Nutanix I/O 路径由以下高级组件组成:OpLog 关键角色:永久性写入缓冲区 描述:Oplog 类似于文件系统日志,它的构建是为了处理突发性写入,它会将写入合并,然后将数据按顺序排入盘区存储。为了确定数据可用性而要确认写入之前,OpLog 会将写入同步复制到另一个 CVM 的 OpLog。所有 CVM 的 OpLog 都会参与复制,并且

22、会根据负载进行动态选择。OpLog 存储在 CVM 的 SSD 层上,以便提供极快速的写入 I/O 性能,特别是对于随机 I/O 工作负载。对于连续工作负载,OpLog 将被绕过,写入直接进入盘区存储。如果当前数据处于 OpLog 中且尚未排出,所有读取请求将从 OpLog 直接完成,直到将它们排出,然后将由盘区存储/内容缓存为它们提供服务。对于启用指纹识别(又称重复数据删除)的容器,将会使用哈希方案对所有写入 I/O 进行指纹识别,以便根据内容缓存中的指纹来识别它们。Extent Store 关键角色:永久性数据存储 描述:盘区存储是 NDFS 的永久性大容量存储,跨 SSD 和 HDD,而

23、且可以扩展,为其他设备/层提供便利。进入盘区存储的数据要么是 A) 从 OpLog 排出的,要么是 B) 本质上是连续的,直接绕过 OpLog。Nutanix ILM 将根据 I/O 模式动态确定层的放置并将数据在各层之间移动。内容缓存 关键角色:动态读取缓存 描述:内容缓存(又称“弹性重复数据删除引擎”),是通过指纹识别的读取缓存,可以跨越 CVM 的内存和 SSD。当缓存中(或根据特定指纹)不存在数据的读取请求时,数据将被放入单一触控的内容缓存池中,内容缓存池完全处于内存中,在这里它会使用 LRU,直到将其从缓存中选定。任何后续读取请求会将数据“移动”(事实上并不移动任何数据,只是缓存元数

24、据)到由内存和 SSD 组成的多点触控池的内存部分。这里将有两次 LRU 循环,其中一次是针对内存中的数据,逐出会根据它将数据移动到多点触控池的 SSD 部分,在多点触控池中将分配新的 LRU 计数器。多点触控池中任何数据读取请求都将导致数据达到多点触控池的顶峰,在这里会为其给定一个新的 LRU 计数器。指纹识别是在容器级别配置的,并可通过 UI 配置。默认情况下禁用指纹识别。在这里,我们展示内容缓存的高级概述:Extent Cache 关键角色:内存中的读取缓存 描述:盘区缓存是一种内存中的读取缓存,在 CVM 的内存中完成。这将为禁用指纹识别和重复数据删除的容器存储非指纹盘区。在 3.5

25、版及之前版本中,该缓存与内容缓存独立,不过在后续版本中这些缓存将会合并。4. 如何工作数据保护目前,Nutanix 平台使用复制因子 (RF) 来确保节点或磁盘发生故障时数据的冗余和可用性。如“架构设计”部分所述,OpLog 充当一个临时区域,将传入的写入吸收到低延迟的 SSD 层。将数据写入本地 OpLog 时,在被主机确认 (Ack) 为成功写入之前,数据将会同步复制到另外的一个或两个 Nutanix CVM 的 OpLog 中(取决于 RF)。这将确保数据存在于至少两个独立的位置,且具有容错能力。所有节点均参与 OpLog 复制以避免出现任何“热节点”并确保扩展时的线性性能。然后,将数据

26、异步排出到隐式维持 RF 的盘区存储中。之后在节点或磁盘出现故障的情况下,会将数据在群集中的所有节点之间重新复制以维持 RF。下面我们将展示此过程的逻辑表现形式的一个示例:数据位置作为一个融合的(计算+存储)平台,I/O 和数据位置对与 Nutanix 有关的群集和 VM 性能至关重要。如前面 I/O 路径中所述,所有读取/写入 IO 均由本地控制器 VM (CVM) 提供服务,本地控制器 VM 位于邻近常规 VM 的每个虚拟机监控程序中。在 CVM 的控制下,VM 的数据将在本地由 CVM 提供服务并且位于本地磁盘中。当 VM 从一个虚拟机监控程序节点移动到另一个时(或发生 HA 事件时),

27、最新迁移的 VM 的数据将由现在的本地 CVM 提供服务。在读取旧数据(存储在现在的远程节点/CVM 上)时,I/O 将由本地 CVM 转发到远程 CVM。所有写入 I/O 将立即在本地出现。NDFS 会检测到 I/O 从另一节点出现,并在后台将数据迁移到本地,现在将允许在本地为所有读取 I/O 提供服务。为了不泛洪网络,只在读取时迁移数据。下面我们将展示数据在虚拟机监控程序的节点之间移动时如何“跟随”VM 的一个示例:可伸缩元数据元数据是任何智能系统的核心,对文件系统或存储阵列而言甚至更为重要。就 NDFS 而言,一些关键结构对于它的成功至关重要:它必须时刻保持正确(又称“严格一致性”),它

28、必须可伸缩,而且它必须能够大规模执行。如前面架构部分所述,NDFS 使用“环式”结构作为键值存储,键值存储将存储重要元数据及其他平台数据(如状态等)。为了确保元数据的可用性和冗余,在奇数节点(如3、5 等)之间使用 RF。当元数据写入或更新时,写入或更新的行将被写入环中的一个节点,然后复制到 n 个对等节点中(其中 n 取决于群集大小)。大部分节点必须同意,然后才能提交任何内容,内容的提交是使用 paxos 算法强制执行的。这将确保所有作为平台一部分存储的数据和元数据的严格一致性。下面我们将展示 4 节点群集的元数据插入/更新的一个示例:扩展时的性能也是 NDFS 元数据的另一个重要结构。与传

29、统的双控制器或“主”模型不同,每个 Nutanix 节点负责整个平台元数据的一个子集。这消除了传统上允许群集中所有节点为元数据提供服务并进行管理的瓶颈现象。通过一致性哈希方案来尽量减少修改群集大小时键的重新分配(又称“添加/移除节点”)当群集扩展时(例如从 4 个扩展到 8 个节点),为了确保“块感知”和可靠性,这些节点将被插入整个环中的节点之间。下面我们将展示元数据“环”及其如何伸缩的一个示例:Shadow ClonesNutanix 分布式文件系统有一个称为“影子克隆”的功能,它支持“多读取者”场景下特定虚拟磁盘或 VM 数据的分布式缓存。有关该功能的一个典型例子是,在 VDI 部署期间,

30、许多“链接克隆”会将读取请求转发到中心主 VM 或“基准 VM”。在 VMware View 中,这被称为副本磁盘,通过所有链接的克隆读取,而在 XenDesktop 中,这被称为 MCS 主 VM。这在任何可能有多个读取者的场景(如部署服务器、存储库等)中也会起作用。数据或 I/O 本地化是实现最高 VM 性能的重要因素,也是 NDFS 的关键结构。借助影子克隆,NDFS 将监控 vDisk 访问趋势,这与监控数据本地化类似。但是,如果两个以上远程 CVM(以及本地 CVM)发出请求,并且所有请求都是读取 I/O,则 vDisk 将标记为不可变。一旦磁盘标记为不可变,则可通过每个向磁盘发出请

31、求的 CVM 在本地缓存 vDisk(也称基准 vDisk 的影子克隆)。如此一来,每个节点上的 VM 即可在本地读取基准 VM 的 vDisk。对于 VDI 而言,这意味着副本磁盘可以通过每个节点进行缓存,所有针对基准的读取请求可以在本地获得服务。注意:为了不泛洪网络并有效利用缓存,只在读取时迁移数据。如果基准 VM 已修改,将会放弃影子克隆并重新开始这一过程。影子克隆默认为禁用状态(在 3.5 版及之前版本中),可以使用以下 NCLI 命令启用/禁用:ncli cluster edit-params enable-shadow-clones=true下面的示例将展示影子克隆的工作原理及其如

32、何实现分布式缓存:Elastic Dedupe Engine弹性重复数据删除引擎是基于软件的 NDFS 功能,可以在容量 (HDD) 和性能(SSD/内存)层执行重复数据删除。在插入数据的过程中,会使用 SHA-1 哈希以 16K 的粒度为连续的数据流提取指纹。指纹只在插入数据时提取,之后则会永久性地存储到写入块的元数据中。这与传统方法相反,传统方法是利用后台扫描,需要重新读取数据,而 Nutanix 直接在插入时提取指纹。对于能够在容量层执行重复数据删除的重复数据,则不需要扫描或重新读取数据,实际上可以删除重复副本。 注意:最初提取指纹时使用的是 4K 的粒度,但在测试之后,16K 在重复数

33、据删除和降低元数据开销这两方面的综合性能最佳。完成重复数据删除的数据保存到缓存中时,则使用 4K。下面的示例将展示弹性重复数据删除引擎伸缩和处理本地 VM I/O 请求的方式:当数据 I/O 大小为 64K 或更大时,在插入数据时会提取指纹。SHA-1 计算利用 Intel 加速技术,这一过程仅产生非常小的 CPU 开销。如果在插入数据时没有完成指纹提取(例如 I/O 大小较小时),可以作为后台进程完成指纹提取。弹性重复数据删除引擎不仅适用于容量磁盘层 (HDD),而且适用于性能层(SSD/内存)。在确定重复数据后,依据相同指纹的多个副本,后台进程将使用 NDFS MapReduce 框架(管

34、理者)移除重复数据。对于正被读取的数据,数据会保存到 NDFS 内容缓存,这是一个多层/池缓存。对具有相同指纹的数据的任何后续请求都将直接从缓存中提取。有关内容缓存和池结构的详细信息,请参阅 I/O 路径概述中的“内容缓存”小节,或者单击此处。下面的示例将展示展示弹性重复数据删除引擎如何与 NDFS I/O 路径进行交互:网络和 I/ONutanix 平台没有利用任何底板来实现节点间通信,只依靠标准 10GbE 网络。专用私有网络上的虚拟机监控程序可以处理在 Nutanix 节点上运行的 VM 的所有存储 I/O。虚拟机监控程序处理 I/O 请求,然后将请求转发到本地 CVM 上的私有 IP。

35、随后,CVM 将使用其外部 IP,通过公有 10GbE 网络对其他 Nutanix 节点执行远程复制。对于所有读取请求,大多数情况下都可以在本地完成,而不需要利用 10GbE 网络。这意味着,利用公有 10GbE 网络的流量只有 NDFS 远程复制流量和 VM 网络 I/O。但是,如果 CVM 发生故障或数据位于远程位置,CVM 会将请求转发到群集中的其他 CVM。同时,群集范围内的任务(例如磁盘平衡)会在 10GbE 网络上临时生成 I/O。下面的示例将展示 VM 的 I/O 路径如何与私有和公有 10GbE 网络进行交互:CVM Autopathing对于 NDFS,可靠性和灵活性即使不是

36、最重要的部分,也是一个关键部分。作为一个分布式系统,NDFS 的作用是处理组件、服务和 CVM 故障。本节将介绍如何处理 CVM 故障(未来的更新中将介绍如何处理组件故障)。CVM 故障包括用户关闭 CVM 电源、CVM 滚动升级或可能导致 CVM 发生故障的任何事件。NDFS 有一个称为“自动寻路”的功能,当本地 CVM 不可用时,则由另一个 CVM 透明地处理 I/O。虚拟机监控程序和 CVM 使用私有 192.168.5.0 网络在专用 vSwitch 上进行通信(前文已有详细说明)。这意味着,对于所有存储 I/O,这一过程发生在 CVM 的内部 IP 地址上 (192.168.5.2)

37、。CVM 的外部 IP 地址用于远程复制和 CVM 通信。下面的示例将展示此过程:如果本地 CVM 发生故障,之前由本地 CVM 托管的本地 192.168.5.2 地址将不可用。NDFS 将自动检测到这一中断,并通过 10GbE 将这些 I/O 重定向到群集中的另一个 CVM。重新路由过程对主机上运行的虚拟机监控程序和 VM 都是透明的。这意味着,即使 CVM 电源已经关闭,VM 仍然能够继续为 NDFS 执行 I/O。NDFS 也能够自我修复,这意味着它将检测到 CVM 已经关闭电源,并将自动重新启动或开启本地 CVM 电源。一旦本地 CVM 恢复并可用,流量将无缝地回传并由本地 CVM

38、提供服务。下面我们将展示故障 CVM 的这一过程的图形表示:磁盘平衡NDFS 采用极其动态的平台设计,可以处理各种工作负载,并且一个群集可以混合使用多种异类节点:计算密集型(3050 等)和存储密集型(60X0 等)。混合使用具有较大存储容量的节点时,必须确保数据均匀分布。NDFS 拥有一个称为“磁盘平衡”的本机功能,该功能用于确保数据在整个群集中均匀分布。磁盘平衡控制节点对其本地存储容量的利用率,并与 NDFS ILM 集成。其目的是,一旦利用率达到一定阈值,就让节点之间的利用率保持均匀。下面的示例将展示处于“不平衡”状态的混合群集 (3050 + 6050) :磁盘平衡利用 NDFS 管理

39、者框架,作为预定进程运行,并在超过阈值时运行(例如本地节点容量利用率 n %)。如果数据不平衡,管理者将确定需要移动的数据,并将任务分布到群集中的各个节点。如果节点类型是同类(例如 3050),利用率应特别均匀。但是,如果某个节点上运行的某些 VM 写入的数据多于其他节点,则每个节点的容量利用率会有所倾斜。在这种情况下,磁盘平衡会开始运行,并将该节点上的最冷数据移动到群集中的其他节点。如果节点类型是异类(例如 3050 + 6020/50/70),或者某个节点用于“仅限存储”模式(不运行任何 VM),则可能需要移动数据。下面的示例将展示运行磁盘平衡后处于“平衡”状态的混合群集:在有些情况下,客

40、户可能需要以“仅限存储”状态运行某些节点,CVM 只在主要用于批量存储容量的节点上运行。下面的示例将展示混合群集中的仅限存储节点,磁盘平衡将数据从活动 VM 节点移动到该节点:软件定义的控制器架构如上所述(可能有无数次),Nutanix 平台是基于软件的解决方案,以“捆绑式的软件+硬件设备”进行销售。控制器 VM 是绝大多数 Nutanix 软件和逻辑所在的地方,它的设计初衷是一个可扩展的且可插拔的体系架构。通过软件定义且不依赖任何硬件卸载或构造的一个重要优势在于可扩展性。与任何产品生命周期一样,它经常会推出改进功能和新功能。由于不依赖任何自定义 ASIC/FPGA 或硬件功能,Nutanix

41、 可以通过简单的软件更新来开发并部署这些新功能。这意味着,通过升级 Nutanix 软件的当前版本,即可部署新功能(如重复数据删除)。这样还可以在传统硬件型号上部署较新的功能。例如,在早期的硬件平台(例如 2400)上,运行一个使用旧版 Nutanix 软件的工作负载。当前运行的软件版本不提供重复数据删除功能,而此功能对工作负载大有益处。为了获得这些功能,您在工作负载运行过程中对 Nutanix 软件版本执行滚动升级,现在便拥有了重复数据删除功能。整个过程就是这样简单。与添加功能类似,在 NDFS 中创建新“适配器”或接口是另一个重要功能。当产品首次发货时,它只支持来自虚拟机监控程序的 I/O

42、 使用 iSCSI,而现在则包括 NFS 和 SMB。未来将能够为各种工作负载和虚拟机监控程序(HDFS 等)创建新适配器。同样,通过软件更新即可完成部署。这与几乎所有传统基础架构相反,因为通常必须升级硬件或购买软件,才能获得“最前沿最优秀”的功能。Nutanix 则不同,因为所有功能都在软件中部署,它们可以在任何硬件平台、任何虚拟机监控程序上运行,并且通过简单的软件升级即可完成部署。下面我们将展示软件定义的控制器框架的逻辑表现形式:存储分层与优先级上文中的“磁盘平衡”一节讨论了 Nutanix 群集中的所有节点之间如何共用存储容量,以及如何使用 ILM 将热数据保存到本地。类似的概念适用于磁

43、盘分层,其中群集的 SSD 和 HDD 层属于群集范围,NDFS ILM 负责触发数据移动事件。对于本地节点上运行的 VM 生成的所有 I/O,本地节点的 SSD 层始终是优先级最高的层,但是群集的所有 SSD 资源可用于群集内的所有节点。SSD 层将始终提供最高性能,它也是混合阵列需要管理的一个重要事项。可以按照以下原则在较高级别上划分层优先级:特定类型的资源(例如 SSD、HDD 等)实现共用,形成群集范围内的存储层。这意味着,群集内的任何节点都可以利用整个层容量,无论是否位于本地。下面我们将展示共用分层的一个高级示例:一个常见的问题是,如果本地节点的 SSD 满了将会出现什么情况?正如“

44、磁盘平衡”一节所述,一个重要概念是尽量让磁盘层内的设备利用率保持均匀。如果某个本地节点的 SSD 利用率很高,磁盘平衡将开始起作用,将本地 SSD 上的最冷数据移动到群集中的其他 SSD。这样可以释放本地 SSD 上的空间,以便让本地节点写入到本地 SSD,而不是通过网络。值得一提的是,所有 CVM 和 SSD 都可用于此远程 I/O,以消除任何潜在的瓶颈,并修复通过网络执行 I/O 的某些问题。另一种情况是,当整体层利用率超过特定阈值 curator_tier_usage_ilm_threshold_percent (Default=75) 时,NDFS ILM 将开始起作用并作为管理者工作

45、的一部分,将数据从 SSD 层向下迁移到 HDD 层。这将使利用率保持在上述阈值范围内,或者释放以下数量的空间 curator_tier_free_up_percent_by_ilm (Default=15),取两者中较大者。需要向下迁移的数据使用最后一次访问时间进行选择。如果 SSD 层利用率为 95%,则 SSD 层中 20% 的数据将移动到 HDD 层 (95% 75%)。但是,如果利用率为 80%,按照最少的层释放数量,只有 15% 的数据会移动到 HDD 层。NDFS ILM 将持续监控 I/O 模式并按需要(向下/向上)迁移数据,同时还会将最热数据保存在本地,而不论其在哪一层。可用

46、性域可用性域(也称节点/块/机架感知)是分布式系统在确定组件和数据位置时所遵循的一个关键结构。NDFS 当前具有节点和块感知功能,但随着群集大小不断增加,将增加机架感知功能。Nutanix 用“块”指代包含一个、两个或四个服务器“节点”的机架。注意:要激活块感知,必须使用 3 个块。例如,3450 是一个具有 4 个节点的块。跨多个块分布角色或数据的原因在于,当一个块发生故障或需要维护时,系统可以不间断地继续运行。注意:在块中,冗余 PSU 和风扇是唯一共享的组件。感知可以分为几个关键领域: Data (The VM data) Metadata (Cassandra) 配置数据 (Zooke

47、eper)数据借助 NDFS,数据副本将写入到群集中的其他块,以确保在某个块发生故障时或计划停机时间,数据仍然可用。这同样适用于 RF2 和 RF3 场景以及块故障。可以与“节点感知”做一个简单比较,在节点感知中,副本需要复制到另一个节点,从而在节点发生故障时提供保护。块感知在块发生中断时提供数据可用性保证,进一步加强了保护。下面我们将展示副本位置在有 3 个块的部署中有何作用:如果块发生故障,块感知将保持运行,重新复制的块将复制到群集中的其他块:MetadataNutanix 利用经过大量修改的 Cassandra 平台存储元数据和其他必要信息。Cassandra 利用环式结构并复制到环中的 n 个对等位置,以确保数据一致性和可用性。下面的示例将展示包含 12 个节点的群集的 Cassandra 环:Cassandra 对等复制在整个环中以顺时针方向遍历各个节点。借助块感知功能,对等节点分布于各个块中,以确保同一个块上不会有两个对等节点。下面我们将展示一个节点布局示例,将上述环转换为基

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服