2.3 纵向扩展Ceph集群—添加monitor和OSD
现在,我们有了一个单节点的Ceph集群。我们应该扩展它,让它成为一个分布式的、可靠的存储集群。要纵向扩展这个Ceph集群,我们应该添加更多的monitor节点和OSD。根据前面的计划,我们将把ceph-node2和ceph-node3机器同时作为monitor和OSD节点加入到集群中。
2.3.1 添加Ceph monitor
Ceph存储集群需要最少一个monitor处于运行状态。要提供高可用性,则需要大于1的奇数个monitor,例如3或者5个,以形成仲裁(quorum)。它使用Paxos算法维护多数仲裁。因为我们已经有了一个monitor运行在ceph-node1上,所以我们还需要在Ceph集群中创建两个monitor。
1)我们可能需要调整防火墙规则,使得Ceph monitor节点之间能够通信,以便它们能够形成仲裁。因为我们只是实验性部署,所以可以关闭所有三个节点上的防火墙。我们将在ceph-node1上运行以下命令(除非有特别指明):
2)在ceph-node2和ceph-node3上部署monitor:
3)部署操作应该会成功完成;可以在Ceph状态中检查新增的monitor:
4)你可能会在新的monitor节点上遇到与时钟相关的警告消息。要消除这些告警,需要在新的monitor节点上设置NTP(Network Time Protocol,网络时间协议)。
2.3.2 添加Ceph OSD
至此,我们已经有了一个包含3个monitor节点的Ceph集群。现在我们将继续扩展集群,添加更多的OSD节点。要完成这个任务,我们在ceph-node1机器上执行下列命令(除非特别指明)。
我们将使用与本章总前面相同的方法添加OSD。
检查集群中新增OSD的状态。在这个阶段,集群状态应该已经变成健康,其中包含9个处于in和up状态的OSD。
总结
Ceph的软件定义性质为其使用者提供了极大的灵活性。不像其他专有存储系统都依赖于硬件,Ceph几乎可以在如今任何计算机系统上轻松地进行部署和测试。此外,如果没有物理机器,你可以使用虚拟机安装Ceph,正如这一章所讲述的,但牢记这应该只用于测试目的。
在这一章,我们学习了如何使用 VirtualBox软件创建一组虚拟机,随后在其上使用ceph-deploy工具部署一个三节点的Ceph群集。我们也增加了几个OSD和monitor节点到集群中,以展示其动态的可伸缩性。我们建议你使用本章提到的指令部署自己的Ceph集群。下一章将探讨Ceph的架构及其核心部件,并详细说明它们之间如何相互作用,彼此形成群集。