SolidFire-用于存储**仇恨仇恨的存储

越来越多的解决方案正在摆脱传统的统一存储方法。 这些是专门为特定业务领域的任务量身定制的存储。 之前,我谈到了Infinidat InfiniBox F2230系统。 今天在我的SolidFire评论中心。

NetApp创始人Dave Heats:“谁讨厌存储”

2015年底,NetApp宣布收购SolidFire初创公司,该公司成立于2010年。 对这些系统的兴趣归因于它们管理数据仓库和可预测性能的不同方法。

SolidFire解决方案补充了NetApp产品线,其中包括全闪存FAS(AFF),EF和E系列。 一年半之后,它还允许在市场上推出新产品-NetApp HCI(超融合基础架构),该产品使用SolidFire作为存储子系统。

“我们正在开发一种针对大型云计算数据中心的新型存储系统。 基本上,这个想法是,许多公司将计算从他们的办公室或自己的数据中心转移到这些大型云计算数据中心,在那里他们拥有成千上万的客户,所有信息都集中在一个地方。 因此,我们正在创建一个旨在为这些大型数据中心提供服务的新存储系统。”

Dave Wright,SolidFire首席执行官,2012年
最近,有越来越多的解决方案从可以解决任何问题的传统统一存储方法转移到旨在解决特定业务领域问题的专用存储。

不久前, 我已经讨论过Infinidat InfiniBox F2230系统 ,该系统非常适合服务提供商的任务。 今天参加SolidFire评论的参与者也可以归为此类设备。 SolidFire创始人Dave Wright和他的团队来自RackSpace,他们正在开发一个高效的存储系统,该系统将在具有许多用户的环境中提供线性性能,同时它简单,易于扩展且具有灵活的自动化功能。 为了解决这个问题,SolidFire诞生了。

迄今为止,SolidFire产品阵容包括四种具有不同IOPS / TB比的型号。


10个(MLC)SSD用于数据存储,而Radian RMS-200作为NVRAM。 确实,已经有计划迁移到NVDIMM模块。


这里有趣的是SolidFire如何检索和存储数据。 我们都知道SSD驱动器的资源有限,因此合乎逻辑的是,为了最好地保存,压缩和重复数据删除,应在记录到SSD之前即时进行。 当SolidFire从主机接收数据时,它将它们分成4K块,然后将该块压缩并存储在NVRAM中。 然后,将此块在NVRAM中同步复制到群集的“相邻”节点。 之后,SolidFire会接收到此压缩块的哈希,并在整个集群内的存储数据索引中搜索该哈希值。 如果已经存在带有此类哈希的块,则SolidFire仅使用该块的链接更新其元数据,如果该块包含唯一数据,则将其写入SSD,并为其写入元数据。 这种存储数据和元数据的机制与对象存储的操作机制非常相似。

我们的四个节点的测试集群

谣言已经出现,这条线将很快更新。 值得一提的是-SolidFire集群能够与具有不同“ IOP / TB密度”的节点一起工作,并将一个不同代的节点组合到一个集群中。 首先,从硬件支持的角度来看,它使该系统的使用更具可预测性,并且当您只需添加新节点并从群集中实时删除旧节点(仅等待群集重建)而无需停机时,它就可以促进从旧节点到新节点的过渡,因为 同时支持横向扩展和横向扩展。

SolidFire可以作为三种解决方案提供:

  • SolidFire作为基于Dell / EMC服务器的独立产品,
  • 作为Cisco服务器上FlexPod SF的一部分,
  • 作为NetApp HCI在其平台上的一部分。

从特性表中可以看到,节点仅支持iSCSI连接,而对于FC连接,则有另一种类型的节点-Fabric Interconnect,它依次包含四个用于FC数据的端口和四个用于连接到节点的iSCSI端口,以及64GB本机系统内存/读取缓存。


特性表还显示了每个节点的性能。 这是您在购买阶段了解存储系统性能的情况之一。 每个节点的性能保证得到保证(负载配置文件为4Kb,80/20)。

因此,购买X节点的集群或扩展现有解决方案,您将了解最终将获得多少容量和什么样的性能。 当然,在某些条件下,您可以从每个节点中挤出更多性能,但这不是此解决方案的目的。 如果您想在单个卷上以2U的速度获得数百万的IOPS,则最好将注意力转向其他产品,例如AFF。 通过大量的卷和会话,可以在SolidFire上获得最佳性能。

界面首页

存储管理非常简单。 实际上,我们有两个资源池:卷和IOPS。 通过确定一种资源类型并知道其最终数量,我们可以清楚地了解系统的其他功能。 这再次使扩展系统成为极其容易的任务。 需要更多性能? 考虑SF4805或SF19210的IOPS / TB比“密度较小”。 需要音量吗? 我们期待SF9605和SF38410,它们在Gb上提供的IOPS更少。

从存储管理员的角度来看,该系统看起来很无聊。 默认情况下,重复数据删除和压缩等工作。

还提供复制和快照,并且可以为整个NetApp产品系列(E系列除外)组织复制。 在我看来,正是这种简单性在文章标题的Dave Heats语录背后得到了揭示。 鉴于该系统涉及与动态分配资源的各种系统的集成,而无需管理员的参与并且没有额外的人工成本,因此很快您通常会忘记SolidFire界面的外观。 但是,我们将进一步讨论集成。

我们在Onlanta进行了压力测试,以确保承诺的200k IOPS。 并不是说我们不相信供应商,而是习惯于自己尝试所有事情。 我们没有为自己设定挤出系统的目标。 我们还可以根据自己的经验验证该系统在大量流量的情况下准确地给出了良好的结果。 为此,我们在SolidFire上组织了10个1TB的卷,在其中放置了一个测试虚拟机。 在准备测试环境的阶段,我们对重复数据删除的工作感到惊讶。 尽管其工作方案相当标准,但集群内的工作质量却非常有效。 测试之前的磁盘上充满了随机数据。

为了使其更快,我们生成了一个10 mb的块,然后他们将其填充。 此外,在每个虚拟机上,该块是分别生成的,即 在所有汽车中,模式都不同。 在充满数据的10TB中,阵列上的实际占用空间为4TB。 重复数据删除效率为1:2.5,在采用这种方法的FAS上,在线重复数据删除效率趋向于0。在我们的测试平台上,我们能够获得190k IOPS,响应时间约为1 ms。



我想指出,该解决方案的体系结构功能不允许在少量线程上获得高水平的性能。 一小颗月亮或一台测试虚拟机将无法显示较高的结果。 通过使用系统的全部容量,并逐渐增加使用fio创建负载的虚拟机的数量,我们能够获得如此多的IOPS。 我们增加了它们的数量,直到延迟不超过1.5 ms,然后我们停止并取消了性能指标。

磁盘子系统的完整性也会影响性能。 如前所述,在运行测试之前,我们在磁盘上填充了随机数据。 如果在没有先填充磁盘的情况下运行测试,则在相同的延迟水平下,性能将更高。


我们还通过关闭节点之一进行了我们最喜欢的容错测试。 为了获得最佳效果,已选择禁用“主节点”。 由于每个客户端服务器都建立了自己与群集节点的会话,而不是通过某个点,因此在断开其中一个节点的连接时,并非所有虚拟机都将降级,而仅使用该节点的虚拟机会降级。 因此,从存储的角度来看,我们只能看到部分性能下降。


当然,对于虚拟化主机而言,在某些数据存储上,性能下降最多为0。但是,在30秒内,性能得以恢复而没有性能损失(应该记住,下降时的负载为120k iops,这可能会产生三个负载)在四个节点中,我们不应该看到性能下降)。

在SolidFire方面,阵列的重建开始了。 计时器稍稍躺下,整个过程耗时约55分钟,完全符合供应商承诺的时间。 同时,没有人从存储系统中删除负载,并且负载保持在相同的120k IOPS水平。

容错功能不仅在磁盘级别提供,而且在节点级别提供。 群集支持一个节点同时发生故障,此后将启动群集重建过程。 考虑到SSD的使用以及所有节点都参与了重建,群集恢复大约需要一个小时(磁盘故障时的重建大约需要10分钟)。 应该牢记的是,当一个节点发生故障时,您的性能和可用空间都会减少。 因此,您始终需要一个节点数量的可用空间。 最小群集大小为四个节点。 如果其中一个节点在等待替换到达之前发生故障,此配置将使您避免麻烦。

与大多数存储系统一样,此处仅实时显示性能监控。 为了访问历史数据,您需要部署所谓的管理节点,该节点致力于从SolidFire中获取API数据并将其上传到Active IQ。 如果您已经使用过NetApp系统,那么您可能已经遇到过此门户。 您有机会处理有关生产率,效率(包括增长预测)的数据。 您甚至可以通过移动设备在世界任何地方访问这些数据。





由于我提到了内联重复数据删除的工作,因此我也将大体谈一下存储效率。 与AFF系列一样,NetApp根据存储的数据类型提供有保证的存储效率比。


如您所见,数据类型和保证系数略有不同。 例如,SolidFire完全符合我们的情况-系数为4:1的虚拟基础架构。 并且这没有考虑快照的使用。

该解决方案的体系结构基于服务质量(QoS),实际上可以确保每个卷的性能保证。


QoS是服务提供商和其他需要确保存储性能水平的企业的关键功能之一。 有人会说QoS并不是什么新鲜事物,而是由许多其他供应商实现的。 另一个问题是它是如何工作的。 如果在传统存储中更有可能确定优先级并限制速度,那么SolidFire进而使用集成方法来确保性能。

  • 使用All-SSD可使您实现I / O的低延迟。
  • 横向扩展可轻松预测性能指标。
  • 缺乏经典RAID-可预测的性能
  • 硬件故障
  • 均衡的负载分配消除了系统中的瓶颈。
  • QoS有助于避免“嘈杂的邻居”。

除了可以设置最大和最小性能之外,还可以提供超出最大限制(突发)的性能。 每册都有一定条件的贷款制度。 当他的生产率低于最高分数时,他将获得这些贷款,这使他在一定时间内可以克服最高生产率。 通过这种方法,您可以在存储中放置大量需要高性能的应用程序,同时保护它们免受彼此的负面影响。 最有趣的是,不仅在阵列的卷级别还支持QoS,而且在VMware VV级别也支持QoS,这允许为每个虚拟机进行精细的资源分配。 对VAAI和VASA API的完全支持提供了与虚拟器的紧密阵列集成。

说到集成,VMware的解决方案还远远没有结束。


也许SolidFire可以被称为是最自动化的存储系统,可以与任何现代系统,虚拟化/容器化系统集成,支持配置管理系统,SDK可用于多种语言。

与往常一样,我首先看一下Python的SDK,这是我自己的工作流程自动化的基础。 因此,我们需要创建15个1 TB的卷并在输出中获取iqn,然后将其传递给VMware管理员以添加数据存储。 我们已经有预先创建的访问组,在其中注册了我们的VMware主机和预先创建的QoS策略。

#!/usr/bin/env python # -*- coding:utf-8 -*- from solidfire.factory import ElementFactory sfe = ElementFactory.create('ip', 'log', 'pass') for i in range(1,51): create_volume_result = sfe.create_volume(name='vol'+str(i), account_id=2, total_size=1099511627776, enable512e=True, qos_policy_id=1) id = create_volume_result.volume_id sfe.add_volumes_to_volume_access_group(volume_access_group_id=2, volumes=[id]) volumes = sfe.list_volumes(accounts=[2], limit=100).volumes for volume in volumes: print volume.iqn 

或者这是来自SolidFire本身的更详细的Python SDK演示视频:


这种自动化方法使SolidFire不仅方便了云提供商和类似任务,而且根据持续集成和交付(CI / CD)的概念允许您优化开发流程。

正如我提到的-WebUI通过API进行工作,您可以通过API日志查看所有请求和响应。

如果您想了解有关SolidFire的更多信息,与竞争对手的比较,与系统的合作等等,我想推荐他们的YouTube频道 ,其中有大量有用的视频。 例如,“比较现代全闪存架构”这一周期。

该系统的出色功能包括用于将快照备份到外部S3兼容存储的内置机制。 这使您可以将快照用作备份,并将其存储在站点和外部资源(例如,Amazon)中的外部存储库中。 当然,从数据恢复的角度来看,这种方法很难被称为灵活的,但是在某些情况下,这种解决方案可能是有用的并且非常适用。 还有一点很有趣-您可以通过两种方式将数据上传到S3存储:

  • 本机-在这种情况下,将对已经重复数据删除的数据进行注入,但是与此同时,该卷只能还原到与注入相同的系统上。
  • 未压缩-已经在此处倒入了一组完整的块,这使您可以在任何其他SolidFire群集上恢复该月球。



总的来说,我们对与SolidFire的沟通感到非常满意。 我们获得了承诺的性能,在线重复数据删除工作令人称赞,集成和自动化功能也给我们留下了非常积极的印象。 节点故障的影响,或者说它对系统整体性能的最小影响,负载分配以及单个故障点的缺失(可能会极大地影响性能),使得该系统具有极大的吸引力。 尽管群集只能在iSCSI上运行,但是FC传输节点的存在使该系统更加通用。

我要特别感谢NetApp的Yevgeny Krasikov和Merlion的Arthur Alikulov进行的测试。 顺便说一句,亚瑟(Arthur)拥有一个很棒的电报频道,适合所有想要了解有关存储方向(尤其是NetApp)的新闻的人。 您可以在其中找到大量有用的资料,无论是谁需要阅读但也想聊天,那么还会有一个聊天存储讨论

如果您仍然有疑问或突然出现新问题,我邀请您访问2018年NetApp指导,该会议将于2018年7月17日在彼得罗夫斯基凯悦酒店举行,亚瑟和我将在其中一届会议上谈论SolidFire。 注册活动和所有详细信息。

并且在我们公司中有一个空缺。

Source: https://habr.com/ru/post/zh-CN415967/


All Articles