---
title: OCP 中 add server 在 Run io calibration 阶段报错 -4016，Internal error 的原因和解决方法-OceanBase数据库使用指南
description: 了解OceanBase数据库在实际应用中关于 OCP 中 add server 在 Run io calibration 阶段报错 -4016，Internal error 的原因和解决方法相关的常见问题和使用技巧，帮助您快速解决 OCP 中 add server 在 Run io calibration 阶段报错 -4016，Internal error 的原因和解决方法的难题。
---
切换语言

- 简体中文
- English

划线反馈

# OCP 中 add server 在 Run io calibration 阶段报错 -4016，Internal error 的原因和解决方法

更新时间：2024-11-12 08:16

适用版本： V1.4.x、V2.1.x、V2.2.x、V3.1.x、V3.2.x、V4.0.x、V4.1.x、V4.2.x、V4.3.x 内容类型：Troubleshoot  

## 问题现象

1-1-1 集群出现某节点磁盘故障并格式化，需要重装或者替换 OBServer 节点修复，OCP 重装节点时报错 `-4016，Internal error`，如下图所示。

![image001](https://obbusiness-private.oss-cn-shanghai.aliyuncs.com/doc/img/ocp/20241018ocpaddserver001.png)

手动 add server 可复现，OCP 界面失败任务日志中可获取 trace_id，过滤 observer.log：server id maybe invalid，如下图所示。

![image002](https://obbusiness-private.oss-cn-shanghai.aliyuncs.com/doc/img/ocp/20241018ocpaddserver002.png)

## 问题原因

内核频繁重试任务，导致该集群的 `MAX_USED_SERVER_ID` 被异常推高越过 SQL 层限制的 `MAX_SERVER_ID`，导致 OCP 添加节点 add_server 后无法建立连接查询 SQL，最终 OCP 添加节点失败。

## 适用版本

OceanBase 数据库 V4.3.3 GA（oceanbase-4.3.3.0-100000362024093001）之前所有版本。

## 解决方法

手动修改系统表重置 server_id。

1. 在集群其他节点查看 server_id 的值。

   ```shell
   grep 'server_id' observer.log

   ```
 2. 登录 sys 租户操作，更新 value 值比步骤 1 中获取的 server_id 值大即可。

   ```shell
   update __all_sys_stat set value=10 where name='ob_max_used_server_id';

   ```

   #### 警告

   更新内部表 `__all_sys_stat` 存在风险，请勿自行操作。如果需要修改，请咨询 OceanBase 技术支持。。

Previous

[重启 OBServer 失败报错 -4013](https://www.oceanbase.com/knowledge-base/oceanbase-database-1000000002075657)

Next

[更换低电量的主板电池导致 observer 节点无法拉起](https://www.oceanbase.com/knowledge-base/oceanbase-database-1000000005434912) ![有帮助](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) 咨询热线
