当前,闪存驱动器在企业级市场中日益占据存储介质的利基市场。 成本的显着降低和单个驱动器容量的增加都促进了这一点。 直到最近,仅使用机械硬盘驱动器的地方,现在都在积极利用SSD。 我们不仅在谈论客户端系统中的内部驱动器,而且还谈论服务器和数据存储系统的磁盘子系统。 并且在这一部分中,存储系统配置占据了单独的位置,其中仅将SSD用作存储介质。 这些就是所谓的全闪存系统。
首先,您需要自己了解什么是全闪存存储系统。 显然,该名称暗示仅在其中使用闪存驱动器。 但是,并非所有的All Flash系统都相同。 按照惯例,它们可以分为三个亚种。
1.使用SSD的传统存储
实际上,这是种类最多的全闪存存储系统。 因为对于制造商而言,没有什么比为您现有的存储配备SSD驱动器更容易了。 当然,除了重新贴上铭牌(全闪存)外,领先的供应商还参与了其他固件优化,以方便使用SSD并提高整个系统的速度。 但是有些人并不特别在意,只是提供由常规存储和一组SSD组成的捆绑包。 因此,您可以在市场上找到各种产品,从全闪存NAS Qnap(我们不讨论此解决方案的可行性,但实际上,全闪存确实没有错!)到庞大的多人Netapp FAS。
这种解决方案的主要优势尤其是中等成本。 当然,每个供应商对该品牌都有自己的附加费,但总的来说,全闪存系统(谈论带有控制器的“头”)的价格与传统存储系统相比(相较于SSD的成本,确实是一分钱)没有太大差别。
缺点是解决方案的整体性能低下。 所有类似的内部装有现代硬件的全闪存系统可产生约300K IOPS(4K,100%随机),我们之所以考虑采用记录模式,是因为它比读取要难存储,因此读取指标要高得多。 ) 与此值有很大的负偏差,这是固件中的一个严重缺陷,并且更高的性能指标表明针对特定SSD型号的缓存和/或固件优化算法更好。 在任何情况下,即使磁盘数量约为10-20,也会发生“饱和”。 因此,进一步添加磁盘只会增加可用的存储容量,而不会增加工作速度。
造成这种性能限制的主要原因是使用经典RAID算法。 这些算法是很久以前开发的,用于与机械硬盘驱动器一起使用,并且绝对没有考虑到固态驱动器操作的功能。 毕竟,与HDD不同,SSD不能仅覆盖数据块。 他需要将包含要更改的块的整个页面重写到新位置,并释放旧位置以进行后续新记录。 除了标准RAID损失外,这些情况还为重写操作提供了巨大的开销。
2.所有具有专有硬件的闪存阵列
为了克服传统存储系统的瓶颈,必须使用完全不同的硬件和软件体系结构。 此类解决方案的一个示例是Pure storage或IBM Flash System产品。 它们既没有通常意义上的RAID(奇偶校验,当然,具有容错能力),也没有SSD本身(它们有自己的“驱动器”)。 结果就是疯狂的性能,特别是低延迟率。 但是成本……的确,就像飞机的机翼一样。
3.软件定义的存储
除了所有闪存阵列的所有“ zoo”之外,还有软件定义存储(SDS)。 SDS是在常规x86硬件上运行并模拟存储系统的软件。 我们在引号中使用该术语并不是徒劳的,因为 当前,与过去不同,硬件和软件控制器之间的边界非常随意。 现代存储系统最经常使用运行类似于Linux的操作系统的标准x86体系结构。 是的,可以将其他卸载控制器用于某些操作。 但是,与SDS的主要区别在于用户对硬件和软件的封闭性。 相比之下,SDS允许您使用几乎所有推荐的硬件,并对软件组件进行适度的修改。
但是,如果您不仅将SDS用作存储系统,而且还用作全闪存阵列,那么给用户自由选择服务器平台和执行独立软件安装的自由是不正确的。 主要原因是无法保证指定的性能指标(实际上,是选择全闪存的主要原因),以及难以支持大量设备。 因此,所谓的设备出现在市场上-完整的解决方案,包括带有预安装和配置的软件的服务器平台,并配备了必要数量的SSD,通常可提供所需的性能。
此类解决方案(SDS设备)的代表是我们评测的英雄-AccelStor的 All Flash阵列。
AccelStor-全闪存工作的自己的看法
AccelStor于2014年成立,是一家初创企业。 关键的投资者(基本上是该项目的所有者)是著名的IT巨头东芝。 甚至在商业发布之前,该公司就引起了人们的关注,在有关Flash技术的各种活动中获得了最高奖项。 他们名单上的最高奖项之一是在非常著名的活动Flash Memory Summit(2016)中获得的。
AccelStor奖
所有这些奖项都是由于采用专有FlexiRemap技术实现的闪存使用创新方法而获得的,该技术是所有AccelStor NeoSapphire阵列均具有的 。
FlexiRemap技术是一种用于SSD的特殊算法,可以消除性能方面的瓶颈,并最大程度地延长驱动器的使用寿命。 主要思想是将随机写入请求转换为顺序链。 即 接收到的数据块被组合成“页”的倍数的链,然后才被写入SSD。 结果,从驱动器的角度来看,这种记录新数据的方法是一致的,最终可以实现高性能指标。
在此过程中, FlexiRemap算法跟踪所有数据块的需求。 根据使用频率,在覆盖时会自动对数据进行排名,以便所有“热”数据都尽可能地靠近彼此。 然后,在更改块的过程中,该数据也将一起移至新的“页面”,与传统方法相比,这将再次允许在SSD上使用生产率更高的顺序记录模式。 这种机制类似于一种虚拟对等,它还可以加快垃圾收集的速度,因为 垃圾收集器还将以顺序模式完成其工作。
尽管此处未使用RAID,但仍保护数据。 为此,将所有SSD分为两个对称组。 所有I / O均均匀地分布在两个组中(条带化)。 除数据外,每个组还包含校验和,以便在一个驱动器发生故障时可以继续工作。 总体而言,该阵列可以承受两个SSD的故障,与RAID相比,这相当于两组RAID 50的级别。
数据数组的组织
在记录时,使用了循环机制,由于这种机制,数据将尽可能均匀地分布在所有磁盘上。 此外,每个SSD都有自己的权重系数,这取决于其当前的记录资源。 因此,如果任何磁盘比其他磁盘磨损更多,则在资源指示符相等之前,接收新数据的可能性较小。 与传统的RAID方法相比,FlexiRemap技术由于统一使用而可以大大延长驱动器的使用寿命。
FlexiRemap与RAID
特别要注意的是驱动器发生故障时的数据保留机制。 在这种情况下,SSD拒绝的组将自动设置为只读模式。 这样做是为了尽快完成热备用磁盘上的重建过程。 恢复组后,它可以再次参与所有类型的操作。 此外,用于对齐记录资源的前述机制将自动起作用。
说到SDS设备,您需要了解这实际上是一台预装有软件的服务器。 因此,它是先验的单控制器,以存储系统表示。 而且,尽管许多任务使我们不能求助于冗余存储系统控制器,但所有存储供应商早就告诉我们,“正确的”存储系统是具有两个(甚至更多个)控制器的存储。 AccelStor对此也有自己的答案-群集中两个节点的“无共享”技术。
具有两个节点的 AccelStor NeoSapphire模型可以放在单个程序包中(基于双服务器),也可以以两个单独的服务器的形式。 后者可以彼此扩散到100m的距离以创建灾难恢复。 在任何情况下,通过InfiniBand 56G进行的外部连接都可用于在节点之间同步数据,并通过以太网进行附加的心率检查。
节点之间的同步组织
与通常的双控制器存储相反,此处不仅复制了以冷却模块和电源形式强制绑定的控制器(节点),而且还复制了数据本身。 由于持续同步复制,AccelStor NeoSapphire中的每个节点都是完全独立的,并且包含数据的完整副本。 与传统存储系统一样,两个节点都在对称主动-主动模式下运行,而无需使用彼此的查询传输(ALUA)。 因此,AccelStor发生故障时的切换时间实际上趋于为零。 与传统体系结构相比,数据的两个副本的存在可以显着提高系统的可靠性。
继续讨论可靠性,值得注意的是,Accelstor阵列在写操作期间不会缓存数据,因为 在同步模式下工作。 这些FlexiRemap算法的所有中间动作均在控制器RAM中执行。 但是,只有在SSD上的物理记录之后,阵列才会向主机确认操作是否成功完成。 因此,Accelstor All Flash阵列由于不需要电池/电容器而没有电池/电容器。
除了独特的全闪存技术外,AccelStor NeoSapphire阵列还具有企业市场的标准功能 :自动精简配置,写重定向快照,并能够通过外部CIFS / NFS文件夹进行备份和还原,异步复制,压缩和重复数据删除。 另外,值得注意的是,Free Clone功能可以创建不占用空间的卷副本,因为 它们本质上是到源卷的链接。 例如,在VDI中,此功能可能非常有用。
当然,它支持所有现代操作系统和虚拟化平台。 VMware vSphere Web Client有一个插件,可以管理卷并完全实现Free Clone的功能。
Accelstor NeoSapphire作为软件定义存储的一个重要优点是能够在具有完全标准SSD的常规x86硬件上工作。 是的,制造商不提供选择硬件平台的自由:它会为您做到这一点。 这样做主要是为了确保解决方案的可预测性能,并消除兼容性问题。 所有Accelstor All Flash阵列都是根据特定客户的需求进行组装的,并在出厂前经过严格的测试。 所有阵列的标准保修期均为NBD 3年,带有高级更换零件。 因为 供应商位于俄罗斯境内,还提供俄语技术支持。
订购All Flash Accelstor NeoSapphire阵列时,可以灵活选择所需的体积。 而且,无论磁盘空间的物理组织如何,此卷实际上都是主机可以使用的卷。 请注意,所有型号均已满载磁盘。 没有可用的插槽-您无法添加磁盘。 这都是由于前面提到的相同的性能和可靠性要求。 如果将来需要增加音量,可以使用扩展架(适用于旧型号)来完成。 还需要提前确定阵列中有多少个节点(控制器),因为 没有提供升级到当前的双模式模式。
作为所有型号的接口,可以选择10G iSCSI或16G光纤通道。 可选地,还可以有一个56G InfiniBand。 对于iSCSI型号,除了阻止访问外,额外的好处是还支持CIFS和NFS文件协议。 端口数由给定的系统性能决定,因此它们不会成为瓶颈(通常每个节点2-6个端口)。
作为驱动器,使用标准的企业级SSD。 最常使用SATA接口,例如 不需要与两个控制器一起工作。 也有基于NVMe磁盘的全闪存阵列模型。
使用标准服务器平台和SSD可以显着优化整个解决方案的成本。 同时,AccelStor会自己代表整个解决方案提供服务,而不管阵列中哪个制造商的哪个组件。
而且,是的,非常重要的一点:没有付费许可证! 所有功能都可以“开箱即用”使用。 此外,如果功能扩展,则更新固件时将提供新功能。
业务验证
AccelStor有各种型号,具有各种声明的性能。 具有8个SSD的最小NeoSapphire 3401可以在4K时提供300K IOPS。 具有24个SSD的高端P710在4K时已经产生700K IOPS。 对于NVMe型号,仅8个SSD的NeoSapphire P310即可达到700K IOPS @ 4K的相同性能! 并且请注意,所指示的性能值是建立模式下的记录(读数和上述各种峰值),即 在阵列最重的操作模式下。
我们测试了带有48个SSD(每个节点中有24个SSD)的两个NeoSapphire H710系统,可用容量为27 TB。 Accelstor宣布此模型的性能不低于600K IOPS 4K(随机写入)。 测试是在IOmeter中通过光纤通道连接的三台服务器进行的。
在全闪存综合测试中,该阵列甚至比规范中承诺的要好,在我们看来,该阵列只是对任何指标提出质疑的市场领域的一个加分(这是由于营销人员为此而感到震惊!)。
重要的是要注意,FlexiRemap算法的主要优点之一是其在记录模式下的高性能,并且不会随时间而下降。 即 连续运行10分钟/小时/ ...后,在建立模式下达到的指标将相同。 为了证实这一事实,我们将IOmeter测试(4K,100%随机写入)运行了几个小时(使用了一个主机)。 是的,这是真的:性能几乎不会随时间变化。
判决
默认情况下,选择全闪存阵列时,大多数用户倾向于将配备SSD的传统存储系统视为候选存储系统。 而且,如果性能〜280K IOPS(4K,随机写入)适合您,那么您会朝着正确的方向思考。 仅仅是越来越多的业务任务要求设备全部工作146%。 遗憾的是,使用传统的存储系统,它们将不会脱颖而出,并且某些IBM Flash System的成本很高。 所有Flash AccelStor阵列都将受到欢迎。 良好的性能,高可靠性,灵活的配置选择和适当的技术支持-这还不是这些阵列优点的完整列表。 加上完全没有许可证的隐性费用和SSD的更长时间使用-您将不仅获得有趣的产品,而且获得有价值的工具。
因此, AccelStor已经在超快阵列市场的阳光下不可避免地会扩展。 而且,谁知道他们可以到达什么高峰。