ceph - 故障测试 [目标: 延时自动执行 RECOVERY]

本文主要介绍了Ceph故障测试的过程,包括故障恢复的条件和日志收集。重点讨论了osd_recovery_delay_start参数的修改,用于演示150分钟的osd恢复操作,并分析了mon_osd_down_out_interval参数对自动恢复的影响。最后,文章提到了如何永久修改ceph.conf配置,并验证了osd的当前配置和操作状态。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前提:

由于磁盘故障原因,  可能会导致  ceph osd 在晚上故障,  并自动完成数据迁移并自动修复功能
当早上执行更换硬盘操作后,  数据会重新再次迁移一次,
由于出现数据自动恢复功能,  会导致数恢复期间可能与用户使用数据高峰期重叠,  会导致用户 IO 抢夺

解决目的

避免 ceph 在故障时候自动执行 RECOVERY 功能
需要人工介入执行 RECOVERY 周期

ceph 故障恢复条件说明

1 ceph osd down
2 mon 无法获得 ceph osd heartbeat 信息标注 warning 信息,  并显示
3 五分钟后,  mon 标记该 ceph osd 为 out 状态
4 当标记 out 状态后,  ceph 执行自动 recovery 操作

日志记录收集

osd down, 从 mon 中, 我们可以马上对应获得信息 但不会标注为 out 状态, 因此没有执行相应的 recovery 操作

2017-08-15 17:22:30.299262 7fd537f8b700  1 mon.ceph-node81@0(leader).osd e535 e535: 14 osds: 11 up, 14 in

ceph -s 会获得对应报警信息

health HEALTH_WARN 209 pgs degraded; 75 pgs stuck unclean; 209 pgs undersized; recovery 38/165 objects degraded (23.030%); 3/14 in osds are down

当 mon 对对应的 osd 标注为 out 之后, 系统会自动执行 recovery 操作

<think>好的,用户现在遇到了在安装ceph-common时出现的依赖错误,需要解决。根据之前的对话,用户已经按照步骤添加了Ceph仓库并尝试安装,但遇到了多个依赖缺失的问题。现在需要分析错误信息,找出原因并提供解决方案。 首先,错误信息显示缺少多个共享库和Python版本。例如,libcrypto.so.10、libtcmalloc.so.4、liboath.so.0等,以及/usr/bin/python3.6。这些依赖项通常由特定的软件包提供。可能的原因包括系统版本较旧,或者所需的软件包未安装或不在当前启用的仓库中。 接下来,需要确定用户的系统版本。用户之前可能是在CentOS/RHEL 7上操作,因为错误信息中的el7.x86_64表明软件包是针对CentOS 7的。但用户的时间戳显示是2025年,可能需要考虑系统是否更新,或者是否使用了不兼容的仓库。 可能的解决方案包括: 1. 启用EPEL仓库:EPEL提供许多额外的软件包,可能包含缺失的依赖项。 2. 启用其他第三方仓库,如PowerTools或CRB,以获取更多软件包。 3. 安装特定版本的软件包,如较旧的OpenSSL或libtcmalloc。 4. 检查Ceph版本与系统版本的兼容性,可能需要使用适合旧系统的Ceph版本。 5. 考虑升级系统到较新的版本,如CentOS 8或RHEL 8,以支持更新的依赖项。 还需要考虑用户是否按照正确的步骤添加了Ceph仓库,或者是否存在仓库配置错误。此外,用户是否已经启用了必要的额外仓库,如EPEL,这可能会提供缺失的依赖。 另外,错误中提到的Python 3.6可能意味着系统默认的Python版本较旧,需要安装Python 3.6或更高版本,或者通过其他方式提供该解释器。 需要逐步引导用户检查仓库配置,安装必要的依赖包,或者调整安装的Ceph版本以匹配系统支持的依赖项。如果用户无法找到合适的软件包,可能需要手动编译或从其他来源获取,但这可能带来维护上的复杂性。 最后,如果所有方法都无法解决,可能需要建议用户升级操作系统或选择与系统兼容的Ceph版本,以确保依赖项能够被满足。</think>--- ### **问题分析** 你遇到的错误是由于 `ceph-common` 依赖的库(如 `libcrypto.so.10`、`libtcmalloc.so.4` 等)和 Python 3.6 未在系统中找到。这些依赖通常由以下原因导致: 1. **系统版本与 Ceph 版本不兼容**:例如在 CentOS 7 上安装较新版本的 Ceph(如 Pacific/Octopus)。 2. **缺少第三方仓库支持**:如 EPEL、PowerTools 等。 3. **依赖包未安装**:例如旧版 OpenSSL、Google 的 `gperftools` 等。 --- ### **解决方案** --- #### **1. 启用必要仓库** ##### **(1) 启用 EPEL 仓库** EPEL 仓库提供额外依赖包(如 `liboath`、`python3.6`): ```bash # CentOS/RHEL 7 sudo yum install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm ``` ##### **(2) 启用 PowerTools/CRB 仓库(CentOS 8/RHEL 8+)** 如果是 CentOS 8/RHEL 8 及以上系统
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Terry_Tsang

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值