Ceph——使用普通用户挂载cephfs
创建客户端账户
创建账户
创建一个名为lxhfs的普通账户,允许获取ceph状态信息,允许对mds元数据有读写权限,语序对存储池cephfs-data cephfs的存储池有读写和执行权限。
cephadmin@ceph-deploy:~/ceph-cluster$ ceph auth add client.lxhfs mon 'allow r' mds 'allow rw' osd 'allow rwx pool=cephfs-data'
added key for client.lxhfs
验证账户
cephadmin@ceph-deploy:~/ceph-cluster$ ceph auth get client.lxhfs
[client.lxhfs]
key = AQBipY5j9XwqBRAAB09e1wbCpzoHbtJHMfLJlA==
caps mds = "allow rw"
caps mon = "allow r"
caps osd = "allow rwx pool=cephfs-data"
exported keyring for client.lxhfs
创建keyring文件
cephadmin@ceph-deploy:~/ceph-cluster$ ceph auth get client.lxhfs -o ceph.client.lxhfs.keyring
exported keyring for client.lxhfs
验证用户的 keyring 文件
cephadmin@ceph-deploy:~/ceph-cluster$ ll ceph.client.lxhfs.keyring
-rw-rw-r-- 1 cephadmin cephadmin 149 Dec 6 10:21 ceph.client.lxhfs.keyring
cephadmin@ceph-deploy:~/ceph-cluster$ cat ceph.client.lxhfs.keyring
[client.lxhfs]
key = AQBipY5j9XwqBRAAB09e1wbCpzoHbtJHMfLJlA==
caps mds = "allow rw"
caps mon = "allow r"
caps osd = "allow rwx pool=cephfs-data"
创建key文件
cephadmin@ceph-deploy:~/ceph-cluster$ ceph auth print-key client.lxhfs > lxhfs.key
验证用户的key文件
cephadmin@ceph-deploy:~/ceph-cluster$ cat lxhfs.key
AQBipY5j9XwqBRAAB09e1wbCpzoHbtJHMfLJlA==cephadmin@ceph-deploy:~/ceph-cluster$
安装 ceph 客户端
客户端服务器为centos7
安装epel软件源
[root@ansible ~]# yum install epel-release -y
安装ceph仓库
[root@ansible ~]\# yum install https://mirrors.aliyun.com/ceph/rpm-octopus/el7/noarch/ceph-release-1-1.el7.noarch.rpm
[root@ansible ~]\# yum list ceph-common --showduplicates |sort -r
ceph-common.x86_64 2:15.2.17-0.el7 Ceph
ceph-common.x86_64 2:15.2.17-0.el7 @Ceph
ceph-common.x86_64 1:10.2.5-4.el7 base
安装ceph客户端
[root@ansible ~]# yum install ceph-common -y
同步客户端ceph认证文件
将ceph-deploy节点创建的用户认证文件和ceph配置文件一并发送到客户端/etc/ceph目录下
keyring的认证文件:主要负责客户端管理ceph的权限认证环文件
user.key的文件:主要负责允许客户端挂载cephfs的一个凭据权限
root@ceph-deploy:/home/cephadmin/ceph-cluster# scp ceph.conf ceph.client.lxhfs.keyring lxhfs.key 192.168.100.80:/etc/ceph/
客户端验证权限
指定ceph 的 --user选项 lxhfs用户验证ceph状态
[root@ansible ~]# ceph --user lxhfs -s
客户端通过 key 文件挂载
创建数据目录
[root@ansible ~]# mkdir /fsdata
挂载cephfs
[root@ansible ~]# mount -t ceph 192.168.100.35:6789,192.168.100.36:6789,192.168.100.37:6789:/ /fsdata -o name=lxhfs,secretfile=/etc/ceph/lxhfs.key
参数解释:
-t ceph:指定文件系统类型,需要服务器安装ceph-common,内核才会支持ceph文件系统。
192.168.100.35:6789,192.168.100.36:6789,192.168.100.37:6789:/:指定ceph集群的mon节点与ceph-mon服务的端口,挂载源路径为/。
-o name: 指定ceph用户,指在ceph服务端创建的认证用户名称
-o secretfile:指定ceph认证用户的key文件
验证挂载
测试文件写入
[root@ansible ~]# tar zcf etc.tar.gz /etc
#测试文件写入
[root@ansible ~]# cp etc.tar.gz /fsdata/
[root@ansible ~]# ll /fsdata/
total 11270
-rw-r--r-- 1 root root 11540279 Dec 6 11:14 etc.tar.gz
#生成500M大文件写入
[root@ansible ~]# dd if=/dev/zero of=/fsdata/testfile bs=1M count=500
500+0 records in
500+0 records out
524288000 bytes (524 MB) copied, 4.41425 s, 119 MB/s
#查看分区使用
[root@ansible ~]# df -h /fsdata
Filesystem Size Used Avail Use% Mounted on
192.168.100.35:6789,192.168.100.35:6789,192.168.100.35:6789:/ 633G 388M 633G 1% /fsdata
客户端通过 key 挂载
挂载cephfs
[root@ansible ~]# mount -t ceph 192.168.100.35:6789,192.168.100.36:6789,192.168.100.37:6789:/ /fsdata -o name=lxhfs,secret=AQBipY5j9XwqBRAAB09e1wbCpzoHbtJHMfLJlA==
参数解释:
-t ceph:指定文件系统类型,需要服务器安装ceph-common,内核才会支持ceph文件系统。
192.168.100.35:6789,192.168.100.35:6789,192.168.100.35:6789:/:指定ceph集群的mon节点与ceph-mon服务的端口,挂载源路径为/。
-o name: 指定ceph用户,指在ceph服务端创建的认证用户名称
-o secret:指定ceph认证用户的key
验证挂载
开机挂载
配置/etc/fstab添加cephfs挂载
[root@ansible ~]# vim /etc/fstab
192.168.100.35:6789,192.168.100.35:6789,192.168.100.35:6789:/ /fsdata ceph defaults,name=lxhfs,secretfile=/etc/ceph/lxhfs.
key,_netdev 0 0
验证挂载
本文来自博客园,作者:PunchLinux,转载请注明原文链接:https://www.cnblogs.com/punchlinux/p/17067324.html