ceph官方文档:https://docs.ceph.com/en/latest/
本次搭建用到的测试机器,规划如下:
解下来在所有节点完成下面的准备工作
- 关闭防火墙、selinux、禁用swap
在部署 Ceph 集群时,建议将所有节点的交换分区(swap)禁用或调整到最小值。这是因为 Ceph 对于节点内存的需求较高,如果系统中开启了 swap 分区,那么当内存不足时,系统会将一些内存数据转储到 swap 中,这会导致性能下降和系统不稳定。因此,禁用或调整 swap 分区大小可以确保系统有足够的内存来支持 Ceph 的正常运行和性能。
- 配置阿里云yum源
- 安装epel
- 安装docker
- 安装lvm2、python3、ntp
- 在每个节点安装Cephadm和ceph工具包
- 在第一个节点(ceph-node01)上,初始化Ceph集群和创建OSD
在创建完成后,您将看到输出中显示的管理员账号和密码,可以使用浏览器登录到web管理页面。
查看集群状态:
可以看到ceph集群已经有一个节点ceph-node01,它担任了mon、mgr的角色,在我的规划中,也是要让ceph-node01节点作为osd角色的,它的osd数量目前为0,接下来我们在ceph-node01上创建osd
- 将另外2个节点添加到集群和创建OSD(在ceph-node01节点上操作)
ceph-node02和ceph-node03加入ceph集群后,会自动将任何可用和未使用的存储设备作为osd盘
当然也可以手动指定从特定主机上的特定设备创建OSD,命令如下:
至此,ceph集群已经搭建完成。
- 完成后,查看集群状态、osd状态、集群使用情况
登录ceph web管理页面看看:
- 关于时间同步 在 Ceph 集群中,每台节点的时间同步非常重要,因为 Ceph 集群的各个组件都需要严格的时间同步才能正常运行。以下是一些重要原因:
- 避免数据不一致:Ceph 集群中的数据副本分布在不同的节点上,如果节点之间的时间不同步,可能会导致写操作的数据不一致,或者无法正确地读取数据。
- 避免时钟漂移:由于硬件和软件的原因,每个节点的时钟可能会出现漂移。如果这种漂移超过了一定的阈值,可能会导致 Ceph 系统无法正常工作。
- 避免锁竞争问题:Ceph 集群中的许多组件都使用锁来控制访问资源的顺序。如果节点之间的时间差异太大,可能会导致锁竞争问题,从而影响系统的性能。
因此,确保每台节点的时间同步是 Ceph 集群稳定性和可靠性的重要保证。可以通过使用 NTP(网络时间协议)或其他时间同步工具来实现时间同步。在本次搭建中,同步的是公网阿里云的时间服务器。需要注意的是,如果在生产环境,还要配置定期能够自动同步,本次只是测试,所以就不配置了,如果是生产环境且不能出外网的机器,还要确保本地有NTP服务器。
- 关于mon节点的数量
一个典型的 Ceph 集群官方建议部署3个或5个监控守护进程(MON),分布在不同的主机上。因为 MON 负责维护 Ceph 集群的状态信息,包括存储池和 OSD 的映射关系、客户端的连接信息等,它们需要进行定期的状态信息交换和协调。如果某个 MON 发生故障,那么其他的 MON 可以协同工作来维护集群的状态信息。一般来说,部署更多的 MON 可以提高集群的可靠性和容错性,因为它们可以更好地协同工作来维护集群的状态信息。同时,部署更多的 MON 还可以提高集群的性能,因为它们可以更好地分担状态信息交换的负载。
建议在 Ceph 集群中至少部署五个或更多的 MON,以提高集群的可靠性、容错性和性能。
本文转载于WX公众号:不背锅运维(喜欢的盆友关注我们):https://mp.weixin.qq.com/s/YzuaRf2ZABFIU7Wkyro4vw
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/bian-cheng-ri-ji/50338.html