当前位置:网站首页 > 云计算与后端部署 > 正文

cephadm部署ceph集群(cephfs搭建)



我只是简单的部署测试,并没有深入的研究相关内容,可能下面的描述并不是准确。

ceph 的中文文档很不错,访问地址: http://docs.ceph.org.cn。

先了解下 ceph 基本组成,有一个大概的了解,这部分内容主要摘抄自 ceph 文档和别人的文章。

以下部分来自:http://docs.ceph.org.cn/start/intro/

不管你是想为云平台提供Ceph 对象存储和/或 Ceph 块设备,还是想部署一个 Ceph 文件系统或者把 Ceph 作为他用,所有 Ceph 存储集群的部署都始于部署一个个 Ceph 节点、网络和 Ceph 存储集群。 Ceph 存储集群至少需要一个 Ceph Monitor 和两个 OSD 守护进程。而运行 Ceph 文件系统客户端时,则必须要有元数据服务器( Metadata Server )。

  • Ceph OSDs: Ceph OSD 守护进程( Ceph OSD )的功能是存储数据,处理数据的复制、恢复、回填、再均衡,并通过检查其他OSD 守护进程的心跳来向 Ceph Monitors 提供一些监控信息。当 Ceph 存储集群设定为有2个副本时,至少需要2个 OSD 守护进程,集群才能达到 状态( Ceph 默认有3个副本,但你可以调整副本数)。
  • Monitors: Ceph Monitor维护着展示集群状态的各种图表,包括监视器图、 OSD 图、归置组( PG )图、和 CRUSH 图。 Ceph 保存着发生在Monitors 、 OSD 和 PG上的每一次状态变更的历史信息(称为 epoch )。
  • MDSs: Ceph 元数据服务器( MDS )为 Ceph 文件系统存储元数据(也就是说,Ceph 块设备和 Ceph 对象存储不使用MDS )。元数据服务器使得 POSIX 文件系统的用户们,可以在不对 Ceph 存储集群造成负担的前提下,执行诸如 、 等基本命令。

Ceph 把客户端数据保存为存储池内的对象。通过使用 CRUSH 算法, Ceph 可以计算出哪个归置组(PG)应该持有指定的对象(Object),然后进一步计算出哪个 OSD 守护进程持有该归置组。 CRUSH 算法使得 Ceph 存储集群能够动态地伸缩、再均衡和修复。

rados 结构,以下部分来自 https://www.jianshu.com/p/cc3ece

一个 Ceph 集群的服务器关系图,来自 https://docs.switzernet.com/3/public/-ceph-dovecot/

更多的内容这里就不转载了,请直接网络搜索吧。

  • 干货|非常详细的 Ceph 介绍、原理、架构
  • Ceph分布式存储系列(一):Ceph工作原理及架构浅析梳理
  • CentOS8使用cephadm部署和配置Ceph Octopus
  • 使用cephadm安装ceph octopus
  • 最新Ceph安装工具:Cephadm介绍与使用
  • 用户空间挂载 CEPH 文件系统
  • 用内核驱动挂载 CEPH 文件系统
  • CEPHFS 文件系统创建和挂载

我这里只是测试一下,所以开了三个虚拟机进行测试。三个虚拟机操作系统都是 CentOS 8。

节点 IP 数据盘(OSD) 角色 ceph-mon1 192.168.122.103 MON、MDS、PROM、GRAFANA ceph-osd1 192.168.122.200 /dev/vdb1 OSD ceph-osd2 192.168.122.201 /dev/vdb1 OSD

先在三台机器上,修改 文件,添加下面内容:

 
  

然后分别在每个节点机器上,根据节点所承担的角色设置主机名

 
  

因为后续需要离线部署到实际工作环境中,所以我这里参照网上的部署方案,制作了一个简单的离线安装部署包。

安装包里面的 程序被我修改了,将里面的 函数里面 数组中的 改为了 。因为离线部署不需要使用 或者 去实际拉取镜像,使用本地镜像即可。

离线安装包只适合在 下使用,其他系统环境无法兼顾。离线安装包主要是打包了 、、、 的安装包,以及 及其需要用到的几个容器镜像。

cephadm 使用到的镜像列表如下:

 
  

离线安装包下载地址:

链接: https://pan.baidu.com/s/1zIODZ9cfMVCxLQrU9YRyow 提取码: cxi5 复制这段内容后打开百度网盘手机App,操作更方便哦

注意,在安装完成之后,可以将 cephadm 复制到 /usr/bin 目录下,后续可以直接使用,无需指定路径。

将上面说的离线安装包上传到 节点,解压后进入 文件夹,执行下面命令进行基础依赖组件安装:

 
  

安装完成基础组件后,再执行 脚本来创建集群,执行的过程中,会要求输入 节点的 IP,直接输入后回车即可:

 
  

如果执行没有出错的话,应该会有类似下面的输出:

 
  

这表示已经安装成功了,可以使用浏览器打开 https://ceph-mon1:8443/ 进行访问,用户名和密码也在输出中。

image-20210408164745961

image-20210408173411296

4.3.1、集群节点间的 SSH 免密访问设置

前面安装过程结束后,会在 目录下生成 文件,这个是 创建的公钥文件,将它上传到 和 节点,以便实现 SSH 免密登陆。

 
  

可以使用 命令创建新的密钥对也是可以的。

 
  

上面操作只能实现 节点免密 SSH 登陆 节点,要能够都互相之间访问,则需要反过来也操作。

4.3.2、添加节点到集群

下面说的步骤中,直接将离线安装包拷贝到所有节点上,并执行 脚本,就不用麻烦了,可以直接跳到 4.4 的第三个步骤。


注意,下面所说的都是在各个节点分别进行的过程,不是在 ceph-mon1 节点了。

然后将离线安装包上传到 和 节点

 
   

然后 登陆到 和 节点,安装好

 
   

注意:如果不进行上面的安装操作,将无法将节点添加到集群!

执行完成上面的操作之后,可以回到 节点,执行下面的命令将 和 添加到集群。

 
   

image-20210409144121581

上面的标签是使用下面命令添加的(这是在 ceph-mon1 节点执行的),标签可以添加也可以移除。

 
   

下面的操作都是在 ceph-ods1、ceph-ods2 节点进行的,两个节点都要执行。

4.4.1、依赖项安装

将离线安装包里面的 、 安装。(如果上面步骤中是执行 安装的,则跳过此步骤)

 
   

执行上面的操作后,可以执行下 命令看看是否正常,应该是会报一下错误的:

 
   

这个只需要将 节点上的 和 文件拷贝到其他节点即可

 
   

然后将 和 里面的容器镜像导入到 。(如果上面步骤中是执行 安装的,则跳过此步骤)

 
   

4.4.2、添加 OSD 角色(服务)到集群

前面添加了节点到集群,并且也在每个节点都进行必要的依赖项安装,以及 podman 镜像的导入,下面可以进行 OSD 角色(服务)的添加了。

在任意节点(因为都已经安装了 ,所以那个节点都一样),

 
   

集群-节点主机状态

集群-OSDs 状态

查看一下集群状态:

 
   

因为我这里只有两个 OSDs ,所以这里会有警告。

执行完成上面的操作之后,可以创建一个文件系统进行测试一下

 
   

创建完成之后,添加一个 mds (元数据)服务

 
   

使用命令 查看下 mds 服务状态

 
   

重新看一下集群状态,我这里因为创建了两个文件系统和 mds ,所以下面有的显示了两个的状态。

 
   

image-20210409180143027

先在客户端机器上安装 ,软件安装包在离线安装包里面有。

然后直接使用下面的命令进行挂载操作即可:

 
   

更多参数和挂载示例还是通过 进行查询比较好。

使用 命令查看一下 的状况。

 到此这篇cephadm部署ceph集群(cephfs搭建)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就! 
  
  

                            

版权声明


相关文章:

  • 达梦客户端(达梦客户端工具)2025-10-09 14:00:07
  • swagger2默认地址(swagger 默认端口)2025-10-09 14:00:07
  • ElementUI 实现上传同名且后缀不同的两个文件2025-10-09 14:00:07
  • VUE项目部署到tomcat服务器-前端配置2025-10-09 14:00:07
  • 异步操作之后让await后续的代码能够继续执行2025-10-09 14:00:07
  • 鸿蒙系统app后缀hap(鸿蒙系统app后缀名)2025-10-09 14:00:07
  • 二级域名解析到另一个服务器(二级域名解析到端口)2025-10-09 14:00:07
  • 动态库和静态库(动态库和静态库的后缀)2025-10-09 14:00:07
  • oracle em端口(oracle11g端口号是什么)2025-10-09 14:00:07
  • 模型部署框架(模型框架结构)2025-10-09 14:00:07
  • 全屏图片