ceph osd down 后恢复和再平衡概念详解
恢复和再平衡
在故障域内任何组件发生故障之后,在ceph将该OSD标记为down和out并初始化恢复操作前,默认情况下ceph会等待300秒。这个值可以在ceph集群的配置文件中通过参数 mon osd down out interval 进行修改。在恢复操作期间,ceph会重新组织发生故障的节点上受影响的数据。
crush会复制数据到多个磁盘,这些复制的数据在恢复的时候使用。在恢复期间crush试图移动尽量少的数据来构建一个新的集群布局,这样即使一些组件出现故障也能确保ceph的容错性。
当一个主机或磁盘添加到ceph集群中时,crush开始执行再平衡操作,在这个过程中,crush从现有主机/磁盘上移动数据到新的主机/磁盘。再平衡保证所有磁盘能均匀使用,以此提升集群性能和保持集群健康。例如,如果一个ceph集群包含2000个OSD,这时一个新的系统添加20个新的OSD,这样只有1%的数据会在再平衡期间移动,并且所有的OSD是并行地移动数据,使其迅速完成这个操作。然而对于利用率高的ceph集群,建议先将新添加的OSD的权重设为0,再逐渐增加权重到依据磁盘容量确定的更高的权重值。通过这种方式,新的OSD将减少ceph集群再平衡时的负载并避免性能下降。
使用 ceph-mon --show-config | grep down
可以查看配置文件中的配置。
超过3分之一的节点宕机后,ceph不会再平衡