CephFs的操作方法

  

这篇文章主要为大家详细介绍了CephFs的操作方法,文中关于介绍的非常详细,零基础也能参考此文章,感兴趣的小伙伴们可以参考一下。

一、CephFs介绍

Ceph文件系统(CephFs)是与POSIX标准兼容的文件系统,能够提供对Ceph存储集群上的文件访问。宝石版本(10.2.0)是第一个包含稳定CephFS的Ceph版本。CephFS需要至少一个元数据服务器(元数据服务器- MDS)守护进程(ceph-mds)运行,MDS守护进程管理着与存储在CephFS上的文件相关的元数据,并且协调着对Ceph存储系统的访问。

说在前面的话,CephFS其实是为用户提供的一个文件系统,把Ceph这个软件把里面的空间,模拟一个文件系统的格式来提供服务,它有posix标准的文件系统的接口能够为Ceph集群存储文件,能够提供访问,目前在大多数公司用CephFS也是比较少的,也是由于性能原因,但是也有一些场景也会用的到。

对象存储的成本比起普通的文件存储还是较高,需要购买专门的对象存储软件以及大容量硬盘。如果对数据量要求不是海量,只是为了做文件共享的时候,直接用文件存储的形式好了,性价比高。

二,CephFS架构

底层是核心集群所依赖的,包括:
<强> osd (ceph-osd): CephFS的数据和元数据就存储在osd上
MDS (ceph-mds):元数据服务器、管理着CephFS的元数据
蒙斯(ceph-mon):监督管理着集群地图的主副本

因为这个地图里面维护着很多数据的信息索引,所有的数据都要从蒙斯中地图里获取去osd里找这个数据,其实获取这个数据的流程大概都是一样的,只不过它存在的是不同的库,不同的地图

Ceph存储集群的协议层是Ceph原生的librados库,与核心集群交互。
CephFS库层包括CephFS库libcephfs,工作在librados的顶层,代表着Ceph文件系统。最上层是能够访问Ceph文件系统的两类客户端,由于有这个libcephfs这个库,cephfs才能对外提供服务,因为底层是不能提供服务的,都得通过它这个第三方的lib库才能去提供访问,

元数据:文件的名字和属性信息叫元数据,和数据是隔离开的

<强> cephfs的数据是怎么访问的?
首先客户端通过RPC协议到达MDS,从MDS获取到元数据的信息,客户端与雷达手表获取文件的一个IO操作,那么有了这两份信息,用户就能得到了想要的那份文件,MDS和雷达手表之间通过metadate》杂志上,这个杂志是记录文件写入日志的,这个也是存放到OSD当中,的MDS和雷达手表之间也是由交互的,因为所有最终的数据都会存到雷达手表当中

 cephfs的操作方法”> !</p> <h2>三,配置CephFS MDS </h2> <p>要使用CephFS,至少就需要一个元数据服务器进程。可以手动创建一个MDS,也可以使用ceph-deploy或者ceph-ansible来部署MDS。, <br/>登录到ceph-deploy工作目录执行<br/>主机名指定ceph集群的主机名<br/> # ceph-deploy MDS创建主机名</p> <h2>四美元,部署ceph文件系统</h2> <p>部署一个CephFS,步骤如下:<br/>在一个星期一节点上创建ceph文件系统。<br/>若使用CephX认证,需要创建一个访问CephFS的客户端</p> <p>挂载CephFS到一个专用的节点。<br/>以内核端形式挂载CephFS <br/>以FUSE客户机形式挂载CephFS </p> <p> <强> 1,创建一个Ceph文件系统</强> <br/> 1,首先要创建两个游泳池,一个是cephfs-data,一个是cephfs-metadate,分别存储文件数据和文件元数据,这个pg也可以设置小一点,这个根据OSD去配置</p> <pre> <代码> # Ceph OSD池创建cephfs-data 256 256
  # ceph osd池创建cephfs-metadata 64 64 </代码> </pre> <p>查看已经创建成功</p> <pre> <代码> [root@cephnode01 my-cluster] # ceph osd lspools
  1 .rgw.root
  2 default.rgw.control
  3 default.rgw.meta
  4 default.rgw.log
  5 rbd
  6 cephfs-data
  7 cephfs-metadata </代码> </pre> <p>关于ceph的日志,可以在/var/log/ceph下可以查看到相关信息</p> <pre> <代码> [root@cephnode01 my-cluster] # tail - f/var/log/ceph/ceph
  ceph.audit。日志,,,,,,,,ceph。日志,,,,,,,,,,,ceph-mgr.cephnode01。日志,,,,ceph-osd.0.log
  ceph-client.rgw.cephnode01。日志ceph-mds.cephnode01。日志,,,,ceph-mon.cephnode01。日志,,,,ceph-volume。日志代码</> </pre> <p>注:一般元数据池可以从相对较少的后卫启动,之后可以根据需要增加动力分配。因为元数据池存储着CephFS文件的元数据,为了保证安全,最好有较多的副本数。为了能有较低的延迟,可以考虑将元数据存储在ssd上。<br/> <强> 2,创建一个CephFS,名字为CephFS:需要指定两个创建的池的名字</强> </p> <pre> <代码> # ceph fs新CephFS cephfs-metadata cephfs-data
  新的fs 7元数据池和数据池6 <h2 class=CephFs的操作方法