CephFS文件系统之MDS接口详解

  • 1.创建CephFS文件系统MDS接口
    • 1.1 创建cephfs
    • 1.2 基于内核的客户端挂载
    • 1.3 基于fuse工具方式的客户端挂载

接上文基于ceph-deploy部署Ceph集群详解

1.创建CephFS文件系统MDS接口

服务端操作

(1)在admin管理节点创建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文件系统至少需要两个rado池,一个用于存储数据,一个用于存储元数据。此时数据池就类似于文件系统的共享目录。

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

1.1 创建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 -s
ceph mds stat

(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

客户端操作

(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
yum -y install yum-plugin-priorities yum-utils ntpdate python-setuptools python-pip gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel zip unzip ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5-devel libidn libidn-devel openssl openssh openssl-devel nss_ldap openldap openldap-devel openldap-clients openldap-servers libxslt-devel libevent-devel ntp libtool-ltdl bison libtool vim-enhanced python wget lsof iptraf strace lrzsz kernel-devel kernel-headers pam-devel tcl tk cmake ncurses-devel bison setuptool popt-devel net-snmp screen perl-devel pcre-devel net-snmp screen tcpdump rsync sysstat man iptables sudo libconfig git bind-utils tmux elinks numactl iftop bwm-ng net-tools expect snappy leveldb gdisk python-argparse gperftools-libs conntrack ipset jq libseccomp socat chrony sshpasswget 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)客户端挂载

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

1.2 基于内核的客户端挂载

语法格式:

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

验证用户权限

cd /data/lisi
echo 123 > 2.txt

cd /data/zhangsan
mkdir test       #lisi用户只有读取权限,没有修改权限,需要先切换到zhangsan用户下创建/test目录
cd /data/lisi
echo 123 > test/2.txt
cat test/2.txt

示例三:

#停掉node02上的mds服务
ssh root@node02 "systemctl stop ceph-mds@node02"ceph -s
#测试客户端的挂载点仍然是可以用的,如果停掉所有的 mds,客户端就不能用了

1.3 基于fuse工具方式的客户端挂载

(1)在 ceph 的管理节点给客户端拷贝用户账号的秘钥环文件zhangsan.keyring、lisi.keyring

cd /etc/ceph
scp ceph.client.admin.keyring root@client:/etc/ceph

(2)在客户端安装ceph-fuse

yum install -y ceph-fuse

(3)客户端挂载

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

【Ceph集群应用】CephFS文件系统之MDS接口详解相关推荐

  1. Centos7 ceph集群安装 cephfs客户端挂载 java代码调用

    Centos7 ceph集群安装 cephfs客户端挂载 java代码调用 ceph简介(http://docs.ceph.org.cn/ 官方文档) ceph分为ceph monitor,ceph ...

  2. Kubernetes集群服务发现Service资源LoadBalancer类型详解(二十九)

    Kubernetes集群服务发现Service资源LoadBalancer类型详解 1.LoadBalancer类型的service资源概念 LoadBalancer和Nodeport非常相似,目的都 ...

  3. hbase集群 数据写入_HBase架构与原理详解

    一.概述 HBase是基于列式存储的分布式数据库,底层存储采用的是LSM树,是Hadoop生态下核心技术之一. 1.1 架构图 1.2 组件介绍 HBase由三种类型的服务器以主从模式构成: Regi ...

  4. HDFS(下):NameNode和SecondaryNameNode、HDFS工作机制、故障处理、集群安全模式、服役退役节点、集群黑白名单、DataNode多目录详解、HDFS2.x新特性

    接上篇,上篇文章传送门:HDFS(上):HDFS优缺点.HDFS操作.HDFS客户端操作.HDFS的API.HDFS数据流.HDFS的IO流.HDFS读写数据流程.HDFS文件处理详解.windows ...

  5. Dubbo的负载均衡、集群容错、服务降级等机制详解

    文章目录 1. Dubbo与RPC的关系 2. Dubbo的基本使用 2.1 Dubbo是什么? 2.2 负载均衡 2.3 服务超时 2.4 集群容错 2.5 服务降级 2.6 本地存根 2.7 参数 ...

  6. MySQL数据库集群实现负载均衡的安装配置详解

    本文我们详细地介绍了MySQL 5.0数据库集群负载均衡的安装配置工作,希望能够对您有所帮助. 本文我们主要介绍了MySQL数据库集群实现负载均衡的安装配置工作,接下来我们就让我们一起来了解一下这部分 ...

  7. 无人机航测倾斜摄影测量内业工作站集群的搭建方法与操作步骤详解:以CC软件(Context Capture)为例

    引言 现阶段,无人机航测作业主要分为外业和内业两个方面.而老话说得好,工欲善其事,必先利其器,倾斜摄影测量外业数据采集工作需要熟练稳重的飞手,搭配上安全稳定的飞机和性能卓越.工作稳定的相机.同样地,内 ...

  8. 使用cephadm部署单节点ceph集群,后期可扩容(基于官方文档,靠谱,读起来舒服)

    目录 ceph各种部署工具比较(来自官方文档的翻译,靠谱!) 材料准备 cephadm使用条件 服务器有外网访问能力 服务器没有外网访问能力 安装cephadm cephadm的功能 两种安装方式 基 ...

  9. 第二篇:Ceph集群环境准备

    第一篇简单介绍了Ceph的架构,让我们对Ceph有了一个初步的印象. 接下来,我将在MAC上介绍如何基于本机搭建ceph集群及cephfs.cephrgw.cephrbd服务. 集群规划: 生产环境 ...

  10. ceph集群删除mds服务

    2019独角兽企业重金招聘Python工程师标准>>> 由于环境从Hammer版升级到Jewel版,之前Hammer版上有MDS服务,但是没有实际用途,升级到Jewel版后,由于不再 ...

最新文章

  1. 【TDS学习文档4】IBM Directory schema的管理2——object class
  2. 利用 Arthas 解决启动 StandbyNameNode 加载 EditLog 慢的问题
  3. pandas loc和iloc区别
  4. lcd残影原理_为什么同样是高刷,OLED 可以比 LCD 优秀?
  5. Ubuntu在vmware虚拟机无法上网的解决方法
  6. php 短信验证码对比,php短信验证码的3个优势,你知道是什么吗?
  7. 32 引脚_函数功能:定时器T0的中断服务子程序,使P3.7引脚输出音频方波
  8. python 编译procto错误处理
  9. 公布一个简单的日志记录方法 【转】-要研究
  10. php连接access带密码,phpadodb连接带密码access数据库实例,测试成功
  11. 如何通过“随航”将iPad用作苹果Mac的第二个显示屏?
  12. Java日期练习—计算已出生多少天
  13. 国产操作系统怎么下载安装使用Photoshop这样的软件?
  14. 博途V15添加GSD文件
  15. mac 回车键、空格键失灵(非物理原因)解决方法
  16. 图像去噪(阿尔法均值滤波器)
  17. potato土豆登录不了_土豆@mz123789【电子竞技赛吧】
  18. 软实力:权力,从硬实力到软实力
  19. Elasticsearch学习之的delimited_payloads使用
  20. 京东618大促,全店快递如何批量打印

热门文章

  1. python实现欧拉计划第十四题
  2. JAVA 文件下载复制百分比进度计算公式
  3. 【编程思想】理解面向过程(OPP)、面向对象(OOP)、面向切面(AOP)
  4. 汽车音响Systemhead单位
  5. Linux内核贡献者契约行为准则解释
  6. 库存管理软件可提高客户满意度的五种方式
  7. linux命令修改管理员时间,命令行为Linux管理员节省时间
  8. oracle dg 日志手动应用,物理DG 日志传输以及应用过程
  9. C# 之 OpenFileDialog相关操作
  10. 小议创业公司初期的技术选择