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
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 记一次.NET内存居高不下排查解决与启示