---
title: 集群替换机器时卡住报错 4624 的原因和解决方法-OceanBase数据库使用指南
description: 了解OceanBase数据库在实际应用中关于集群替换机器时卡住报错 4624 的原因和解决方法相关的常见问题和使用技巧，帮助您快速解决集群替换机器时卡住报错 4624 的原因和解决方法的难题。
---
切换语言

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

划线反馈

# 集群替换机器时卡住报错 4624 的原因和解决方法

更新时间：2026-07-02 15:41

适用版本： V3.1.x、V3.2.x 内容类型：Troubleshoot  

## 问题现象

OceanBase 数据库 3-3-3 集群需要将 zone2 下的 109 节点替换为新的机器。在 zone2 成功添加 50 节点后，delete 109 节点卡住。如下为 `oceanabse.__all_server` 查询结果，可以看到 109 节点状态为 deleting。

![image01](https://obbusiness-private.oss-cn-shanghai.aliyuncs.com/doc/img/knowledge-base/database/cluster-management/20250606cluster-stuck-when-replacing-machines-error-462401.png)

Root Service 日志信息如下，可以看到 `required_size` 是 1952 GB（2096566894592/1024/1024/1024），报错 `[errcode=-4624] no server has enough resource to hold the unit`。

```shell
rootservice.log:[2024-08-30 11:08:31.029686] INFO  [RS] ob_unit_manager.cpp:4608 [1185400][0][xxxxx-xxxxx-xxxxx-xxxxx] [lt=3] [dc=0] server total size no bigger than required size(required_size=2096566894592, total_size=1898620911616, unit_stat={unit_id:1001, required_size:2096560603136, partition_cnt:23053}, status.resource_info_={cpu:"1.580000000000000000e+02", mem_in_use:0, mem_total:674867583385, disk_in_use:6291456, disk_total:1898620911616, partition_cnt:0, report_cpu_assigned:"0.000000000000000000e+00", report_cpu_max_assigned:"0.000000000000000000e+00", report_mem_assigned:0, report_mem_max_assigned:0})
rootservice.log:[2024-08-30 11:08:31.029697] WDIAG ob_unit_placement_strategy.cpp:123 [1185400][0][xxxxx-xxxxx-xxxxx-xxxxx] [lt=4] [dc=0][errcode=-4624]  machine resource 'zone2' is not enough to hold a new unit
rootservice.log:[2024-08-30 11:08:31.029708] WDIAG [RS] ob_unit_placement_strategy.cpp:124 [1185400][0][xxxxx-xxxxx-xxxxx-xxxxx] [lt=5] [dc=0][errcode=-4624] no server has enough resource to hold the unit(ret=-4624, unit_config={unit_config_id:1001, name:"config_REP_ZJCRM_zone2_UxxxCxxxG_sjd", max_cpu:"1.400000000000000000e+02", min_cpu:"1.400000000000000000e+02", max_memory:536870912000, min_memory:536870912000, max_disk_size:536870912000, max_iops:5000, min_iops:128, max_session_num:75}, servers=[])

```

## 关键信息

将机器 `xx.xx.xx.109`（磁盘大小 1768 GB）替换为同等规格的机器 `xx.xx.xx.50`（磁盘大小 1768 GB）为什么会报磁盘不足？ 是因为多版本数据导致汇报到 `oceanbase.__all_virtual_meta_table.required_size` 偏大。 而通过合并可以消除多版本数据，所以可以手动触发合并后再替换机器。

## 问题原因

通过 `oceanbase.__all_virtual_disk_stat` 查询结果，新机器 `xx.xx.xx.50` 磁盘大小是 1768 GB。

```shell
+----------------+-------------------+-------------------+-------------------+--------------+
| svr_ip         | total_G           | free_G            | used_G            | used_percent |
+----------------+-------------------+-------------------+-------------------+--------------+
|   xx.xx.xx.49  | 1768.246093750000 |  737.769531250000 | 1030.476562500000 | 58.28%       |
|   xx.xx.xx.109 | 1768.246093750000 |  787.507812500000 |  980.738281250000 | 55.46%       |
|   xx.xx.xx.35  | 1768.246093750000 |  813.060546875000 |  955.185546875000 | 54.02%       |
|   xx.xx.xx.50  | 1768.228515625000 | 1768.218750000000 |    0.009765625000 | 0.00%        |
|   xx.xx.xx.11  | 1768.246093750000 |  753.220703125000 | 1015.025390625000 | 57.40%       |
|   xx.xx.xx.12  | 1768.246093750000 |  698.248046875000 | 1069.998046875000 | 60.51%       |
|   xx.xx.xx.28  | 1768.246093750000 |  684.115234375000 | 1084.130859375000 | 61.31%       |
|   xx.xx.xx.23  | 1768.246093750000 |  772.750000000000 |  995.496093750000 | 56.30%       |
|   xx.xx.xx.22  | 1768.246093750000 |  688.146484375000 | 1080.099609375000 | 61.08%       |
|   xx.xx.xx.16  | 1768.246093750000 |  782.113281250000 |  986.132812500000 | 55.77%       |
+----------------+-------------------+-------------------+-------------------+--------------+

```

查询 `oceanbase.__all_virtual_meta_table` 表统计的 unit 上分区 `required_size` 总和确实为 1958 GB，比此节点的磁盘 1768 GB 还大，所以报错。

![image02](https://obbusiness-private.oss-cn-shanghai.aliyuncs.com/doc/img/knowledge-base/database/cluster-management/20250606cluster-stuck-when-replacing-machines-error-462402.png)

## 问题的风险及影响

通过 `oceanbase.__all_virtual_meta_table.required_size` 查询显示的磁盘空间比实际空间偏大。

## 适用版本

OceanBase 数据库 V3.x 版本。

## 解决方法

手动触发合并，消除多版本数据，然后再替换机器。

## 规避方式

替换机器前通过 `oceanbase.__all_virtual_meta_table.required_size` 检查新机器所需磁盘空间大小，如有需要可以做次合并。

上一篇

[OceanBase 数据库 V4.2.1 BP5 升级到 V4.2.1 BP7 版本卡在 Execute upgrade post script 的原因及解决方法](https://www.oceanbase.com/knowledge-base/oceanbase-database-1000000003187314)

下一篇

[OceanBase 数据库社区版 V4.x 弹性扩缩容](https://www.oceanbase.com/knowledge-base/oceanbase-database-1000000002885630) ![有帮助](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) 咨询热线
