专栏首页木二天空005.Ceph文件系统基础使用

005.Ceph文件系统基础使用

一 Ceph文件系统

1.1 概述

CephFS也称ceph文件系统,是一个POSIX兼容的分布式文件系统。

实现ceph文件系统的要求:

  • 需要一个已经正常运行的ceph集群;
  • 至少包含一个ceph元数据服务器(MDS)。

1.2 相关名词

Ceph:元数据服务器( MDS ),为 Ceph 文件系统存储元数据。元数据服务器使得POSIX 文件系统的用户们,可以在不对 Ceph 存储集群造成负担的前提下,执行诸如 ls、find 等基本命令。

元数据:可以简单的理解为它是描述数据的数据,意思就是描述数据的信息。如,数据的大小、位置、属性等等信息。使用MDS后,在执行数据搜索和查看的时候,首先查找的是元数据,通过元数据中的描述信息准确且快速的找到数据,而不用大费周章的在整个集群的osd上查找。

1.3 客户端I/O机制

客户端向cephfs发起I/O时,过程大致为:

  1. client端与mds节点通讯,获取metadata信息(metadata也存在osd上)
  2. client直接写数据到osd

1.4 挂载ceph文件系统的方式

  1. 使用本地系统内核驱动程序进行挂载
  2. 使用ceph fuse进行挂载

二 文件系统使用

2.1 查看集群

  1 [root@deploy ~]# su - manager
  2 [manager@deploy ~]$ cd my-cluster/
  3 [manager@deploy my-cluster]$ ssh node1 sudo ceph -s

2.2 创建MDS

见《003.Ceph扩展集群》步骤2.2。

提示:使用ceph-deploy部署ceph mds比较快捷,但依赖于之前ceph-deploy时候生成的一些配置和keyring文件,所以此文档承接之前文档,并在部署Ceph集群目录。

  1 [root@deploy ~]# su - manager
  2 [manager@deploy ~]$ cd my-cluster/
  3 [manager@deploy my-cluster]$ ssh node1 sudo ceph mds stat	#查看mds信息
  4 , 1 up:standby

2.3 创建文件系统

  1 [manager@deploy my-cluster]$ ssh node1 sudo ceph osd pool create cephfs_data 16 16	        #创建data pool
  2 [manager@deploy my-cluster]$ ssh node1 sudo ceph osd pool create cephfs_metadata 16 16	#创建metadata pool
  3 [manager@deploy my-cluster]$ ssh node1 sudo ceph fs new cephfs cephfs_metadata cephfs_data	#创建cephfs
  4 [manager@deploy my-cluster]$ ssh node1 sudo ceph fs ls		                        #查看验证
  5 name: cephfs, metadata pool: cephfs_metadata, data pools: [cephfs_data ]
  6 [manager@deploy my-cluster]$ ssh node1 sudo ceph mds stat
  7 cephfs-1/1/1 up  {0=node1=up:active}				                        #再次查看mds信息

注意:一个cephfs至少要求两个RADOS存储池,一个为data,一个为metadata。

建议:

metadata pool设置较高级别的副本级别,因为metadata的损坏可能导致整个文件系统不用;

metadata pool使用低延时存储,比如SSD,因为metadata会直接影响客户端的响应速度。

2.4 创建认证密钥

  1 [root@node1 ~]# cat /etc/ceph/ceph.client.admin.keyring		#查看key
  2 [client.admin]
  3         key = AQDs9D1cCanyJBAA/rj991xmzENsIgEesfe8KQ==
  4 [root@cephclient ~]# vi /root/admin.secret			        #客户端创建key
  5 AQDs9D1cCanyJBAA/rj991xmzENsIgEesfe8KQ==

三 客户端使用文件系统(内核驱动)

3.1 客户端执行挂载

  1 [root@cephclient ~]# mkdir /mnt/mycephfs
  2 [root@cephclient ~]# mount -t ceph -o name=admin,secretfile=/root/admin.secret \
  3 172.24.8.72:6789:/ /mnt/mycephfs/				        #执行挂载并附带key文件

提示:Ceph存储集群默认情况下已启用身份验证的情况下运行,挂载时需要指明相关密钥(非密钥环本身)。

2.6 确认验证

  1 [root@cephclient ~]# df -hT
  2 Filesystem              Type      Size  Used Avail Use% Mounted on
  3 ……
  4 172.24.8.72:6789:/      ceph       18G     0   18G   0% /mnt/mycephfs
  5 [root@cephclient ~]# echo 'This is my test file!' >>/mnt/mycephfs/test.txt

四 客户端使用文件系统(FUSE)

4.1 安装FUSE相关包

  1 [root@cephclient ~]# yum -y install ceph-fuse
  2 [manager@deploy my-cluster]$ ceph-deploy --overwrite-conf mon add cephclient

提示:Ceph v0.55及后续版本默认开启了cephx认证。从用户空间( FUSE )挂载Ceph文件系统前,确保客户端有一份Ceph配置副本、和具备Ceph元数据服务器的密钥环,本实验通过以上命令直接从deploy节点推送相关配置。也可通过手动scp方式将mon节点的ceph.conf和ceph.client.admin.keyring复制至客户端节点。

4.2 客户端执行挂载

  1 [root@cephclient ~]# mkdir /mnt/mycephfs
  2 [root@cephclient ~]# ceph-fuse -k /etc/ceph/ceph.client.admin.keyring -m 172.24.8.72:6789 /mnt/mycephfs/			#执行挂载并附带key文件

提示:Ceph存储集群默认情况下已启用身份验证的情况下运行,若keyring位于/etc/ceph目录可省略-k参数,ceph-fuse -m 172.24.8.72:6789 /mnt/mycephfs。

4.3 确认验证

  1 [root@cephclient ~]# df -hT
  2 Filesystem              Type      Size  Used Avail Use% Mounted on
  3 ……
  4 ceph-fuse               fuse.ceph-fuse   18G     0   18G   0% /mnt/mycephfs
  5 [root@cephclient ~]# echo 'This is my test file!' >>/mnt/mycephfs/test2.txt

参考:http://docs.ceph.com/docs/master/start/quick-rbd/

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 附013.Kubernetes永久存储Rook部署

    Ceph是一种高度可扩展的分布式存储解决方案,提供对象、文件和块存储。在每个存储节点上,将找到Ceph存储对象的文件系统和Ceph OSD(对象存储守护程序)进...

    木二
  • 002.RHCS-配置Ceph存储集群

    Red Hat Ceph存储池池是Red Hat Ceph存储集群用于存储对象的逻辑分区。

    木二
  • 001.Ansible部署RHCS存储集群

    提示:Red Hat Ceph存储还支持在Red Hat OpenStack平台计算节点上部署OSDs、MONs、RGWs,但不支持部署mon和osd。

    木二
  • 从hammer到jewel的RGW升级实战-by秦牧羊

    本篇来自秦牧羊的一篇分享,讲述的是从hammer升级到jewel的过程,以及其中的一些故障的处理,是一篇非常详细的实战分享

    用户2772802
  • centos 7.3 快速安装ceph

    Ceph是一种为优秀的性能、可靠性和可扩展性而设计的统一的、分布式文件系统。

    yaohong
  • kubernetes使用ceph作为存储挂载

    1、安装客户端(客户端版本与ceph集群的版本最好一致,不然创建image的时候死活创建不了):

    菲宇
  • ​gitlab+jenkins打造ceph的rpm自动编译

    需要添加的插件:Gitlab Hook、Build Authorization Token Root、Gitlab Authentication、Gitlab

    用户1260683
  • Ceph介绍及部署

    ceph是一个分布式存储系统,提供对象存储,块存储,文件存储,Ceph集群至少需要一个ceph monitor和两个OSD守护进程,而运行ceph文件系统客户端...

    dogfei
  • ceph luminous 新功能之内置dashboard

    ceph luminous版本新增加了很多有意思的功能,这个也是一个长期支持版本,所以这些新功能的特性还是很值得期待的,从底层的存储改造,消息方式的改变,以及一...

    用户2772802
  • ceph基础运维操作 原

    保存退出 开始安装ceph Yum install ceph –y 完毕之后初始化目录

    domain0

扫码关注云+社区

领取腾讯云代金券