查看原文
其他

你该了解的CephFS点滴

2017-09-06 Jonathan Zhang 开源云中文社区

今天,新的存储系统接口定期被创建,以解决分布式存储中新出现的挑战。例如,亚马逊简单存储服务[S3](不透明对象存储)和亚马逊弹性块存储[EBS](提供虚拟机镜像)都在云生态系统中提供必要的、可扩展的存储服务。然而,即使使用这些新技术,常规文件系统仍然是计算中使用最广泛的存储接口。

几乎所有程序都使用某种级别的文件系统。这使得文件系统成为任何计算设备上的所有存储访问的通用语言——从小型设备(如智能手机)到CERN和国家实验室的大型高性能计算(HPC)集群。由于方便、熟悉和互操作性,程序仍然通过文件系统进行通信和存储数据。

人们通常不会想太多计算系统如何提供他们习惯的熟悉环境的细节。即使文件系统支持所有类型的计算(作为以持久的、有组织和有用的方式存储数据的手段),但它不是大多数人屏幕上的东西。


这就是为什么很少有人知道便携式操作系统接口(POSIX)是最广泛使用的文件系统类型——在20世纪70年代自UNIX开始就主导多用户系统,甚至在今天的Android和iOS移动设备上运行。

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


Ceph分布式文件系统

自从被加州大学圣克鲁斯分校的研究人员开发以来,Ceph分布式存储系统就包括一个分布式文件系统(CephFS)。实际上,它的对象存储器RADOS(代表可靠的自主分布式对象存储)最初是在国家实验室中设计和实现的,用于在HPC集群中使用CephFS。

自2006年以来,CephFS已经出现了很大的变化,主要是为了提高稳定性。 Ceph的发展侧重于云存储的新兴趋势,其分布式对象存储技术预计将会发光。特别地,RADOS块存储(RBD)和RADOS网关(RGW)分别为不透明块设备和对象存储提供了存储解决方案。这些技术表明,Ceph是商业和专有云存储解决方案的合适的开源替代品。

Ceph团队重新致力于CephFS开发,因为文件存储仍然是分布式系统的主要趋势。Ceph在2016年4月的Jewel发布中引入了CephFS,并且为黄金时段做好准备,但需要遵守一些警告——也就是说,提供可扩展性的多个活动元数据仍然被认为是试验性的。


CephFS的架构

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



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

CephFS的一个显著特征是客户端可以读取和写入文件,而不需要MDS进行手把手指导。客户端只需要打开一个文件(即告诉MDS它想要使用该文件),然后根据需要读/写,在这个过程中只是偶尔更新MDS。

该设计的结果是改进了系统的可扩展性,其中客户端可以执行大量的读/写,这与RADOS集群中的对象存储设备的数量(但是每个客户端受其网络链路的带宽限制)呈线性关系。


Ceph的下一步

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


多个活动元数据服务器

最重要的变化是导出CephFS文件系统的多个活动元数据服务器的稳定性。管理员可以启动多个元数据服务器,并配置文件系统以一起使用这些服务器来均匀地传播元数据负载。这种变化是开发人员广泛测试和bug修复的结果。该文档(http://docs.ceph.com/docs/luminous/cephfs/multimds/)提供了有关将集群配置为使用多个活动元数据服务器的信息。


目录碎片

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


子树固定

管理员现在也可以明确地将目录子树固定到特定的元数据服务器。这使管理员在元数据均衡器被认为无效或不受欢迎时,可以覆盖多个活动的元数据服务器集群中的元数据平衡器。例如,运营人员可以决定特定目录应该仅使用单个元数据服务器的资源。

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


阅读推荐:


企业软件的未来——API

无服务器架构如何实现?这里有篇应用开发实践!

OpenStack Pike在微服务和扩展上下狠手


编译:Jonathan Zhang

作者:Patrick Donnelly

来源:https://opensource.com/article/17/8/ceph





投稿邮箱:openstackcn@sina.cn


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存