主页 Enterprise 软件定义存储:让大众享受超大规模云的优势

软件定义存储:让大众享受超大规模云的优势

by 访客作者

计算发生了翻天覆地的变化,尤其是在过去十年中。 据 IDC 称,网络和移动应用程序的兴起以及内容创建工具的商品化,使端点内容消费和内容创建增加了至少 30 倍。 因此,如今的公司希望从他们现在通常存储的 PB 级数据中获取更多价值。 在应用程序和基础架构层运行的真正自助服务云现在是价值数十亿美元的业务。 传感器网络和其他机器对机器的交互预示着数据移动和存储的另一个指数级飞跃。 然而,尽管数据和内容的使用发生了所有这些巨大的变化,除了容量和处理器能力的增加之外,通用存储架构在过去二十年中基本保持不变。 我们正在尝试使用为 TB 级设计的架构进行多 PB 级的计算。


企业营销副总裁 Leo Leung, Scality

计算发生了翻天覆地的变化,尤其是在过去十年中。 据 IDC 称,网络和移动应用程序的兴起以及内容创建工具的商品化,使端点内容消费和内容创建增加了至少 30 倍。 因此,如今的公司希望从他们现在通常存储的 PB 级数据中获取更多价值。 在应用程序和基础架构层运行的真正自助服务云现在是价值数十亿美元的业务。 传感器网络和其他机器对机器的交互预示着数据移动和存储的另一个指数级飞跃。 然而,尽管数据和内容的使用发生了所有这些巨大的变化,除了容量和处理器能力的增加之外,通用存储架构在过去二十年中基本保持不变。 我们正在尝试使用为 TB 级设计的架构进行多 PB 级的计算。

软件定义存储 (SDS) 承诺提供更灵活的存储模型,其中存储真正成为其他计算服务中的一项服务。 硬件独立性是该架构的一部分,因为当应用程序发生变化以及系统扩展和缩小时,数据和服务必须更自由地流动。 SDS 不是将数据管理功能嵌入到专有的封闭设备中,而是将此功能与硬件分离 - 支持专注于数据的功能 - 并且自然地跨越硬件。 与随着时间推移的其他基础设施商品化模式(例如软交换机)一样,这种分离也暴露了当今存储设备中包含的膨胀利润 (60%)。

由于 SDS 通常会以数 PB 的规模进行部署,因此可用性必须非常高,并且不需要对已知故障场景进行干预。 应用程序界面必须对现有应用程序和较新的基于 Web 和移动的应用程序都友好。 性能应该很强,可以线性扩展,并且适合混合工作负载。 数据保护和数据恢复等服务必须针对相同级别的动态性和扩展性进行设计。

这与完全依赖于物理硬件的传统存储架构形成鲜明对比,并将可用性、数据访问、性能、管理和持久性功能嵌入到专有设备的有限范围内。 这些遗留架构专为跨越上述每个维度的较小规模而设计。

SAN 仍然是低延迟访问数据的好方法,但在大规模情况下表现不佳

SAN 被设计为通过专用本地网络与存储接口的最基本方式。 它控制小逻辑卷中的数据块,但不知道数据是什么的上下文,并且完全依赖于应用程序来组织、编目和构建数据。 根据设计,SAN 在规模、接口和范围方面受到限制,而且由于专用网络基础设施,成本通常更高。

文件仍然占主导地位,NAS 是主力军,但在规模上面临挑战

NAS 也被设计为与本地网络存储接口的一种方式,但以文件系统和文件的形式提供更多结构。 基于用于管理文件层次结构和文件访问的本地内部结构,文件系统具有自然限制。 由于托管文件层次结构中的信息,系统中的内容具有更基本的意识,但它完全局限于物理存储控制器。 同样在设计上,NAS 系统在规模和范围上受到限制。 集群 NAS 系统扩展了技术的可扩展性,但也有与物理控制器(编号为 10)和用于跟踪文件层次结构和文件的中央数据库相关的自然限制。

对象存储解决了规模问题,但在工作负载支持方面非常有限

对象存储是一种创建额外抽象的技术,通常在本地文件系统之上和跨本地文件系统。 这意味着系统中的数据在全局命名空间中作为对象(而不是块或文件)进行管理,每个对象都有唯一的标识符。 此命名空间可以跨越数百台服务器,从而比 SAN 或 NAS 模型更容易扩展容量。 

然而,对象存储在应用程序支持方面从根本上受到限制,因为它们需要将应用程序重写为特定风格的 HTTP API,并且性能通常仅限于一次写入,多次读取 (WORM) 或一次写入,从不读取的场景。 这种性能不足是由于架构强制流量通过一组有限的元数据节点,这有时会通过纠删码等服务增加这些有限节点的开销。

软件定义的存储是为大规模而整体设计的

软件定义存储是一种新方法,可将存储功能与特定硬件完全分离,从而实现更灵活的部署、可扩展性、可访问性和操作。

SDS 的解耦允许软件独立地利用硬件,根据用例独立地扩展容量、性能和可访问性。 这种类型的定制在最高端的传统存储之外是不可能的,传统存储具有为此目的专门构建的硬件组件,最终仍然限制了灵活性和总规模。

将存储功能与硬件分离还可以更轻松地识别整个系统中的问题,而不必对将硬件和软件异常处理结合到低信噪比堆栈中的设备进行故障排除。

除了软件和硬件的基本分离之外,SDS 存储服务还通过提供可以跨越物理边界的容量、可用性、持久性和可访问性服务来利用解耦。 SDS 的一个共同属性是使用对象存储来创建几乎无限的唯一对象命名空间。 这超越了逻辑单元号 (LUN) 和文件系统的管理单元,它们在设计上具有基本的规模限制。 这允许 SDS 系统通过添加更多物理容量而无需添加新的管理单元即可扩展。

SDS 系统的可用性也可以非常优越,利用 SDS 节点之间的专用网络空间。 不同于大多数 SAN 和 NAS 系统的有限主动/被动控制器安排,或横向扩展 NAS 的集群安排,SDS 系统可以继续扩展到一个域中的数千个地址。 此外,SDS 系统还可以利用先进的路由算法,即使在大规模拓扑和面对多种故障情况下也能保证响应。 这远远超出了传统存储的简单交换结构或菊花链,在传统存储中,整个阵列可能由于简单的布线错误而出现故障。

传统存储系统的耐用性旨在支持一两个磁盘的偶尔故障,几乎需要立即更换。 在 PB 级系统中,磁盘数量从数百个开始,通常会增长到数千个。 即使平均故障间隔时间 (MTBF) 很长,一些磁盘也会始终出现故障。 SDS 系统旨在应对许多故障和许多不同的故障域。 它们利用分布式容量和处理的天然优势来实现分布式保护方案和极快的重建。 与扩展架构的双控制器方案相比,这在规模上是必要的,后者在磁盘重建或其他存储服务期间存在严重瓶颈。

可访问性在传统存储系统中是次要问题。 应用程序服务器或大型机位于具有一些成熟协议的本地、特定于存储的网络上。 共享以太网网络和混合公共和私有访问现在已成为常态。 SDS 系统必须支持更广泛的要求。 从基于 Web 到基于以太网的访问,从基于网络的存储资源到作为本地资源部署在应用服务器上——SDS 必须支持所有这些。 

正如本文通篇所指出的,传统存储是高度专业化的,导致典型的大型企业中存在许多功能和数据孤岛。 这不仅从运营的角度来看效率非常低,而且不会产生规模经济,并且极大地限制了数据共享和重用的机会。

SDS 旨在满足大多数应用程序集成要求,协议从持久到无状态,从简单到高度交互和语义丰富。 这实现了一个通用环境,其中存储可以是应用程序的通用服务,无论它们有小文件还是大文件、不同的保护要求和不同的协议需求。 这打破了 NAS、对象和磁带存储之间的当前界限,释放了超大规模参与者多年来享有的影响力,并为连接已扩展到数十亿端点的世界更新了存储服务。

总之,应用程序和要求发生了巨大变化。 90% 的数据都是在过去两年内创建的; 我们正处于拍字节时代,艾字节指日可待。 PB 级的痛苦和对提高数据价值的追求已经成为考虑新方法的催化剂,因为几十年的传统方法达到了它们的设计极限并且不堪重负。

讨论这个故事

关于作者

你可以关注 Leo Leung Twitter 或查看他的网站 techexpectations.org网站.