CephFS文件系统

  Ceph FileSystem简称CephFS,是一个支持POSIX接口的文件系统存储类型。目前发展比较滞后,主要原因CephFS技术不够成熟,另外受云计算对RBD和RADOSGW需求比CephFS大,社区将发展重点放到RBD和RADOSGW之上。因此目前CephFS还是比较适合实验或测试场景;随着应用需求增多CephFS将逐渐被重视。

CephFS架构

CephFS文件系统主要特点:

1、客户端可以方便的挂载到本地使用;

2、可以作为资源共享用途;

3、继承了RADOS的容错性和扩展性;

4、同样可以提供基于副本的冗余方式来保障数据高可靠性。

CephFS实现方式

使用CephFS需要使用Metadata Server(MDS)来管理文件系统的命名空间及客户如何访问OSD数据存储;MDS也是一个服务进程,因此在体验CephFS前首先部署MDS并启动ceph-mds服务。

MDS(Metadata Server)介绍

什么是元数据及作用?

  元数据主要负责记录数据的属性,如文件存储位置、文件大小和存储时间;负责资源查找、文件记录、存储位置记录、访问授权等。

MDS体现形式

  MDS是以一个进程运行的服务,主要负责CephFS集群中文件和目录管理,确保它们的一致性,MDS和MON很类似,因此可以多节点部署实现冗余。

  CephFS主要依赖MDS进程提供服务,MDS提供包含缓存层的一致性文件系统,MDS不会直接向客户端提供任何数据,所有数据都是由后端OSD提供的,从而降低自身的读写次数。 MDS还具备动态集群,其MDS可以加入或退出,可以快速接管故障节点。MDS进程可以配置成活跃或被动状态, 活跃的MDS即为主MDS,其他的MDS则进入Standby状态,当主MDS节点发生故障,Standby状态的节点将接管其工作并提升为主节点;其元数据信息以内存缓存方式响应外部访问请求。

处理流程

当客户端打开一个文件时,客户端向MDS发送请求;MDS向OSD定位文件所在的索引节点,索引节点包含文件的元数据信息,如文件所有者、大小、权限等;MDS赋予客户端读取缓存文件内容的权限,当访问被授权后返回给客户端File Inode值、Layout(Layout定义文件内容如何被映射到Object)、文件大小;客户端根据MDS返回的信息定位到需要访问的文件,然后直接与OSD进行I/O交互。