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

cephadm部署ceph集群(ceph 搭建)



ceph官方文档:https://docs.ceph.com/en/latest/

本次搭建用到的测试机器,规划如下:

主机名 IP 数据盘 ceph-node01 192.168.11.13 5块1TB容量硬盘 ceph-node02 192.168.11.14 5块1TB容量硬盘 ceph-node03 192.168.11.15 5块1TB容量硬盘

解下来在所有节点完成下面的准备工作

  1. 关闭防火墙、selinux、禁用swap
 
  

在部署 Ceph 集群时,建议将所有节点的交换分区(swap)禁用或调整到最小值。这是因为 Ceph 对于节点内存的需求较高,如果系统中开启了 swap 分区,那么当内存不足时,系统会将一些内存数据转储到 swap 中,这会导致性能下降和系统不稳定。因此,禁用或调整 swap 分区大小可以确保系统有足够的内存来支持 Ceph 的正常运行和性能。

  1. 配置阿里云yum源
 
  
  1. 安装epel
 
  
  1. 安装docker
 
  
  1. 安装lvm2、python3、ntp
 
  
  1. 在每个节点安装Cephadm和ceph工具包
 
  
  1. 在第一个节点(ceph-node01)上,初始化Ceph集群和创建OSD
 
  

在创建完成后,您将看到输出中显示的管理员账号和密码,可以使用浏览器登录到web管理页面。

查看集群状态:

 
  

可以看到ceph集群已经有一个节点ceph-node01,它担任了mon、mgr的角色,在我的规划中,也是要让ceph-node01节点作为osd角色的,它的osd数量目前为0,接下来我们在ceph-node01上创建osd

 
  
  1. 将另外2个节点添加到集群和创建OSD(在ceph-node01节点上操作
 
  

ceph-node02和ceph-node03加入ceph集群后,会自动将任何可用和未使用的存储设备作为osd盘

当然也可以手动指定从特定主机上的特定设备创建OSD,命令如下:

 
  

至此,ceph集群已经搭建完成。

  1. 完成后,查看集群状态、osd状态、集群使用情况
 
  

登录ceph web管理页面看看:

图片

图片

图片

  1. 关于时间同步 在 Ceph 集群中,每台节点的时间同步非常重要,因为 Ceph 集群的各个组件都需要严格的时间同步才能正常运行。以下是一些重要原因:
  • 避免数据不一致:Ceph 集群中的数据副本分布在不同的节点上,如果节点之间的时间不同步,可能会导致写操作的数据不一致,或者无法正确地读取数据。
  • 避免时钟漂移:由于硬件和软件的原因,每个节点的时钟可能会出现漂移。如果这种漂移超过了一定的阈值,可能会导致 Ceph 系统无法正常工作。
  • 避免锁竞争问题:Ceph 集群中的许多组件都使用锁来控制访问资源的顺序。如果节点之间的时间差异太大,可能会导致锁竞争问题,从而影响系统的性能。

因此,确保每台节点的时间同步是 Ceph 集群稳定性和可靠性的重要保证。可以通过使用 NTP(网络时间协议)或其他时间同步工具来实现时间同步。在本次搭建中,同步的是公网阿里云的时间服务器。需要注意的是,如果在生产环境,还要配置定期能够自动同步,本次只是测试,所以就不配置了,如果是生产环境且不能出外网的机器,还要确保本地有NTP服务器。

  1. 关于mon节点的数量

一个典型的 Ceph 集群官方建议部署3个或5个监控守护进程(MON),分布在不同的主机上。因为 MON 负责维护 Ceph 集群的状态信息,包括存储池和 OSD 的映射关系、客户端的连接信息等,它们需要进行定期的状态信息交换和协调。如果某个 MON 发生故障,那么其他的 MON 可以协同工作来维护集群的状态信息。一般来说,部署更多的 MON 可以提高集群的可靠性和容错性,因为它们可以更好地协同工作来维护集群的状态信息。同时,部署更多的 MON 还可以提高集群的性能,因为它们可以更好地分担状态信息交换的负载。

建议在 Ceph 集群中至少部署五个或更多的 MON,以提高集群的可靠性、容错性和性能。

本文转载于WX公众号:不背锅运维(喜欢的盆友关注我们):https://mp.weixin..com/s/YzuaRf2ZABFIU7Wkyro4vw

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

版权声明


相关文章:

  • pem文件如何使用(pem后缀文件)2026-03-26 22:00:10
  • git服务器端和客户端区别(git服务端口)2026-03-26 22:00:10
  • 服务器部署springboot项目(服务器部署springboot项目放哪个文件)2026-03-26 22:00:10
  • 服务器上部署模型(服务器部署软件步骤)2026-03-26 22:00:10
  • springboot在服务器上部署(springboot如何部署到tomcat服务器上)2026-03-26 22:00:10
  • onnx模型部署openvino 封装dll(onnx转openvino)2026-03-26 22:00:10
  • chrony服务器配置日志(chrony服务端口信息)2026-03-26 22:00:10
  • 前端埋点和后端埋点的区别(前端埋点技术是什么)2026-03-26 22:00:10
  • redis集群客户端连接ip配置(redis-cli集群连接)2026-03-26 22:00:10
  • 操作系统课后(操作系统课程讲解)2026-03-26 22:00:10
  • 全屏图片