2019独角兽企业重金招聘Python工程师标准>>>
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