1.8. 使用 upmap 在 OSD 上手动重新平衡数据
				作为存储管理员,您可以通过将选定的放置组 (PG) 移到特定的 OSD,在 OSD 上手动重新平衡数据。要执行手动重新平衡,请关闭 Ceph Manager balancer 模块,并使用 upmap 模式来移动 PG。
			
先决条件
- 正在运行的红帽存储集群。
- 对存储集群中所有节点的根级别访问权限。
流程
- 确保 balancer 模块位于: - 示例 - Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 如果 balancer 模块没有列在 - always_on或- enabled模块中,则启用它:- 语法 - ceph mgr module enable balancer - ceph mgr module enable balancer- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
 
- 将负载均衡器模式设置为 - upmap:- 语法 - ceph balancer mode upmap - ceph balancer mode upmap- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 关闭 balancer 模块: - 语法 - ceph balancer off - ceph balancer off- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 检查负载均衡器状态: - 示例 - Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 为 OSD 设置 - norebalance标志:- 语法 - ceph osd set norebalance - ceph osd set norebalance- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 使用 - ceph pg dump pgs_brief命令列出存储集群中的池,各自消耗的空间。使用- grep搜索重新映射的池。- 示例 - Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 将 PG 移到您希望它们所在的 OSD。例如,将 PG 7.ac 从 OSD 8 和 3 移到 OSD 3 和 37: - 示例 - Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 注意- 重复此步骤,以每次移动每个重新 map 的 PG。 
- 再次使用 - ceph pg dump pgs_brief命令检查 PG 是否移至- active+clean状态:- 示例 - Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - PG 移至 - active+clean所需的时间取决于 PG 和 OSD 的数量。另外,错误放入的对象数量取决于为- mgr target_max_misplaced_ratio设置的值。为- target_max_misplaced_ratio设置了一个更高的值,则会导致大量错误替换的对象;因此,所有 PG 都需要较长的时间才能变为- active+clean。
- 取消设置 - norebalance标志:- 语法 - ceph osd unset norebalance - ceph osd unset norebalance- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 重新打开 balancer 模块: - 语法 - ceph balancer on - ceph balancer on- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
启用 balancer 模块后,它会逐渐根据存储集群的 CRUSH 规则将 PG 移到其预期的 OSD 中。平衡过程可能需要一些时间,但最终完成。