NetApp Tech OnTap NetApp Logo
NetApp Tech OnTap
     
SolidFire:面向新一代数据中心的纯闪存存储
Dave Wright
SolidFire 创始人、副总裁兼总经理 Dave Wright

2016 年 2 月,NetApp 圆满完成了对 SolidFire 的收购工作。SolidFire 是致力于为新一代数据中心打造纯闪存存储系统的市场领导者。Tech OnTap 非常荣幸地邀请到 SolidFire 创始人 Dave Wright 为我们的读者介绍这项技术。Dave 于 2010 年创立了 SolidFire — 这是他创办的第三家公司 — 公司的目标是通过构建独特的闪存存储架构实现高性能、自动化和扩展,在全球范围内推动云应用方式向前发展。

公共云架构正在走进企业和服务提供商的数据中心,这给管理员带来了一系列新难题。若想成功利用这种云模式(以及动态分配计算、网络和存储池资源),基础架构必须极具成本效益,并具备可满足多租户和混合工作负载需求的可扩展性、自动化功能和支持服务。这些要求正是 SolidFire 设计所遵循的核心原则。

<img>

如果您是 NetApp 产品的长期用户,肯定有兴趣了解有关 SolidFire 的更多信息。本文将介绍令 SolidFire 的设计超越其他纯闪存阵列的部分技术选项。

无共享横向扩展架构

大多数纯闪存存储系统(包括 Pure 和 XtremIO)都采用双控制器设计,用于在出现故障时提供防护。两个控制器可以共享访问同一组驱动器,一旦发生故障,一个控制器就会接管另一个控制器的工作;数据使用某种类型的 RAID 加以保护。

SolidFire 采用截然不同的设计方式,它使用无共享横向扩展架构。每个 SolidFire 节点都是一个标准 1U x86 系统,具有 10 个内部 MLC 或 TLC SSD。节点通过 10GbE 互连,节点之间不存在任何共享关系。主机通过 iSCSI 或光纤通道数据块协议访问数据。

SolidFire 集群从 4 个节点起步,可以逐渐横向扩展为 100 个节点。数据在集群中的所有节点之间自动分布,因此每个附加节点可线性扩展性能和容量。存储卷绝不会受制于单个控制器的性能限制。

图 1) SolidFire 通过无共享设计实现性能和容量的线性横向扩展。

<img>

来源:SolidFire,2016 年

这种方法具有以下显著优势:

无中断横向扩展/缩减。添加或删除节点时无需中断服务,也不会影响服务质量 (Quality of Service, QoS)。数据在后台跨所有节点自动重新分布,随系统扩展保持平衡。

即时资源可用性。新添加的存储资源可以即刻供系统中的每个卷使用,因而无需在新驱动器之间重新分配卷。

可以混用不同类型节点。一些横向扩展系统要求节点完全相同。SolidFire 支持您混合使用不同类型的各代节点。有多种性能和容量值供您选择,让您可以根据需要进行扩展。

容量规划更简便。由于横向扩展以 1U 为单位增量进行,因此可以非常精确地添加性能和容量。这样就不必对多年容量和性能进行预测,而且,还可以避免前期过度配置,让您尽享价格随时间推移而逐步降低所带来的优势。

无叉车式升级。向现有集群中添加新一代节点极为简单。在时机成熟时可以删除并停用或者重新利用旧节点。存储节点之间的兼容性具有保证。每次添加节点时,都可以添加最新的技术。

数据保证

为了提供数据冗余,SolidFire 在两个不同节点上为每个数据块保留了两个副本,这种名为 Helix™ 的技术已内置在我们的 Element OS 操作软件之中。一旦发生故障,集群能够确保应用程序性能不受影响。而且,不需要配置具有共享驱动器访问的单独存储架,进而降低了硬件的复杂性和成本。例如,SolidFire 使用单连接 SSD 而非更昂贵的企业级双连接 SSD。

系统可以快速自我修复,消除了在恢复冗余之前再次发生故障的风险。由于集群可以轻松应对节点脱机,因此该功能还有助于实现无中断软硬件升级。

自我修复故障

系统中的所有资源始终在活动池中;不必为了防范故障而让备用驱动器或备用节点处于闲置状态。

驱动器故障。如果某个驱动器发生故障,系统会通过网格化重建过程重新分布数据副本,从而自动恢复完全冗余。重建期间既不用在降级模式下运行,也不会影响性能。完成此过程通常不会超过 5 分钟。由于恢复完全冗余的速度极快,因此所提供的数据保护级别高于典型系统中采用的 RAID-6。

节点故障。由于数据副本分布在不同的节点上,因此当一个节点发生故障时,所有数据仍然可以访问。与故障节点的连接会自动重定向到其他节点。与驱动器故障一样,只要确保每个数据块有两个副本,便可快速地自动恢复完全冗余。

无论发生何种故障(驱动器、节点、背板、网络故障、软件故障),恢复过程均相同。由于恢复工作负载跨集群中的所有节点分布,因此可以快速恢复冗余,而且不会影响任何单个节点(或应用程序工作负载)的性能。集群中的节点越多,活动进行的速度就越快,整体影响也就越小。

图 2) 一个节点发生故障后,通过将故障节点中所有数据块的新副本分布到无故障节点,恢复数据冗余。所有节点的性能和容量利用率将均匀上升。

<img>

来源:SolidFire,2016 年

性能坚实可靠

为了在一个集群上支持混合应用程序工作负载和多租户环境,SolidFire 提供了有保障的 QoS。与尽力提供 QoS 的实施不同,SolidFire 可以保障每个工作负载的性能。

您可以单独为系统中的每个卷分配性能和容量。在创建卷时,只需设置所需的大小,指定三个 QoS 参数:最小值、最大值突发值。如果更改了一个卷的设置,它将立即获得新级别的服务。

最小值设置用于定义以 IOPS 值(按 I/O 大小加权计算)衡量的最低性能级别。在任何情况下都能保证该卷可以提供这一级别的性能。最大值设置用于定义一个卷可以耗用多少 IOPS。由于硬性速率限制会给应用程序造成问题(例如,瞬时 VDI 启动风暴),因此还需设置一个突发值参数。当应用程序在最大限制下运行时,它们会逐步建立信用,这样在必要时,它们可以获得短时的突发性需求支持。

图 3) 有保障的 QoS。左图说明了禁用 QoS 时互相争用资源的影响。少数表现糟糕的工作负载抢夺其他每个工作负载的性能。右图显示了在采用各种设置的情况下,对不同工作负载启用 QoS 所带来的影响。

<img>

来源:SolidFire,2016 年

Enterprise Strategy Group (ESG) 的一项研究估计,凭借有保障的 QoS,SolidFire 可以避免多达 93% 与传统存储相关的问题,包括工作负载不平衡、独占一系列固定资源、池中资源不足、移动虚拟机、分层效率低下和控制器瓶颈导致的问题。这项研究最后得出结论:借助有保障的 QoS 和自动负载平衡功能,企业可以在单个存储系统上整合更多不同类型的工作负载。在采用传统存储并且不使用 QoS 功能的情况下,您要么花费更多时间解决性能问题,要么通过过度配置存储阵列尽量减少问题。

自动化管理

SolidFire 设计避免了会让自动化变得错综复杂的大量复杂情况。性能和容量基于全局池,工作负载在整个集群之间自动分布。配置极为简单,免去了许多传统存储任务,例如:

  • 性能调整和负载平衡
  • 管理分层、优先级划分或缓存
  • 短行程或过度配置
  • RAID 组或备用驱动器管理
  • 升级换代或平台迁移

SolidFire 执行的一切操作均通过基于 REST 的全面 API 进行呈现。自动化降低了因复杂管理任务而出现人为错误的风险。

图 4) SolidFire REST API。SolidFire REST API 支持所有 SolidFire 管理界面、插件和工具,而且有助于自定义集成。

<img>

来源:SolidFire,2016 年

SolidFire API 支持与管理平台和业务流程平台深度集成,而且支持面向用户的存储控件开发。此外,它还支持迅速部署应用程序和服务。SolidFire 的所有工具以及所有第三方集成(包括 VMware、OpenStack 等集成)都使用该 API 实现。

ESG 清楚地阐述了 SolidFire 自动化的优势,最后得出结论:与传统存储相比,SolidFire 帮助管理员将虚拟机运行速度加快多达 81%,将运营支出降低多达 67%。

实时数据效率

SolidFire 提供多种存储效率技术,包括全局精简配置及节省空间的快照和克隆。这些技术在原理上与您可能已经很熟悉的 NetApp 技术相似。

这些技术与多层数据压缩全局实时重复数据删除相结合,增加了 SolidFire 集群的有效存储容量。

<img>

每个 SolidFire 节点都包括一个充当写缓存的 PCIe NVRAM 卡。当主机写入数据时,写入内容将分成许多 4 KB 数据块,立即进行压缩后存储在 NVRAM 中。每个压缩数据块同步复制到另一个存储节点上。数据存储在两个节点上的 NVRAM 之中后,便会返回确认信息,因此写入速度极快,并且可预测性能。

每个压缩数据块都使用安全的加密哈希算法进行加密。生成的值用作数据块 ID。数据块 ID 决定数据块的存放位置,最后形成类似于在领先对象存储中所用系统的内容寻址存储系统。这种哈希算法在所有节点之间随机分布数据块,以此确保负载均匀分布。

SolidFire 重复数据删除块服务会根据数据块 ID 识别以前写入过的数据块。如果某个数据块已经存在,就会相应地更新元数据并丢弃重复的数据块。

重复数据删除过程是实时全局进行的,也就是说重复数据删除在整个集群上进行,而非按卷或按节点进行。

实时压缩和全局重复数据删除相结合,可带来以下显著优势:

  • 减少驱动器损耗:避免重复写入,延长 SSD 的使用寿命。
  • 提高系统性能:最大限度地减少资源消耗。
  • 消除热点:工作负载在整个集群之间均匀地分布。

根据速度选择实时压缩算法。SolidFire 还在后台使用后处理压缩。这是一种计算更为密集的压缩算法,可进一步优化存储容量而不影响性能。

全面的存储功能

本文提供了一些基础知识,可以帮助您对 SolidFire 纯闪存横向扩展存储平台的独特之处稍作了解。上文提到了许多要点,不过您还应该知道 SolidFire 提供以下一系列存储服务:

  • 复制(同步/异步)
  • 集成云备份
  • 快照和克隆
  • 256 位空闲数据加密
  • 全面的日志记录
  • 基于云的监控
  • 安全多租户
  • 同时支持多种协议 (FC/iSCSI)
  • 深度集成:VMware、OpenStack、CloudStack

要了解有关 SolidFire 的更多信息,请查看本文边栏中的资源列表或访问 solidfire.com

Dave Wright 于 1998 年离开斯坦福,随后帮助创立 GameSpy Industries,他带领一个团队创建后端基础架构,为成千上万种游戏和数百万游戏玩家提供支持。在 IGN 收购 GameSpy 之后,他担任首席架构师。

2007 年,Dave 创立 Jungle Disk,成为基于云的存储和备份领域的先锋企业。2008 年 Rackspace 收购 Jungle Disk 之后,Dave 与 Rackspace 云部门密切合作,搭建了为数万客户提供支持的云平台。2009 年 12 月,Dave 离开 Rackspace,随后创办 SolidFire。

2016 年 4 月

 

其他 SolidFire 资源

视频、博客和文章

播客

Tech OnTap 播客 团队一直用心为您提供有关 SolidFire 的最新信息:


Storage Field Day 视频

Dave Wright 与 SolidFire 团队在 Storage Field Day 5 展示了以下内容:


Ultimate Software 选择
SolidFire 产品

Ultimate Software 是通过软件即服务 (Software as a Service, SaaS) 交付人力资本管理 (HCM) 解决方案的领先提供商。业务遍布 150 个国家或地区的 2,800 多个客户都信赖 Ultimate 的 UltiPro® 套件。

Ultimate 在北美拥有四个主要数据中心,这些数据中心构建在模块式架构之上,每个模块可容纳 200-500 个客户。Ultimate 因存储性能问题而备受困扰,于是向 SolidFire 求助,从最初购买 5 个 SF3010 节点开始,很快便增加了 66 个 SF2405 节点,而且还计划再购买 44 个节点。

除了性能优势,SolidFire 还拥有出色的安全性、可用性以及与 OpenStack 和 Vmware 的深度集成,因而当仁不让地成为用户的最佳选择。由于 SolidFire 支持模块,因此可提供 4 倍性能,而且 QoS 功能消除了其他模块中存在的资源争用问题。

请阅读 Ultimate Software 案例研究

<img> TRUSTe
联系我们   |   如何购买   |   反馈   |   招聘  |   订阅   |   隐私政策   |   © 2016 NetApp