3.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 驱动器。