Ceph 是新的潮流。它与任何事物都很搭!

2012年10月17日 scuttlemonkey

在我(相当短暂的)深入 Ceph 并与社区合作的时间里,大多数讨论通常归结为两个问题:“Ceph 是如何工作的?”“Ceph 可以用来做什么?” 我们的推广工作中已经对第一个问题给予了相当多的关注。Ross Turk 的文章“不仅仅是一个对象存储” 很好地总结了 Ceph 的神奇之处。我将在下面解决第二个问题。

那么 Ceph 可以用来做什么? 对于那些喜欢先看结局的人来说,答案是“令人眼花缭乱的很多”。谢天谢地,这并没有破坏我们其他人的乐趣,因为细节才使它变得有趣。在对这些细节的邮件讨论中,Inktank 的负责人 Bryan Bogensberger 设法简洁地总结了许多可用的选项,同时引用了示例和支持数据。(多么了不起的商人,他对技术有深刻的理解。我们是多么幸运!?)在不立即用所有支持细节压垮你的情况下,他的清单如下

  • 启用公有云
  • 启用私有云
  • 支持服务提供商取代传统存储
  • 作为 HDFS 的替代品
  • 作为企业存储的替代品
  • 作为 Lustre 的替代品
  • 为应用程序开发提供平台

我实际上想再补充一个

  • 作为大量学术研究、开发和实验的基础

有趣的是,这些类别中的许多已经有早期采用者,他们一眼就看中了 Ceph,并决定直接投入,在其之上构建令人惊叹的东西。Ceph 作为开源技术以及 Inktank 经验丰富的企业专家,使得 Ceph 的负责人能够以非常深入的水平与两个不同的社区互动。开源爱好者帮助处理边缘情况、测试、补丁,甚至积极开发和支持。此外,许多企业也提供了他们自己的外部专业知识,因为我们正在构建 Ceph 与其他技术的桥梁,有趣的需要解决的问题,以及积极的开发贡献。这种结合正在使 Ceph 作为一种技术像野火一样传播,挑战许多昂贵的替代方案,就像云挑战传统基础设施一样。

启用公有云

几家服务提供商已经利用 Ceph 允许的每千兆字节的惊人低成本,构建对象存储产品来与现有产品竞争。由于 Ceph 的可扩展性、强大的集成和易于管理,这些服务提供商发现自己拥有很多增长空间,规避了专有技术的固有局限性。Dreamhost 是一个很好的例子,他们的全新 DreamObjects 产品就是如此。DreamObjects 旨在成为一项廉价的、基于对象的云存储服务,允许用户通过 Amazon S3 和 OpenStack Swift 兼容的 API 连接。Ceph 使他们能够快速、廉价且易于扩展地将这个新的对象存储推向市场。

启用私有云

在过去的几年里,许多企业一直在转向虚拟化基础设施,以节省时间和金钱。不幸的是,这会将管理物理机架的混乱问题转化为维护虚拟化基础设施的数字混乱的复杂性。IT 管理员总是希望以最划算的方式获得最大的收益,并扩展应用程序的资源。Ceph 是一个具有许多功能的平台,而不仅仅是一个简单的对象存储;许多 IT 专业人士发现它可以一次解决许多问题,从而扩展其用途和预算。

Inktank 已经支持一些公司,他们正在开发自己的云项目,并提供了一种经济高效的可靠、可扩展的云存储替代方案。Ceph 的模块化和通过智能对象存储守护进程 (OSD) 自动重新平衡集群,在私有云中尤其重要。它们允许企业根据需要启动或关闭节点,而不会导致停机或影响性能。这有助于拥有真正动态的基础设施,这在当今的虚拟化数据中心中非常重要。此外,有很多不同的方式可以访问 Ceph 集群,这允许应用程序开发人员以一种高度灵活和自助的方式进行访问。无论您是利用了本机 API 之一,还是简单地使用 CephFS 挂载集群,一旦集群可用,应用程序开发人员就可以以最适合其个人项目的方式与它交互。这使得运维人员可以专注于运维,而应用程序开发人员可以专注于构建最好的软件。

Piston Cloud 的 OpenStack 产品中可以看到 Ceph 在私有云中的作用的一个很好的例子。Piston Cloud 创建了一个工具,可以自动将整个服务器机架配置为 OpenStack 节点,Ceph 提供块存储。该产品可以在不到 10 分钟的时间内安装,并允许客户评估 OpenStack 的所有服务,而无需配置多台不同的机器。Piston 的实现还承诺了从试点部署到全面支持的生产环境的轻松部署和无缝升级。

支持服务提供商取代传统存储

许多企业长期以来都需要升级其存储需求,这在很大程度上是由于现有技术相关的成本。Ceph 通过开源和主要由商品硬件驱动,在传统企业存储上占据优势。几家公司已经得出结论,虽然可靠性和可扩展性可以得到增强,但真正的驱动力是长期对盈底线的影响。Ceph 是一种可以随着业务增长的技术,通过像 Inktank 这样的专家帮助或内部开发的专业知识来实现。

HDFS / 企业存储 / Lustre 替代品

Ceph 最初是作为 Lustre 的替代方案而创建的,旨在提供更好的可扩展性和性能,并提供许多其他有趣的功能。Ceph 的一个有趣之处在于,它能够维护多个元数据服务器守护进程,这使得文件系统访问更加高效。这种方法也是使其成为 Hadoop 分布式文件系统 (HDFS) 的理想替代品,尤其是在 与 HDFS 的单名称节点架构相比时。几个人已经在尝试将 Ceph 后端与 Hadoop 前端结合使用,我们迫不及待地想看到结果。

除了严格的技术优势外,Ceph 的开源性质和能够在商品硬件上运行,也使其成为企业数据存储的一个非常有吸引力的选择,尤其是在与盈底线相关的情况下。将 Ceph 作为纯软件解决方案部署到现有基础设施的能力,允许企业消除与维护单独的基于设备的解决方案相关的持续成本和困难。这提供了许多关于可扩展性和灵活性的选择,这对于企业环境的长期可行性至关重要。集成的解决方案可用的数据所有权和控制级别也减轻了许多与未来迁移或数据访问要求相关的风险。

应用程序开发

如前所述,Ceph 比 仅仅是一个对象存储 多得多:它是一个可以以多种不同方式使用的整个平台。我们看到开发人员与 Ceph 互动的主要两种方式是通过客户端库(通过 librados 直接)和通过我们的 RADOS 网关 (radosgw)。Librados 通过 C、C++、Java、Python、Ruby 或 PHP 为开发人员提供了对 Ceph 对象存储的完全控制,并提供了使用 RADOS 的四种接口中最先进的功能。对象存储的大规模水平扩展和容错能力非常适合许多大数据操作,企业发现存储和加载虚拟机镜像到归档视频监控存在问题。无论人们决定构建什么有趣的应用程序,librados 都能为您提供构建它们的最佳工具。

RADOS 网关提供与为 Swift 或 Amazon 的 S3 编写的应用程序兼容的 REST 接口。这允许开发人员利用 Ceph 平台,而无需重写他们的应用程序。开发人员可以立即实现 Ceph 提供的优势,例如商品硬件的财务优势或自愈存储设备的节省时间。Amazon 在构建和证明云模型用于应用程序开发方面做得非常出色;现在,任何人都可以构建自己的 S3 版本并利用或改进这些优势。

研究、开发和实验

Ceph 的独特特性和模块化架构也使其成为纯学术研究的理想候选对象。最明显的研究途径是“受控复制下的可扩展哈希”(CRUSH) 算法。CRUSH 可以描述如下

“CRUSH 通过描述存储集群的层次结构来工作,该层次结构反映了其物理组织。例如,假设每个主机有三个磁盘,每个机架有 30 个主机,并且我们有一些机架的数量。结果是机架、主机和设备的层次结构。”

CRUSH 算法的性质允许您传入三件事(放置组、集群的最新状态和 CRUSH 映射),并且它始终可以计算您的数据对象的位置。CRUSH 既可重复又灵活,因为集群可以更改,CRUSH 始终知道如何适应新的布局。CRUSH 也是完全可配置的,允许您指定诸如您的数据应该复制多少次以及应该应用什么样的权重之类的事情。这使我们能够提出一些潜在的有趣问题,例如“CRUSH 算法可以应用于其他类型的问题吗?”或“我们如何扩展或改进 CRUSH 算法?”

在任何良好的学术研究中,重要的是要尽可能地拥有非常受控的环境。Ceph 的模块化允许您通过仅运行平台所需的部分来限制方程中的变量数量。例如,如果您的特定案例不需要 RESTful 接口,您就有能力关闭平台(在本例中为 radosgw)的整个部分。这种功能的明确分离允许您扩展所需的部分,而无需任何不必要的开销或相互依赖性。这对于研究和生产环境都很有帮助!

另一个纯粹研究的应用是对象存储 RADOS(可靠、自主、分布式对象存储)的用途和扩展。RADOS 由两种类型的组件组成:监视器 (ceph-mon),它们跟踪任何给定时间哪些节点正在运行,以及对象存储守护进程 (ceph-osd) 本身。RADOS 最酷的部分是存储节点具有某种内置的“智能”,并且能够自我修复、自我管理并且比普通的熊更聪明。对于其他应用程序(或只是增强这种智能)的潜力非常巨大,尤其是在与 Ceph 的对象模型相关的情况下。Ceph 中的对象具有属性(就像对象一样),但您还可以构建扩展,为它们提供诸如 makeThumbnail() 或 MD5encrypt() 之类的方法。像这样的工具可以为有进取心的开发人员提供数小时的乐趣,我们期待帮助他们进行实验!

其他研究方向可以包括集群电源效率、多数据中心研究、老式的优化调整,或者我们尚未想到的许多其他方面。Ceph 提供了一个名副其实的“狂野西部”,为研究、开发和实验提供了机会,我们的社区也以开源项目所能期望到的最佳创造力和独创性做出了回应。

结论

现在您已经阅读了详细内容,您会发现我们“令人难以置信的庞大”的结论即使以今天的清单来看也是相当准确的。由于我们社区的创造力,这份清单每天都在增长。我们都非常激动地想看看明天可能会在 Ceph 之上构建哪些新颖的云应用程序、大型数据应用程序或其他极具创造力的工具!如果您有任何问题、想法或请求,请随时在我们的严格展会行程中的某个站点、irc (irc.oftc.net #ceph) 或 Twitter (@Ceph@Inktank) 上联系我们。我们很乐意收到您的来信。