Ceph入门到精通-Ceph Pacific 版本磁盘预测模块

2023-12-16 17:12

本文主要是介绍Ceph入门到精通-Ceph Pacific 版本磁盘预测模块,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

磁盘预测模块利用 Ceph 设备运行状况检查来收集磁盘运行状况指标,并使用内部预测器模块生成磁盘故障预测并返回到 Ceph。它不需要任何外部服务器进行数据分析和输出结果。其内部预测器的准确率约为70%。

1. 启用

运行以下命令以在 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 <device id>

2. 配置

默认情况下,该模块每天执行预测。您可以使用以下命令调整此间隔:

ceph config set mgr mgr/diskprediction_local/predict_interval <interval-in-seconds>

~# ceph config get mgr mgr/diskprediction_local/predict_interval
86400  # 默认1天

3. 调试

如果要调试磁盘预测模块映射到 Ceph 日志记录级别,请使用以下命令。

[mgr]

    debug mgr = 20

将日志记录设置为管理器的调试后,模块将打印出带有前缀 mgr[diskprediction] 的日志记录消息,以便于过滤。

4. 启用设备监控

Ceph 还可以监控与您的设备关联的运行状况指标。例如,SATA 硬盘实现一种称为 SMART 的标准,该标准提供有关设备使用情况和运行状况的各种内部指标,例如开机小时数、电源周期数或不可恢复的读取错误。其他设备类型(如 SAS 和 NVMe)实现了一组类似的指标(通过略有不同的标准)。所有这些都可以由 Ceph 通过 smartctl 工具收集。

您可以使用以下方法启用或禁用运行状况监控:

ceph device monitoring on

或者:

ceph device monitoring off

4.1 指标抓取

如果启用了监控,将定期自动抓取指标。该间隔可以配置为:

ceph config set mgr mgr/devicehealth/scrape_frequency <seconds>

默认设置是每 24 小时抓取一次。

您可以使用以下方法手动触发所有设备的抓取:

ceph device scrape-health-metrics

可以使用以下方法抓取单个设备:

ceph device scrape-health-metrics <device-id>

或者可以使用以下方法抓取单个守护程序的设备:

ceph device scrape-daemon-health-metrics <who>

可以使用以下命令检索设备存储的运行状况指标(可选择特定时间戳):

ceph device get-health-metrics <devid> [sample-timestamp]

4.2 故障预测

Ceph 可以根据收集的健康指标预测预期寿命和设备故障。有2种模式:

  none:禁用设备故障预测。
  local:使用来自 Ceph-MGR 守护程序的预训练预测模型

预测模式可以配置为:

ceph config set mgr device_failure_prediction_mode <mode>

预测通常在后台定期运行,因此可能需要一些时间才能填充预期寿命值。您可以在以下输出中查看所有设备的预期寿命:

ceph device ls

您还可以使用以下方法查询特定设备的元数据:

ceph device info <devid>

您可以使用以下方法显式强制预测设备的预期寿命:

ceph device predict-life-expectancy <devid>

如果您没有使用 Ceph 的内部设备故障预测,但有一些关于设备故障的外部信息源,则可以通过以下方式通知 Ceph 设备的预期寿命:

ceph device set-life-expectancy <devid> <from> [<to>]

预期寿命表示为时间间隔,因此不确定性可以用宽间隔的形式表示。间隔结束也可以不指定。

4.3 健康警报

mgr/devicehealth/warn_threshold 控制在生成运行状况警告之前,预期设备故障必须多久发生。

~# ceph config get mgr mgr/devicehealth/warn_threshold
7257600  # 默认84天

可以通过以下方式检查所有设备的预期寿命,并生成任何适当的运行状况警报:

ceph device check-health

4.4 自动故障隔离

如果启用了 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

这篇关于Ceph入门到精通-Ceph Pacific 版本磁盘预测模块的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/501240

相关文章

Python的Darts库实现时间序列预测

《Python的Darts库实现时间序列预测》Darts一个集统计、机器学习与深度学习模型于一体的Python时间序列预测库,本文主要介绍了Python的Darts库实现时间序列预测,感兴趣的可以了解... 目录目录一、什么是 Darts?二、安装与基本配置安装 Darts导入基础模块三、时间序列数据结构与

Python一次性将指定版本所有包上传PyPI镜像解决方案

《Python一次性将指定版本所有包上传PyPI镜像解决方案》本文主要介绍了一个安全、完整、可离线部署的解决方案,用于一次性准备指定Python版本的所有包,然后导出到内网环境,感兴趣的小伙伴可以跟随... 目录为什么需要这个方案完整解决方案1. 项目目录结构2. 创建智能下载脚本3. 创建包清单生成脚本4

Python中logging模块用法示例总结

《Python中logging模块用法示例总结》在Python中logging模块是一个强大的日志记录工具,它允许用户将程序运行期间产生的日志信息输出到控制台或者写入到文件中,:本文主要介绍Pyt... 目录前言一. 基本使用1. 五种日志等级2.  设置报告等级3. 自定义格式4. C语言风格的格式化方法

从入门到精通详解Python虚拟环境完全指南

《从入门到精通详解Python虚拟环境完全指南》Python虚拟环境是一个独立的Python运行环境,它允许你为不同的项目创建隔离的Python环境,下面小编就来和大家详细介绍一下吧... 目录什么是python虚拟环境一、使用venv创建和管理虚拟环境1.1 创建虚拟环境1.2 激活虚拟环境1.3 验证虚

Ubuntu如何升级Python版本

《Ubuntu如何升级Python版本》Ubuntu22.04Docker中,安装Python3.11后,使用update-alternatives设置为默认版本,最后用python3-V验证... 目China编程录问题描述前提环境解决方法总结问题描述Ubuntu22.04系统自带python3.10,想升级

Python 基于http.server模块实现简单http服务的代码举例

《Python基于http.server模块实现简单http服务的代码举例》Pythonhttp.server模块通过继承BaseHTTPRequestHandler处理HTTP请求,使用Threa... 目录测试环境代码实现相关介绍模块简介类及相关函数简介参考链接测试环境win11专业版python

Java List 使用举例(从入门到精通)

《JavaList使用举例(从入门到精通)》本文系统讲解JavaList,涵盖基础概念、核心特性、常用实现(如ArrayList、LinkedList)及性能对比,介绍创建、操作、遍历方法,结合实... 目录一、List 基础概念1.1 什么是 List?1.2 List 的核心特性1.3 List 家族成

Nginx添加内置模块过程

《Nginx添加内置模块过程》文章指导如何检查并添加Nginx的with-http_gzip_static模块:确认该模块未默认安装后,需下载同版本源码重新编译,备份替换原有二进制文件,最后重启服务验... 目录1、查看Nginx已编辑的模块2、Nginx官网查看内置模块3、停止Nginx服务4、Nginx

python urllib模块使用操作方法

《pythonurllib模块使用操作方法》Python提供了多个库用于处理URL,常用的有urllib、requests和urlparse(Python3中为urllib.parse),下面是这些... 目录URL 处理库urllib 模块requests 库urlparse 和 urljoin编码和解码

c++日志库log4cplus快速入门小结

《c++日志库log4cplus快速入门小结》文章浏览阅读1.1w次,点赞9次,收藏44次。本文介绍Log4cplus,一种适用于C++的线程安全日志记录API,提供灵活的日志管理和配置控制。文章涵盖... 目录简介日志等级配置文件使用关于初始化使用示例总结参考资料简介log4j 用于Java,log4c