cephadm部署ceph集群(cephfs搭建)

cephadm部署ceph集群(cephfs搭建)我只是简单的部署测试 并没有深入的研究相关内容 可能下面的描述并不是准确 ceph 的中文文档很不错 访问地址 http docs ceph org cn 先了解下 ceph 基本组成 有一个大概的了解 这部分内容主要摘抄自 ceph 文档和别人的文章 以下部分来自 http docs ceph org cn start intro 不管你是想为 云平台 提供 Ceph 对象存储 和 或 Ceph 块设备 还是想部署一个 Ceph 文件系统 或者把 Ceph 作为他用



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

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/cc3ece850433

一个 Ceph 集群的服务器关系图,来自 https://docs.switzernet.com/3/public/130910-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

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

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


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

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


                    
编程小号
上一篇 2025-02-11 19:11
下一篇 2025-01-23 17:17

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/bian-cheng-ri-ji/27670.html