29 Ceph Manager 模块 #
Ceph Manager 的体系结构(请参见第 1.2.3 节 “Ceph 节点和守护进程”中的简短介绍)允许您通过“仪表盘”(请参见第 I 部分 “Ceph Dashboard”)、“prometheus”(请参见第 16 章 “监控和告警”)或“平衡器”等扩展模块来扩展它的功能。
要列出所有可用的扩展模块,请运行:
cephuser@adm >
ceph mgr module ls
{
"enabled_modules": [
"restful",
"status"
],
"disabled_modules": [
"dashboard"
]
}
要启用或禁用特定扩展模块,请运行:
cephuser@adm >
ceph mgr module enable MODULE-NAME
例如:
cephuser@adm >
ceph mgr module disable dashboard
要列出已启用扩展模块所提供的服务,请运行:
cephuser@adm >
ceph mgr services
{
"dashboard": "http://myserver.com:7789/",
"restful": "https://myserver.com:8789/"
}
29.1 平衡器 #
平衡器扩展模块可优化各 OSD 之间的归置组 (PG) 分布,以实现更平衡的部署。尽管默认会激活该扩展模块,但它并不会处于工作状态。它支持 crush-compat
和 upmap
这两种模式。
要查看当前的平衡器状态和配置信息,请运行:
cephuser@adm >
ceph balancer status
29.1.1 “crush-compat”模式 #
在“crush-compat”模式下,平衡器会调整 OSD 的重设权重集,从而改进数据分布。它会将 PG 在 OSD 之间移动,因此会暂时出现由 PG 错放所导致的 HEALTH_WARN
集群状态。
尽管“crush-compat”为默认模式,但我们仍建议明确将其激活:
cephuser@adm >
ceph balancer mode crush-compat
29.1.2 数据平衡的规划和执行 #
您可以使用平衡器扩展模块创建数据平衡计划。随后,您可以手动执行该计划,或让平衡器持续平衡 PG。
要决定是以手动还是自动模式来运行平衡器,需要考虑诸如当前数据的不平衡情况、集群大小、PG 个数或 I/O 活动等多项因素。建议您选择在集群中的 I/O 负载较低时创建和执行初始计划。原因是初始的不平衡情况可能会非常严重,因此最好将对客户端的影响保持在较低程度。初始的手动运行完成后,建议您激活自动模式并监控正常 I/O 负载下的重新平衡流量。需要对照平衡器所导致的重新平衡流量来权衡 PG 分布的改进。
在平衡过程中,平衡器扩展模块会限制 PG 的移动,以便仅移动可配置的 PG 部分。该部分默认为 5%,您可通过运行以下命令调整该部分(例如,调整为 9%):
cephuser@adm >
ceph config set mgr target_max_misplaced_ratio .09
要创建和执行平衡计划,请执行以下步骤:
查看当前集群分数:
cephuser@adm >
ceph balancer eval创建计划,例如“great_plan”:
cephuser@adm >
ceph balancer optimize great_plan查看“great_plan”将引发的更改:
cephuser@adm >
ceph balancer show great_plan查看潜在的集群分数(如果您决定应用“great_plan”):
cephuser@adm >
ceph balancer eval great_plan执行“great_plan”一次:
cephuser@adm >
ceph balancer execute great_plan使用
ceph -s
命令观察集群平衡情况。如果您对结果满意,请激活自动平衡:cephuser@adm >
ceph balancer on如果您稍后决定停用自动平衡,请运行:
cephuser@adm >
ceph balancer off
您可以不执行初始计划,直接激活自动平衡。在此情况下,归置组的重新平衡用时可能会非常长。
29.2 启用遥测模块 #
遥测插件可发送有关运行它的集群的 Ceph 项目匿名数据。
此(选择性接受)组件包含有关集群部署方式、Ceph 版本、主机分布以及其他有助于项目更好地了解 Ceph 使用方式的参数的计数器和统计数据。它不包含任何诸如存储池名称、对象名称、对象内容或主机名等敏感数据。
遥测扩展模块用于为开发人员提供自动化反馈环,以帮助其量化采用率、跟踪情况,或指出为避免出现不良后果而需在配置期间以更佳方式进行解释或验证的内容。
遥测扩展模块需要 Ceph Manager 节点能够通过 HTTPS 将数据推送到上游服务器。请确保您的公司防火墙允许此操作。
要启用遥测扩展模块,请运行以下命令:
cephuser@adm >
ceph mgr module enable telemetry注意此命令只能让您在本地查看您的数据。它并不会将您的数据共享到 Ceph 社区。
要允许遥测扩展模块开始共享数据,请运行以下命令:
cephuser@adm >
ceph telemetry on要禁用遥测数据共享,请运行以下命令:
cephuser@adm >
ceph telemetry off要生成可打印的 JSON 报告,请运行以下命令:
cephuser@adm >
ceph telemetry show要向报告添加联系信息和描述,请运行以下命令:
cephuser@adm >
ceph config set mgr mgr/telemetry/contact John Doe john.doe@example.comcephuser@adm >
ceph config set mgr mgr/telemetry/description 'My first Ceph cluster'该扩展模块默认每 24 小时编译并发送一次新报告。要调整此间隔,请运行以下命令:
cephuser@adm >
ceph config set mgr mgr/telemetry/interval HOURS