CephFS 须知

Ceph 的开发者们已经改进了 CephFS 分布式文件系统,现在已发布稳定版本。
294 位读者喜欢这篇文章。
4 manilla folders, yellow, green, purple, blue

Open Clip Art Library (公有领域)。Jen Wike Huger 修改。

如今,新的存储系统接口不断涌现,以解决分布式存储中出现的新挑战。例如,Amazon Simple Storage Service [S3](一种不透明的对象存储)和 Amazon Elastic Block Storage [EBS](一种虚拟机镜像提供商)都在云生态系统中提供了至关重要的、可扩展的存储服务;然而,即使有了这些新技术,传统的文件系统仍然是计算领域中使用最广泛的存储接口。

几乎所有程序在某种程度上都是为使用文件系统而编写的。这使得文件系统成为任何计算设备上所有存储访问的通用语言——从智能手机等小型设备,到欧洲核子研究中心和国家实验室的大型高性能计算 (HPC) 集群。程序仍然通过文件系统进行通信和存储数据,因为它们方便、熟悉且具有互操作性。

人们通常不会过多考虑计算系统如何提供他们习以为常的熟悉环境的细节。尽管文件系统作为一种以持久、有组织和有用的方式存储数据的手段,支撑着所有类型的计算,但这并不是大多数人关注的事情。这就是为什么很少有人知道自 1970 年代 UNIX 开始主导多用户系统以来,可移植操作系统接口 (POSIX) 一直是最广泛使用的文件系统类型,甚至在今天的 Android 和 iOS 移动设备上也是如此。

与智能手机不同,HPC 集群需要可扩展、可用和协作(共享)的存储。分布式文件系统为来自多个独立系统的程序提供了一个接口,使它们能够以一致、持久和可靠的方式共享存储。

Ceph 分布式文件系统

Ceph 分布式存储系统自加利福尼亚大学圣克鲁兹分校的研究人员开发以来,就包含了一个分布式文件系统 (CephFS)。事实上,它的对象存储 RADOS(可靠的自主分布式对象存储的缩写)最初就是为在国家实验室的 HPC 集群中使用 CephFS 而设计和实现的。

自 2006 年以来,CephFS 经历了渐进式的变化,主要是为了提高稳定性。Ceph 的开发重点是云存储领域的新兴趋势,其分布式对象存储技术有望在该领域大放异彩。特别是,RADOS 块存储 (RBD) 和 RADOS 网关 (RGW) 分别为不透明的块设备和对象存储提供了存储解决方案。这些技术表明,Ceph 是商业和专有云存储解决方案的合适的开源替代方案。

Ceph 团队已经重新致力于 CephFS 的开发,因为文件存储仍然是分布式系统中的主导趋势。Ceph 的 Jewel 版本于 2016 年 4 月发布,将 CephFS 引入为稳定版本,并准备好投入实际应用,但有一些注意事项。即,多活动元数据(提供可扩展性)仍然被认为是实验性的。

CephFS 的架构

CephFS 是 Ceph 的一部分文件存储解决方案。它作为系统内的一个更高级别的组件工作,在 RADOS 之上提供文件存储,RADOS 是构建所有 Ceph 存储解决方案的对象存储。两种类型的实体协同工作以提供文件系统接口:客户端和元数据服务器 (MDS)。

Ceph architecture

opensource.com

MDS 是文件系统所有元数据的同步点和缓存层。其主要功能是允许客户端安全地存储关于文件系统的元数据(例如,目录包含哪些文件),而不会变得不一致(例如,两个客户端在目录中包含哪些文件上存在分歧)。

CephFS 的一个显着特点是客户端无需 MDS 的大量协助即可读取和写入文件。客户端只需要打开一个文件(即,告诉 MDS 它想要使用该文件),然后根据需要进行读取/写入,只需偶尔更新 MDS。

这种设计的后果是提高了系统的可扩展性,其中客户端可以执行大规模的读取/写入操作,这些操作与 RADOS 集群中对象存储设备的数量呈线性扩展(但每个客户端都受到其网络链路带宽的限制)。

Ceph 的下一步是什么

Ceph 的 Luminous 版本将为 CephFS 提供许多重要的增强功能。

多活动元数据服务器

最重要的变化是导出 CephFS 文件系统的多活动元数据服务器的稳定性。管理员可以启动多个元数据服务器,并将文件系统配置为一起使用这些服务器,以均匀地分散元数据负载。此更改是开发人员进行广泛测试和错误修复的成果。有关配置集群以使用多活动元数据服务器的信息,请参见文档

目录碎片化

目录碎片化现在在 Luminous 中默认启用。此更改允许将目录在内部碎片化为更小的目录,这可以提高性能,并允许跨多个服务器拆分目录的元数据负载。与多活动元数据服务器一样,此功能自 CephFS 诞生之初就已存在,但由于增加了测试和错误修复,现在被认为是稳定的。此功能是透明的,不需要任何管理员或用户输入。

子树钉住

管理员现在还可以显式地将目录子树钉住到特定的元数据服务器。当认为元数据均衡器无效或不受欢迎时,这允许管理员在多活动元数据服务器集群中覆盖元数据均衡器。例如,操作员可能决定特定目录应仅使用单个元数据服务器的资源。这些钉住允许这种基本策略。在文档中了解有关此功能的更多信息。

CephFS 用户可以期待其文件系统的可扩展性和稳定性的提高。未来 CephFS 的工作将继续提高可用性和稳定性。在 ceph.com 上了解更多关于 Ceph 和 CephFS 的信息。

在 Gregory Farnum 于洛杉矶开源峰会上所做的演讲 CephFS — 稳定的分布式文件系统 中了解更多关于 Ceph 的信息。

标签
User profile image.
Patrick Donnelly 是 Red Hat, Inc. 的一名软件工程师,目前致力于 Ceph 分布式文件系统。2016 年,他完成了在圣母大学的计算机科学博士学位,论文主题是活动存储集群文件系统中的文件传输管理。

1 条评论

关于 CEPH 的非常有用和详细的文章,Patrick 加油 :)

Creative Commons License本作品根据 Creative Commons Attribution-Share Alike 4.0 International License 许可。
© . All rights reserved.