首批通过分布式安全可靠测评,为关键业务系统打造
迁移 OceanBase 租户 Unit
更新时间:2026-04-14 15:11:03
本节为您介绍如何进行 OceanBase 租户的 Unit 迁移。
应用场景
Unit 迁移指在单个 Zone 内部的不同 OBServer 节点之间移动 Unit 的位置,可以控制 OBServer 节点上的资源分配和副本分布。
Unit 迁移分为 Root Service 自动迁移和手动迁移两种模式。当自动迁移开启时,Root Service 会根据资源的分布情况自动迁移 Unit,可以保证 OBServer 节点之间资源的均衡,使用简单,不需要额外的操作,相关迁移原理详见下文 技术原理 部分。
在如下场景中,可以考虑关闭自动迁移,改为手动发起 Unit 迁移:
希望精确控制 OBServer 节点的资源分配。
当有 OBServer 节点出现异常时,控制补全副本的时机。
不希望 Unit 迁移影响应用流量。
说明
若您希望总是手动发起 Unit 迁移,可以参考如下方式关闭 Root Service 自动迁移:
- 当 OCP 为 V4.2.0 及以上版本时,进入 集群 > 资源管理 > Unit 分布 页面,关闭 自动迁移 开关。
- 当 OCP 为 V4.2.0 以下版本时,进入 集群 > 参数管理 页面,将
enable_rebalance参数值修改为false。
技术原理
Root Service 在检测到资源不均衡时,会自动发起 Unit 迁移,维持资源的均衡。这里的资源主要指 CPU 和内存资源。Root Service 会使用预先定义的资源占用率算法,计算出每个 OBServer 节点的资源占用率,并尝试不断迁移 Unit,使得迁移 Unit 完成后,各节点之间的资源占用率比迁移 Unit 前更小,即完成了资源单元的均衡。
server_balance_cpu_mem_tolerance_percent 配置项可以控制 Unit 均衡策略。该配置项为触发资源单元均衡的阈值,当某些节点的资源单元负载与平均负载的差值超过 server_balance_cpu_mem_tolerance_percent 设置的值时,开始调度均衡,直到所有节点的资源单元的负载与平均负载的差值都小于配置项 server_balance_cpu_mem_tolerance_percent 设置的值。
前提条件
请确保当前登录 OCP 的用户具备如下权限:
- 集群维护 资源权限。
- 集群 资源管理 菜单权限。
操作步骤
本节主要为您介绍如何手动发起 Unit 迁移。
发起 Unit 迁移。
进入 集群 > 资源管理 > Unit 分布 页面,点击需要迁移的 Unit,在弹窗中选择迁移目的端。

注意
迁移目的端需要在同一个 Zone 中,且有足够的资源,否则无法选择。
等待 Unit 迁移完成。
Unit 分布 页面中会展示迁移中的 Unit。
您也可以通过如下命令查询 Root Service 任务,查看 Unit 迁移的详细进度:
SELECT * FROM oceanbase.DBA_OB_UNIT_JOBS WHERE JOB_TYPE = 'MIGRATE_UNIT';