目录
一.服务端操作
1.在管理节点创建 mds 服务
2.查看各个节点的 mds 服务(可选)
3.创建存储池,启用 ceph 文件系统
4.查看mds状态,一个up,其余两个待命,目前的工作的是node01上的mds服务
5.创建用户
6.复制到client
二.客户端操作
1.查看复制文件
2.创建工作目录
3.在客户端安装 ceph 软件包
4.在客户端制作秘钥文件
5.客户端挂载
方法一:基于内核
方法二:基于 fuse 工具
三.总结
接着之前的部署集群架构
一.服务端操作
1.在管理节点创建 mds 服务
cd /etc/ceph
ceph-deploy mds create node01 node02 node03
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
已经开启了
3.创建存储池,启用 ceph 文件系统
ceph 文件系统至少需要两个 rados 池,一个用于存储数据,一个用于存储元数据。此时数据池就
类似于文件系统的共享目录
ceph osd pool create cephfs_data 128 #创建数据Pool
ceph osd pool create cephfs_metadata 128 #创建元数据Pool
创建 cephfs
命令格式
ceph fs new <FS_NAME> <CEPHFS_METADATA_NAME> <CEPHFS_DATA_NAME>
ceph fs new mycephfs cephfs_metadata cephfs_data #启用ceph,元数据Pool在前,数据Pool在后
ceph fs ls #查看cephfs
4.查看mds状态,一个up,其余两个待命,目前的工作的是node01上的mds服务
ceph fs status mycephfs
ceph -s
ceph mds stat
5.创建用户
格式
ceph fs authorize <fs_name> client.<client_id> <path-in-cephfs> rw
账户为 client.zx,用户 name 为 zx,zx对ceph文件系统的 / 根目录(注意不是操作系统的根目
录)有读写权限
ceph fs authorize mycephfs client.zx / rw | tee /etc/ceph/zx.keyring
账户为 client.jlh,用户 name 为 jlh,jlh对文件系统的 / 根目录只有读权限,对文件系统的根目录的
子目录 /test 有读写权限
ceph fs authorize mycephfs client.jlh / r /xy101 rw | tee /etc/ceph/jlh.keyring
6.复制到client
scp zx.keyring jlh.keyring client:/etc/ceph
二.客户端操作
客户端要在 public 网络内
1.查看复制文件
2.创建工作目录
3.在客户端安装 ceph 软件包
yum install -y ceph
4.在客户端制作秘钥文件
cd /etc/ceph
ceph-authtool -n client.zx -p zx.keyring > zx.key #把 zx 用户的秘钥导出到 zx.key
ceph-authtool -n client.jlh -p jlh.keyring > jlh.key #把 jlh 用户的秘钥导出到jlh.key
5.客户端挂载
方法一:基于内核
格式
mount -t ceph node01:6789,node02:6789,node03:6789:/ <本地挂载点目录> -o name=<用户名>,secret=<秘钥>
示例1
mount -t ceph node01:6789,node02:6789,node03:6789:/ /opt/zx -o name=zx,secretfile=zx.key
验证一下
cp -r /etc/passwd /etc/shadow /etc/yum.repos.d/ /opt/zx/echo 'zx like xiaojiejie' > zx.txt
示例2
mount -t ceph node01:6789,node02:6789,node03:6789:/ /opt/jlh -o name=jlh,secretfile=jlh.key
同样验证一下
echo 'jlh like dajiejie' > jlh.txt
得更换到别的目录下才能有写的权限
方法二:基于 fuse 工具
在 ceph 的管理节点给客户端拷贝 ceph 的配置文件 ceph.conf 和账号的秘钥环文件
scp ceph.conf ceph.client.admin.keyring client:/etc/ceph
在客户端安装 ceph-fuse
yum install -y ceph-fuse
客户端挂载
创建个空目录
ceph-fuse -m node01:6789,node02:6789,node03:6789 /opt/data/ [-o nonempty] #挂载时,如果挂载点不为空会挂载失败,指定 -o nonempty 可以忽略
验证
三.总结
CephFS操作
服务端
ceph-deploy mds create 节点列表 #创建MDS
ceph osd pool create 元数据Pool名 PG数据 #创建元数据Pool
ceph osd pool create 数据Pool名 PG数据 #创建数据Pool
ceph fs new CephFS名 元数据Pool名 数据Pool名 #创建CephFS
ceph fs authorize CephFS名 client,用户名 文件系统路径 rw|r | tee /etc/ceph/XXX.keyring #给用户授权在指定的系统路径中的读写权限
客户端
mount -t ceph 节点列表:6789:文件系统路径 本地挂载点目录 -o name=用户名,secret=密钥信息|secretfile=密钥文件