3.3. 性能考虑
在添加或删除 Ceph OSD 节点时,以下因素通常对存储集群的性能有影响:
在受影响的池中载入当前客户端:
Ceph 客户端将负载放在 Ceph 的 I/O 接口上;即,对池的负载。池映射到 CRUSH 规则集。底层 CRUSH 层次结构允许 Ceph 在故障域之间放置数据。如果底层 Ceph OSD 节点在较高的客户端负载中涉及一个池,客户端负载可能会对恢复时间造成重大影响,并影响性能。更具体地说,因为写操作需要数据复制才能实现持久性,写入密集型客户端负载将会增加存储集群恢复的时间。
容量添加或 Removed:
通常,作为整体集群添加或删除的容量会对存储集群进行恢复的影响。此外,您添加或删除的节点的存储密度可能会对恢复时间造成影响。例如,与具有 36 个 OSD 的节点恢复通常要更长的时间,与具有 12 个 OSD 的节点恢复通常要更长的时间。删除节点时,MUST 确保有足够的备用容量,以便不会达到 满比率
或 接近全满比率
。如果存储集群达到 全满比率
,Ceph 将暂停写操作以防止数据丢失。
池和 CRUSH 规则集:
Ceph OSD 节点映射到至少一个 Ceph CRUSH 层次结构,层次结构则映射到至少一个池。使用 CRUSH 层次结构(ruleset)的每个池,添加或删除 Ceph OSD 节点都会遇到性能影响。
池类型和持久性:
复制池通常使用更多的网络带宽来复制数据的深度副本,而纠删代码池则往往使用更多 CPU 来计算 k+m
编码区块。数据副本数越多,例如大小或更多 k+m
块,存储集群需要更长的时间才能恢复。
吞吐量主要特征:
驱动器、控制器和网络接口卡都有可能影响恢复时间的吞吐量特征。通常,具有更高吞吐量特征的节点,例如,10 Gbps 和 SSD 将比低吞吐量特性的节点更快地恢复,如 1 Gbps 和 SATA 驱动器。