cephfs文件系统环境搭建介绍

jopen 9年前

cephfs文件系统环境搭建介绍

一、cephfs简介。

cephfs 是一个基于ceph集群且兼容POSIX标准的文件系统。创建cephfs文件系统时需要在ceph集群中添加mds服务,该服务负责处理POSIX文件系统中的metadata部分,实际的数据部分交由ceph集群中的OSDs处理。cephfs支持以内核模块方式加载也支持fuse方式加载。无论是内核模式还是fuse模式,都是通过调用libcephfs库来实现cephfs文件系统的加载,而libcephfs库又调用librados库与 ceph集群进行通信,从而实现cephfs的加载。cephfs整体框架图如下图所示。


二、cephfs搭建过程。

ceph官方文档上对cephfs的搭建过程描述的及其简单且只介绍了通过ceph-deploy方式搭建mds。对于没有使用ceph-deploy方法进行ceph集群部署的情况来说,就的按照下述的方法进行手动配置。

1、创建mds工作目录。

#mkdir -p /var/lib/ceph/mds/mds.0

2、修改ceph集群的配置文件/etc/ceph/ceph.conf文件,在该文件中添加mds的相关内容。具体添加内容如下:

[mds]

mds data = /var/lib/ceph/mds/mds.$id

keyring = /etc/ceph/ceph.mds.$id.keyring

[mds.0]

host = {hostname}

3、创建mds用户访问key和访问权限。

#ceph auth get-or-create mds.0 mds ‘allow’ osd ‘allow *’ mon ‘allow rwx’ > /etc/ceph/ceph.mds.0.keyring

4、使用ceph启动脚本启动mds服务。

#/etc/init.d/ceph start mds.0

5、查看ceph集群中mdsmap信息。

#ceph -s


cluster e4251f73-2fe9-4dfc-947f-962843dc6ad9

     health HEALTH_OK

     monmap e1: 1 mons at {a=192.168.250.58:6789/0}, election epoch 1, quorum 0 a

  mdsmap e22: 1/1/1 up {0=0=up:active}

     osdmap e99: 3 osds: 3 up, 3 in

      pgmap v87493: 2760 pgs, 21 pools, 24935 MB data, 6292 objects

            77977 MB used, 1596 GB / 1672 GB avail

                2760 active+clean

看到上述mdsmap一行,就表示当前集群中mds服务已经开启,cephfs功能一经可用。

三、加载/卸载cephfs过程。

在这里我做的比较简单,就是在ceph集群的机器上做的cephfs加载操作。若在其它客户端进行加载的话,需要将ceph集群配置文件ceph.conf 以及访问cephfs的用户keyring复制到对应的客户端。对于通过内核方式加载来说,需要内核模块支持cephfs,对于通过fuse方式加载来说,需要手动安装ceph-fuse这个包。

1、通过内核模块的方式加载cephfs。

#mkdir -p /mnt/mycephfs

#mount -t ceph 127.0.0.1:6789:/ /mnt/mycephfs

之后通过mount命令就可以看到cephfs已经成功的挂载到/mnt/mycephfs目录下。后面就可以和操作本地文件系统一样操作/mnt/mycephfs目录。

2、通过内核模块的方式卸载cephfs。

#umount /mnt/mycephfs

3、通过fuse方式加载cephfs。

#ceph-fuse -m 127.0.0.1:6789 /mnt/mycephfs

之后通过mount命令就可以看到cephfs已经成功的挂载到/mnt/mycephfs目录下。后面就可以和操作本地文件系统一样操作/mnt/mycephfs目录。

4、通过fuse方式卸载cephfs。

#fusermount -u /mnt/mycephfs