一、什么是 CephFS

1、分布式文件系统(Distributed File System)是指文件系统管理的物理存储资源不一定直接连接在本地节点上,而是通过计算机网络与节点项链。

2、CephFS 使用 Ceph 集群提供与 POSIX 兼容的文件系统

3、允许 Linux 直接将 Ceph 存储 mount 到本地

4、它可以像 NFS 或者 SAMBA 那样,提供共享文件夹,客户端通过挂载目录的方式使用 Ceph 提供的存储。

二、CephFS 应用

1、网络拓扑

CephFS 文件系统应用_第1张图片

在使用 CephFS 时,需要一个MDS(元数据)服务器,那么什么是元数据呢?

所谓元数据(Metadata):

①、任何文件系统中的数据分为数据和元数据

②、数据时之普通文件中的实际数据

③、而元数据指用来描述一个文件的特征的系统数据

④、比如:访问权限、文件拥有者以及文件数据块的分布信息(inode...)等

所以,CephFS 必须要有 MDS 节点存在

2、部署元数据服务器

①、登陆 ceph-d,安装 ceph-mds 软件包

[root@ceph-d ~]# yum -y install ceph-mds

②、登陆ceph-a,部署节点操作

[root@ceph-a ~]# cd /etc/ceph/
[root@ceph-a ceph]# ceph-deploy mds create ceph-d

CephFS 文件系统应用_第2张图片

③、同步配置文件和 key

[root@ceph-a ceph]# ceph-deploy admin ceph-d

CephFS 文件系统应用_第3张图片

④、查看 ceph-d 的 /etc/ceph 目录,发现配置文件和密钥文件已经同步过去了

CephFS 文件系统应用_第4张图片

⑤、创建两个池,一个名为 cephfs-data,用来存储数据,一个名为 cephfs-metadata ,用来存储元数据

[root@ceph-a ceph]# ceph osd pool create cephfs-data 128
[root@ceph-a ceph]# ceph osd pool create cephfs-metadata 64

128表示 PG 的数目是128。PG是归置组,文件存到 PG 中,PG 存在池中

⑥、创建名为 cephfs1 的文件系统

[root@ceph-a ceph]# ceph fs new cephfs1 cephfs-metadata cephfs-data

clipboard[4]

⑦、查看状态

[root@ceph-a ceph]# ceph mds stat

clipboard[5]

⑧查看文件系统信息

[root@ceph-a ceph]# ceph fs ls

clipboard[6]

⑨、客户端挂载使用

在 ceph-f 上创建挂载目录 cephfs

[root@ceph-f ~]# mkdir /cephfs

挂载

[root@ceph-f ~]# mount -t ceph 192.168.20.144:6789:/ /cephfs/ -o name=admin,secret=AQBBhQ9cJh/tDxAAzdcwBz3QZzPsCfWbQE0qjg==

参数解析:

-t:限制文件系统类型集合

-o:挂载选项

⑩、查看挂载情况

[root@ceph-f ~]# df -h

CephFS 文件系统应用_第5张图片

3、查看集群空闲空间统计数据

[root@ceph-a ~]# ceph df

CephFS 文件系统应用_第6张图片


关于 Ceph 集群的实现,请参阅小弟的另外一篇博文:https://blog.51cto.com/4746316/2329558
关于 Ceph 块设备的应用,请参阅小弟的另外一篇博文:https://blog.51cto.com/4746316/2330070
关于 Ceph 对象存储,请参阅小弟的另外一篇博文:https://blog.51cto.com/4746316/2330455

三、总结

CephFS 是实际生产环境中很少使用,因为还不够成熟,我们在此只需要了解即可,无需过度深入,后期稳定后可再一探究竟。