(ceph)CephFS 文件系统 MDS接口

创建 CephFS 文件系统 MDS 接口

在这里插入图片描述

//服务端操作

1)在管理节点创建 mds 服务
cd /etc/ceph
ceph-deploy mds create node01 node02 node03

(ceph)CephFS 文件系统 MDS接口_第1张图片

2)查看各个节点的 mds 服务
ssh root@node01 systemctl status ceph-mds@node01
ssh root@node02 systemctl status ceph-mds@node02
ssh root@node03 systemctl status ceph-mds@node03

(ceph)CephFS 文件系统 MDS接口_第2张图片

3)创建存储池,启用 ceph 文件系统
ceph 文件系统至少需要两个 rados 池,一个用于存储数据,一个用于存储元数据。此时数据池就类似于文件系统的共享目录。
ceph osd pool create cephfs_data 128					#创建数据Pool

ceph osd pool create cephfs_metadata 128				#创建元数据Pool

#创建 cephfs,命令格式:ceph fs new   
ceph fs new mycephfs cephfs_metadata cephfs_data		#启用ceph,元数据Pool在前,数据Pool在后

ceph fs ls					#查看cephfs

在这里插入图片描述
(ceph)CephFS 文件系统 MDS接口_第3张图片
在这里插入图片描述

4)查看mds状态,一个up,其余两个待命,目前的工作的是node01上的mds服务
ceph -s
mds: mycephfs:1 {0=node01=up:active} 2 up:standby

ceph mds stat
mycephfs:1 {0=node01=up:active} 2 up:standby

(ceph)CephFS 文件系统 MDS接口_第4张图片
在这里插入图片描述

5)创建用户
语法格式:ceph fs authorize  <fs_name>  client.<client_id>  <path-in-cephfs>  rw

#账户为 client.zhangsan,用户 name 为 zhangsan,zhangsan 对ceph文件系统的 / 根目录(注意不是操作系统的根目录)有读写权限
ceph fs authorize mycephfs client.zhangsan / rw | tee /etc/ceph/zhangsan.keyring

#账户为 client.lisi,用户 name 为 lisi,lisi 对文件系统的 / 根目录只有读权限,对文件系统的根目录的子目录 /test 有读写权限
ceph fs authorize mycephfs client.lisi / r /test rw | tee /etc/ceph/lisi.keyring

(ceph)CephFS 文件系统 MDS接口_第5张图片

//客户端操作

1)客户端要在 public 网络内
2)在客户端创建工作目录
mkdir /etc/ceph
3)在 ceph 的管理节点给客户端拷贝 ceph 的配置文件 ceph.conf 和账号的秘钥环文件 zhangsan.keyring、lisi.keyring
scp ceph.conf zhangsan.keyring lisi.keyring root@client:/etc/ceph

在这里插入图片描述

在这里插入图片描述

4)在客户端安装 ceph 软件包
cd /opt
yum -y install epel-release
wget https://download.ceph.com/rpm-nautilus/el7/noarch/ceph-release-1-1.el7.noarch.rpm --no-check-certificate
rpm -ivh ceph-release-1-1.el7.noarch.rpm
yum install -y ceph 
5)在客户端制作秘钥文件
cd /etc/ceph
ceph-authtool -n client.zhangsan -p zhangsan.keyring > zhangsan.key		#把 zhangsan 用户的秘钥导出到 zhangsan.keyl
ceph-authtool -n client.lisi -p lisi.keyring > lisi.key					#把 lisi 用户的秘钥导出到 lisi.key

在这里插入图片描述

6)客户端挂载
●方式一:基于内核
语法格式:
mount -t ceph node01:6789,node02:6789,node03:6789:/  <本地挂载点目录>  -o name=<用户名>,secret=<秘钥>
mount -t ceph node01:6789,node02:6789,node03:6789:/  <本地挂载点目录>  -o name=<用户名>,secretfile=<秘钥文件>
示例一:
mkdir -p /data/zhangsan
mount -t ceph node01:6789,node02:6789,node03:6789:/ /data/zhangsan -o name=zhangsan,secretfile=/etc/ceph/zhangsan.key
示例二:
mkdir -p /data/lisi
mount -t ceph node01:6789,node02:6789,node03:6789:/ /data/lisi -o name=lisi,secretfile=/etc/ceph/lisi.key

(ceph)CephFS 文件系统 MDS接口_第6张图片

#验证用户权限
[root@client data]# cd zhangsan/
[root@client zhangsan]# ls
[root@client zhangsan]# echo 1 > a
[root@client zhangsan]# cd ../lisi/
[root@client lisi]# echo 2 > b
-bash: b: 权限不够
[root@client lisi]# ls
a
[root@client lisi]# cat a
1
[root@client lisi]# cd ../zhangsan/
[root@client zhangsan]# mkdir test
[root@client zhangsan]# cd -
/data/lisi
[root@client lisi]# echo 2 > test/b
[root@client lisi]# ls
a  test
[root@client lisi]# cat test/b 
2

(ceph)CephFS 文件系统 MDS接口_第7张图片
(ceph)CephFS 文件系统 MDS接口_第8张图片

示例三:
#停掉 node02 上的 mds 服务
ssh root@node02 "systemctl stop ceph-mds@node02"

ceph -s

#测试客户端的挂载点仍然是可以用的,如果停掉所有的 mds,客户端就不能用了

(ceph)CephFS 文件系统 MDS接口_第9张图片
(ceph)CephFS 文件系统 MDS接口_第10张图片
(ceph)CephFS 文件系统 MDS接口_第11张图片
在这里插入图片描述

●方式二:基于 fuse 工具
1)在 ceph 的管理节点给客户端拷贝 ceph 的配置文件 ceph.conf 和账号的秘钥环文件 zhangsan.keyring、lisi.keyring
scp ceph.client.admin.keyring root@client:/etc/ceph

2)在客户端安装 ceph-fuse
yum install -y ceph-fuse

3)客户端挂载
cd /data/aa
ceph-fuse -m node01:6789,node02:6789,node03:6789 /data/fuse [-o nonempty]			#挂载时,如果挂载点不为空会挂载失败,指定 -o nonempty 可以忽略

(ceph)CephFS 文件系统 MDS接口_第12张图片

你可能感兴趣的:(ceph,windows)