3.3.10. 放置组恢复状态
Ceph 设计为容错性,可以大规模地出现硬件和软件问题持续发展的问题。当 OSD 为 down
时,其内容可能落后于 PG 中其他副本的当前状态。当 OSD 变为 up
,必须更新放置组的内容,以反映当前状态。在该时间段内,OSD 可能会处于 recovering
状态。
恢复并非始终正常,因为硬件故障可能会导致多个 OSD 的级联故障。例如,一个 rack 或 cabinet 的网络交换机可能会失败,这可能会导致大量主机机器的 OSD 不在集群的当前状态后。在错误解决后,每个 OSD 必须恢复。
Ceph 提供了多个设置,用于在新服务请求和恢复数据对象之间平衡资源争用,并将放置组恢复到当前状态。osd recovery delay start
设置允许 OSD 重新启动、重复操作,甚至在开始恢复过程前处理一些重播请求。osd recovery threads
设置限制恢复过程的线程数量,默认为一个线程。osd 恢复线程超时设置线程
超时,因为多个 OSD 可能会失败,重启和重新执行速度为 staggered 率。osd 恢复 max active
设置限制了 OSD 同时进入的恢复请求数,以防止 OSD 无法提供。osd recovery max chunk
设置限制了恢复的数据块的大小,以防止网络拥塞。