磁盘预测模块利用 Ceph 设备运行状况检查来收集磁盘运行状况指标,并使用内部预测器模块生成磁盘故障预测并返回到 Ceph。它不需要任何外部服务器进行数据分析和输出结果。其内部预测器的准确率约为70%。
运行以下命令以在 Ceph 环境中启用diskprediction_local模块:
ceph mgr module enable diskprediction_local
要启用本地预测变量,请执行以下操作:
ceph config set mgr device_failure_prediction_mode local
要禁用预测,请执行以下操作:
ceph config set mgr device_failure_prediction_mode none
diskprediction_local需要至少六个设备运行状况指标数据集来预测设备的使用寿命。并且,仅当启用了运行状况监视时,才会收集这些运行状况指标。
运行以下命令以检索给定设备的预期寿命。
ceph device predict-life-expectancy
默认情况下,该模块每天执行预测。您可以使用以下命令调整此间隔:
ceph config set mgr mgr/diskprediction_local/predict_interval
~# ceph config get mgr mgr/diskprediction_local/predict_interval
86400 # 默认1天
如果要调试磁盘预测模块映射到 Ceph 日志记录级别,请使用以下命令。
[mgr]
debug mgr = 20
将日志记录设置为管理器的调试后,模块将打印出带有前缀 mgr[diskprediction] 的日志记录消息,以便于过滤。
Ceph 还可以监控与您的设备关联的运行状况指标。例如,SATA 硬盘实现一种称为 SMART 的标准,该标准提供有关设备使用情况和运行状况的各种内部指标,例如开机小时数、电源周期数或不可恢复的读取错误。其他设备类型(如 SAS 和 NVMe)实现了一组类似的指标(通过略有不同的标准)。所有这些都可以由 Ceph 通过 smartctl 工具收集。
您可以使用以下方法启用或禁用运行状况监控:
ceph device monitoring on
或者:
ceph device monitoring off
如果启用了监控,将定期自动抓取指标。该间隔可以配置为:
ceph config set mgr mgr/devicehealth/scrape_frequency
默认设置是每 24 小时抓取一次。
您可以使用以下方法手动触发所有设备的抓取:
ceph device scrape-health-metrics
可以使用以下方法抓取单个设备:
ceph device scrape-health-metrics
或者可以使用以下方法抓取单个守护程序的设备:
ceph device scrape-daemon-health-metrics
可以使用以下命令检索设备存储的运行状况指标(可选择特定时间戳):
ceph device get-health-metrics
Ceph 可以根据收集的健康指标预测预期寿命和设备故障。有2种模式:
none:禁用设备故障预测。
local:使用来自 Ceph-MGR 守护程序的预训练预测模型
预测模式可以配置为:
ceph config set mgr device_failure_prediction_mode
预测通常在后台定期运行,因此可能需要一些时间才能填充预期寿命值。您可以在以下输出中查看所有设备的预期寿命:
ceph device ls
您还可以使用以下方法查询特定设备的元数据:
ceph device info
您可以使用以下方法显式强制预测设备的预期寿命:
ceph device predict-life-expectancy
如果您没有使用 Ceph 的内部设备故障预测,但有一些关于设备故障的外部信息源,则可以通过以下方式通知 Ceph 设备的预期寿命:
ceph device set-life-expectancy
预期寿命表示为时间间隔,因此不确定性可以用宽间隔的形式表示。间隔结束也可以不指定。
mgr/devicehealth/warn_threshold 控制在生成运行状况警告之前,预期设备故障必须多久发生。
~# ceph config get mgr mgr/devicehealth/warn_threshold
7257600 # 默认84天
可以通过以下方式检查所有设备的预期寿命,并生成任何适当的运行状况警报:
ceph device check-health
如果启用了 mgr/devicehealth/self_heal 选项(默认情况下),则对于预计很快会发生故障的设备,模块将通过将设备标记为“out”来自动将数据从它们中迁移出去。
mgr/devicehealth/mark_out_threshold 控制在自动将 osd 标记为“out”之前,预期设备故障必须多久发生。
默认:
~# ceph config get mgr mgr/devicehealth/self_heal
true
~# ceph config get mgr mgr/devicehealth/mark_out_threshold
2419200 # 默认28天
禁用自动隔离:
ceph config set mgr mgr/devicehealth/self_heal false
https://www.cnblogs.com/varden/p/17347121.html?share_token=4cca94e8-fc6e-4701-9335-4da80a83f09a