---
title: OceanBase 数据库 V2.X 版本的磁盘故障检测原理 -OceanBase数据库使用指南
description: 了解OceanBase数据库在实际应用中关于OceanBase 数据库 V2.X 版本的磁盘故障检测原理 相关的常见问题和使用技巧，帮助您快速解决OceanBase 数据库 V2.X 版本的磁盘故障检测原理 的难题。
---
切换语言

- 中文站 - 简体中文
- International - English
- 日本站 - 日本語

划线反馈

# OceanBase 数据库 V2.X 版本的磁盘故障检测原理

更新时间：2023-11-14 03:16

适用版本： V2.1.x、V2.2.x 内容类型：TechNote  

本文主要介绍 OceanBase 数据库的磁盘故障检测逻辑。

## 适用版本

OceanBase 数据库 V2.X 版本

## 数据盘故障检测逻辑

对于写操作，如果在 1 分钟内出现 100 次失败，则 OceanBase 数据库会将数据盘标记为故障。

对于读操作，OceanBase 数据库会根据读操作超时次数进行以下操作：

- 默认读操作的超时时间为 5 秒，重试超时的时长计算方法为 `max{30,5*2`^n^`}`，其中 n 为重试次数。
 - 连续三次超时后，该台 OBServer 上的 Leader 会卸任，进入无主选举。卸任的 Leader 节点会被加入黑名单。有关 OceanBase 数据库选举黑名单相关的信息，请参见 [如何配置选举配置项 election_blacklist_interval](https://www.oceanbase.com/knowledge-base/oceanbase-database-20000000080)。 进入无主选举的检测时间为 `5 + 30 + 30 = 65` 秒。
 - 连续六次超时后，OceanBase 数据库会将数据盘标记为故障。

  数据盘被标记为故障的检测时间为 `5 + 30 + 30 + 40 + 80 + 160 = 345` 秒。

被标记为故障的磁盘所在的 OBServer 上所有的分区均不允许被选举为 Leader 副本，但该 OBSevrer 仍会参与投票。

## 日志盘故障检测逻辑

OceanBase 数据库 V2.X 版本日志盘使用 Linux Aio Write 写入，在有任意日志写入的情况下，无论任何原因出现停写时间超过 `10` 秒，OceanBase 数据库都会将故障日志盘所在的 OBServer 上的所有分区副本 Leader 切换到其他节点。

该行为由配置项 `_ob_clog_timeout_to_force_switch_leader` 控制，表示当 Clog 停写超过该配置项指定的值后，就会发生 Leader 卸任。默认为 `10` 秒，取值范围为`[0s,60m]`。

上一篇

[如何解决 Log out of disk space 问题](https://www.oceanbase.com/knowledge-base/oceanbase-database-1000000001092703)

下一篇

[OceanBase 数据库 V3.X 版本的磁盘故障检测原理](https://www.oceanbase.com/knowledge-base/oceanbase-database-20000011706) ![有帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*y6ocSqN8cqsAAAAAAAAAAAAAARQnAQ)![无帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*BG9IQJyLHF8AAAAAAAAAAAAAARQnAQ)![反馈](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*eTWdQKCRKHwAAAAAAAAAAAAAARQnAQ)[AI](https://www.oceanbase.com/obi) 咨询热线
