Hammerspace是一个全局数据平台,可统一、自动化并提供对任何站点、任何云、任何存储中的非结构化数据的快速访问。支持使用自带高性能擦除编码为客户提供使用现成商用服务器构建高弹性存储环境。
Hammerspace擦除编码使用Mojette Transform构建,其速度比传统擦除编码方案(Reed-Solomon)快2倍,同时提供数据存储效率、数据持久性和灵活的可扩展性。
本文介绍了擦除编码如何融入Hammerspace架构,展示如何通过擦除编码组 (EC-Groups) 实现它,并包括可用于实现EC-Groups的硬件配置示例。
Hammerspace已向Linux贡献Mojette Transform擦除编码,用于实现客户端侧擦除编码,预计包含在2025年内核更新中。
Hammerspace架构和存储选项
有关Hammerspace架构和功能的全面回顾,请查阅Hammerspace超大规模NAS架构
《图1:Hammerspace架构》
Hammerspace集群由两种类型的节点组成。一对(HA Anvil)节点提供所有元数据服务并指导数据编排活动。数据服务扩展 (DSX) 节点托管存储并执行数据编排任务。Hammerspace环境中有多种数据存储选项:
《图2:Hammerspace 可使用多种存储选项》
Mojette Transform擦除编码
大多数利用纠删码的数据存储系统都使用Reed-Solomon编码,这种代码可以追溯到1960年。
然而,Reed-Solomon并不是唯一的选择,还有许多其他类型的纠错码。Hammerspace使用Mojette Transform作为纠删码。
与Reed-Solomon相比,Mojette Transform支持更高性能的编码和解码,因为它在计算上更简单。Reed-Solomon需要相对复杂的多项式计算,但Mojette Transform只使用加法和减法,更少的CPU利用率,性能是Reed-Solomon的2倍甚至更多。
由于Mojette Transform速度很快,Hammerspace纠删码可以使用比其他系统更小的块大小(4KB vs. 10MB或更多),从而提高小文件的效率。
《图3:Mojette 与 Reed-Solomon EC效率对比》
数据冗余
使用 Mojette Transform进行擦除编码时,会从每个数据块创建 “n” 个投影。在这些投影中,只需要 “m” 个即可重新创建原始数据,其中 m 是 n 的子集。n 和 m 之间的关系由公式 n/m = 1.5 定义。n 和 m 可能有多种组合,但通常 n = 6 和 m = 4。这允许两个保存特定块投影的驱动器发生故障而不会影响数据可用性。
为了确保即使某些驱动器发生故障也能始终保护写入,驱动器会跨节点分组,以大于 n 的集合。在通常情况下,n = 6,使用 8 个驱动器的集合。
它的工作原理如下:
《图4:Mojette Transform擦除编码工作原理》
在此图示中,一个节点和一个磁盘不可用,但写入和读取活动将继续,不受影响。
数据安全
EC-Groups与基于硬件的加密方案(例如自加密驱动器 (SED) 提供的方案)以及基于阵列的软件加密兼容。静态数据的本机加密也是一种选择。EC-Groups加密使用众所周知且值得信赖的AES-256算法在对数据块进行擦除编码之前对其进行加密。如果需要,可以针对单个目录启用加密。
EC-Groups 配置和扩展
Hammerspace使用EC-Groups实现了这项技术。EC-Groups是指一组在集群中的服务器,使用Hammerspace擦除编码来确保耐用性和保护性。可用的服务器和存储硬件种类繁多,软件的灵活性意味着可以实现许多不同的EC-Group 配置。Hammerspace 团队将协助设计过程,以确保系统满足客户要求。
基本配置
下图 5 显示了两种基本配置,一种基于高容量硬盘,一种基于高性能 NVMe 闪存。大多数客户要求可以通过对一个或两个基本系统进行一些改进来满足。
《图5:基于HDD机械磁盘与基于NVMe闪存磁盘的基本配置》
扩展
EC-Groups配置可以灵活地扩展容量和性能,方法是向现有存储节点添加更多驱动器,或者添加更多存储节点(每次添加一个),扩展无需停机。
总结
擦除编码为Hammerspace客户提供了一个有价值的新选择,可以在他们选择的硬件上构建高效、有弹性、高性能和安全的存储系统。与基于Reed-Solomon的方案相比,Mojette Transform具有独特的性能优势,并支持随着数据增长和性能要求提高而灵活扩展的路径。
高效数据保护
自我修复
高性能
高安全性