14.3. 性能考虑
在添加或删除 Ceph OSD 节点时,以下因素通常会影响存储集群的性能:
- Ceph 客户端将负载放到 Ceph 的 I/O 接口上;也就是说,客户端会将负载放入池。池映射到 CRUSH 规则集。底层 CRUSH 层次结构允许 Ceph 在故障域之间放置数据。如果底层 Ceph OSD 节点涉及有高客户端负载的池,客户端负载可能会显著影响恢复时间和降低性能。因为写入操作需要数据复制才能进行持久性,特别是写入密集型客户端负载可能会增加存储集群的时间来恢复。
- 通常,添加或删除的容量会影响集群恢复的时间。另外,您添加或删除的节点的存储密度可能会影响恢复时间。例如,具有 36 个 OSD 的节点通常需要更长的时间来恢复具有 12 个 OSD 的节点。
-
移除节点时,您需要确保有足够的备用容量,以便您的系统不会达到
全满比率
或接近满
比率。如果存储集群达到全满比率
,Ceph 将挂起写操作以防止数据丢失。 - Ceph OSD 节点映射到至少一个 Ceph CRUSH 层次结构,层次结构则映射到至少一个池。在添加或删除 Ceph OSD 节点时,使用 CRUSH 规则集的每个池都会遇到性能影响。
-
复制池往往使用更多网络带宽来复制数据的深度副本,而纠删代码池则倾向于使用更多 CPU 来计算
k+m
编码区块。存在多个数据的副本,存储集群要恢复所需的时间。例如,一个大于k+m
块的大池或一个要比同一数据副本较少的复制池恢复的时间要更长。 - 驱动器、控制器和网络接口卡都有可能影响恢复时间的吞吐量特征。通常,具有更高吞吐量的节点(如 10 Gbps 和 SSD)可以比具有较低吞吐量的节点快速恢复,如 1 Gbps 和 SATA 驱动器。