首页 > 其他分享 >cephfs的部署和使用

cephfs的部署和使用

时间:2023-01-25 21:33:42浏览次数:52  
标签:deploy 部署 ceph 使用 cephadmin mds cephfs pool

  cephfs使用

  ceph FS 即 ceph filesystem,可以实现文件系统共享功能(POSIX 标准), 客户端通过 ceph协议挂载并使用 ceph 集群作为数据存储服务器,https://docs.ceph.com/en/quincy/cephfs/

  Ceph FS 需要运行 Meta Data Services(MDS)服务,其守护进程为 ceph-mds,ceph-mds进程管理与 cephFS 上存储的文件相关的元数据,并协调对 ceph 存储集群的访问。

  在 linux 系统使用 ls 等操作查看某个目录下的文件的时候,会有保存在磁盘上的分区表记录文件的名称、创建日期、大小、inode 及存储位置等元数据信息,在 cephfs 由于数据是被打散为若干个离散的 object 进行分布式存储,因此并没有统一保存文件的元数据,而且将文件的元数据保存到一个单独的存储出 matedata pool,但是客户端并不能直接访问matedata pool 中的元数据信息,而是在读写数的时候有 MDS(matadata server)进行处理,读数据的时候由 MDS从 matedata pool加载元数据然后缓存在内存(用于后期快速响应其它客户端的请求)并返回给客户端,写数据的时候有 MDS 缓存在内存并同步到 matedata pool。

 

  cephfs 的 mds 的数据结构类似于 linux 系统的根形目录结构及 nginx 中的缓存目录分层一样。

 

  部署 MDS 服务

  在指定的 ceph-mds 服务器部署 ceph-mds 服务,可以和其它服务器混用(如 ceph-mon、ceph-mgr)

  Centos

[root@ceph-mgr1 ~]# yum install ceph-mds -y

 

  Ubuntu

root@ceph-mgr1:~# apt-cache madison ceph-mds
  ceph-mds | 16.2.10-1bionic | https://mirrors.tuna.tsinghua.edu.cn/ceph/debian-pacific bionic/main amd64 Packages
  ceph-mds | 12.2.13-0ubuntu0.18.04.10 | http://mirrors.tuna.tsinghua.edu.cn/ubuntu bionic-updates/universe amd64 Packages
  ceph-mds | 12.2.13-0ubuntu0.18.04.10 | http://mirrors.tuna.tsinghua.edu.cn/ubuntu bionic-security/universe amd64 Packages
  ceph-mds | 12.2.4-0ubuntu1 | http://mirrors.tuna.tsinghua.edu.cn/ubuntu bionic/universe amd64 Packages
  
root@ceph-mgr1:~# apt install ceph-mds
root@ceph-mgr1:~# apt install ceph-mds=16.2.10-1bionic  #也可以指定版本安装取决于apt仓库

 

  进入ceph-deploy节点,指定在ceph-mgr1节点安装ceph-mds

root@ceph-deploy:~# su - cephadmin 
cephadmin@ceph-deploy:~$ cd ceph-cluster/
cephadmin@ceph-deploy:~/ceph-cluster$ ceph-deploy mds create ceph-mgr1

 

   验证mds 服务

cephadmin@ceph-deploy:~/ceph-cluster$ ceph mds stat
 1 up:standby	#当前为备用状态,需要分配 pool 才可以使用。

 

  创建 CephFS metadata 和 data 存储池:

  使用 CephFS 之前需要事先于集群中创建一个文件系统,并为其分别指定元数据和数据相关的存储池。

  创建名为 mycephfs 的文件系统,使用 cephfs-metadata 为 元数据存储池,使用 cephfs-data 为数据存储池:

cephadmin@ceph-deploy:~/ceph-cluster$ ceph osd pool create cephfs-metadata 32 32
pool 'cephfs-metadata' created   #创建元数据 pool

cephadmin@ceph-deploy:~/ceph-cluster$ ceph osd pool create cephfs-data 64 64
pool 'cephfs-data' created       #创建数据存储池

 

  查看ceph当前状态

 

  注意:在实际的生产使用中,cephfs数据存储池存储了几十T的数据,那么元数据的存储池大约占用几个G空间。

 

  创建 cephFS

  创建使用帮助

cephadmin@ceph-deploy:~/ceph-cluster$ ceph fs new --help

#	文件系统名称   元数据pool  data pool
fs new <fs_name> <metadata> <data> [--force] [--allow-dangerous-metadata-      make new filesystem using named pools <metadata> and <data>  overlay] [<fscid:int>] [--recover]

 

  创建cephfs,指定fs的元数据池和fs数据池

cephadmin@ceph-deploy:~/ceph-cluster$ ceph fs new share1 cephfs-metadata cephfs-data 

 

  验证cephfs

  列出所有的cephfs

  data pool显示为一个列表,表示可以为fs指定多个data pool

cephadmin@ceph-deploy:~/ceph-cluster$ ceph fs ls
name: share1, metadata pool: cephfs-metadata, data pools: [cephfs-data ]

 

  查看cephfs的状态

cephadmin@ceph-deploy:~/ceph-cluster$ ceph fs status share1

 

  查看ceph状态

 

  验证mds节点状态

  当cephfs创建后,mds节点状态才会为active活动状态

cephadmin@ceph-deploy:~/ceph-cluster$ ceph mds stat
share1:1 {0=ceph-mgr1=up:active}   #现在已经转变为活动状态

 

标签:deploy,部署,ceph,使用,cephadmin,mds,cephfs,pool
From: https://www.cnblogs.com/punchlinux/p/17067299.html

相关文章

  • onnx模型部署(一) ONNXRuntime
        通常我们在训练模型时可以使用很多不同的框架,比如有的同学喜欢用Pytorch,有的同学喜欢使用TensorFLow,也有的喜欢MXNet,以及深度学习最开始流行的Caffe等等,这样不......
  • JavaScript学习笔记—使用JSON进行深复制
    constobj={name:"孙悟空",friend:{name:"猪八戒"}};//对obj进行浅复制constobj2=Object.assign({},obj);//对obj进行深复制constobj3=s......
  • C#异步延迟Task.Delay()的使用
    一、要在异步方法中需要延迟代码继续往下执行可以使用awaitTask.Delay(),效果类似Thread.Sleep()。两者之间的不同是1、await Task.Delay实质创建一个运行给定时间的任......
  • 使用 Linux 命令来获取输入文件中特定字符的出现次数
    概述我们将学习如何使用Linux命令来获取输入文件中特定字符的出现次数。我们假设您知道一些常见的Linux命令,包括grep、awk和tr。我们还假设我们的输入文件tpoint.tx......
  • 前端重新部署如何通知用户刷新网页?
    1.目标场景有时候上完线,用户还停留在老的页面,用户不知道网页重新部署了,跳转页面的时候有时候js连接hash变了导致报错跳不过去,并且用户体验不到新功能。2.思考解决方案如何去......
  • 使用VS2019编译EDK2的方法
    原先自己编译的EDK2的情况,有点旧,本次更新EDK2使用2019的编译器编译EDK2需要的工具链如下,自行下载哈:VS2019:Python3.8:​​https://www.python.org/downloads/release/python-......
  • 你如何使用Python制作网站?
    在本文中,我们将讨论如何使用Python制作网站。Python是一种1991年的编程语言,在过去十年中越来越受欢迎。如今,Python编码器在计算机行业中的需求量很大。Python是一种通用......
  • 如何高效高性能的选择使用 MySQL 索引?
    想要实现高性能的查询,正确的使用索引是基础。本小节通过多个实际应用场景,帮助大家理解如何高效地选择和使用索引。1.独立的列独立的列,是指索引列不能是表达式的一部分,也不......
  • 如何在Python Plotly中使用Plotly Express绘制多折线图?
    Plotly是Python中的开源绘图库。Python用户可以使用Plotly生成不同类型的交互式基于Web的图表,包括科学图表,3D图形,统计图表,财务图表等。在本教程中,我们将展示如何使用Plotly......
  • 说一说Vuex是什么,每个属性是干嘛的,如何使用 ?
    Vue的概念Vuex是集中管理项目的公共数据的2.vuex的属性:state:保存数据状态的仓库getters:对state数据进行计算,类似于计算属性(依赖数据发生变化才会重新计算)action:发......