基于湖库一体架构,统一管理结构化、半结构化与非结构化等多模态数据,一个系统承载事务处理、实时分析与 AI 工作负载。
OBServer 服务器扩容 CPU/Memory/磁盘后,如何同步生效至 OceanBase 集群
更新时间:2026-07-17 07:16
在分布式数据库中,扩容(Scaling)是指通过增加系统资源来提升系统处理能力,通常是增加计算资源、存储资源或者网络带宽等等。对于 OceanBase 集群来说,扩容主要是通过增加节点来提升集群的处理能力,从而满足业务需求。 目前 OceanBase 集群的扩容方式主要有以下两类:
水平扩容(Horizontal Scaling): 增加新的计算节点或存储节点,以提升集群的吞吐能力和数据存储能力。
垂直扩容(Vertical Scaling): 升级现有节点的硬件配置,如增加 CPU、内存或磁盘空间。
本文主要介绍在实际生产和测试环境中,对用户部署 OBServer 的物理机/虚拟机进行 CPU/Memory/磁盘扩容后,如何将该硬件层面的扩容操作同步生效到对应的 OceanBase 集群上。
详细说明
CPU 扩容
步骤一): 首先通过
lscpu命令确认 CPU 扩容操作已经在操作系统层面生效了。步骤二): 登陆 OCP Web 管控平台,进入到该 OceanBase 集群的【概览】页面,点击右上角的【...】->【重启集群】,轮转重启对应的 OceanBase 集群,如下图所示。

备注一:如果在步骤一的扩容操作中已经重启过对应的 OBServer 服务器了,则这一步可以安全跳过。
备注二:如果只是扩容了某一台 OBServer 服务器,可以只重启对应的 OBServer 服务器,或者该服务器所在的 Zone,如下图所示。

步骤三): 更新对应的集群级别参数值
cpu_count。如果扩容前的
cpu_count=0,可以直接跳过这一步。如果扩容前的
cpu_count=NNN(某一个具体的非 0 数值),需要通过 OCP Web 管控平台的对应 OceanBase 集群主页的【参数管理】页面或者黑屏手工更新集群级别的cpu_count参数(如果只是扩容了某一台 OBServer 服务器,只需要修改对应 OBServer 的cpu_count),如下图所示。
黑屏连接至
root@sys租户后执行如下命令:-- 检查当前的设置 MySQL [oceanbase]> show parameters like 'cpu_count'; -- 更新 cpu_count 的个数,实际更新值以扩容后的 CPU 核数为准 MySQL [oceanbase]> alter system set cpu_count=xxx; -- 仅更新某个 OBServer 上的 cpu_count 的个数,实际更新值以扩容后的 CPU 核数为准 MySQL [oceanbase]> alter system set cpu_count=xxx server="xxx.xxx.xxxx.xxx:2882";
步骤四): 进入 OCP Web 管控平台的对应 OceanBase 集群主页的【资源管理】页面,检查对应的 CPU 扩容操作是否已经在 OBServer 服务器上生效了。

Memory 扩容
步骤一): 首先通过
free -h命令确认 Memory 扩容操作已经在操作系统层面生效了。步骤二): 登陆 OCP Web 管控平台,进入到该 OceanBase 集群的【概览】页面,点击右上角的【...】->【重启集群】,轮转重启对应的 OceanBase 集群。
备注一:如果在步骤一中扩容操作中已经重启过对应的 OBServer 服务器了,则这一步可以安全跳过。
备注二:如果只是扩容了某一台 OBServer 服务器,可以只重启对应的 OBServer 服务器,或者该服务器所在的 Zone。
步骤三): 更新对应的集群级别参数值
memory_limit或者memory_limit_percentage。如果扩容前的
memory_limit='0M',可以直接跳过这一步。如果扩容前的
memory_limit='NNNG'(某一个具体的非 0 数值),需要通过 OCP Web 管控平台的对应OB集群主页的【参数管理】页面或者黑屏手工更新集群级别的memory_limit参数(如果只是扩容了某一台 OBServer 服务器,只需要修改对应 OBServer 的memory_limit)。黑屏连接到
root@sys租户后执行如下命令:-- 检查当前的设置 MySQL [oceanbase]> show parameters like 'memory_limit'; -- 更新 memory_limit 的取值,实际更新值以扩容后的内存大小为准 MySQL [oceanbase]> alter system set memory_limit='xxxG'; -- 仅更新某个 OBServer 上的 memory_limit 的取值,实际更新值以扩容后的内存大小为准 MySQL [oceanbase]> alter system set memory_limit='xxxG' server="xxx.xxx.xxxx.xxx:2882";
步骤四): 进入 OCP Web 管控平台的对应 OceanBase 集群主页的【资源管理】页面,检查对应的 Memory 扩容操作是否已经在 OBServer 服务器上生效了。
Data 数据盘扩容
步骤一): 首先通过
df -Th命令确认磁盘扩容操作已经在文件系统层面生效了。-- 如果使用了 LVM 来进行的磁盘卷管理,可以执行 lvresize 来进行文件系统扩容 lvresize --resizefs -L+5120G /dev/mapper/datastore-ob--data -- 检查文件系统扩容是否已经生效 df -Th -- 如果还未生效,在 xfs 文件系统中可以再执行下命令 xfs_growfs /data/1步骤二): 更新对应的集群级别参数值
datafile_size或者datafile_disk_percentage。如果扩容前的
datafile_size='0M',需要原地更新下datafile_disk_percentage的取值。-- 检查当前的设置 MySQL [oceanbase]> show parameters like 'datafile_disk_percentage'; -- 原地更新 datafile_disk_percentage 的取值 MySQL [oceanbase]> alter system set datafile_disk_percentage=xxx; -- 仅原地更新某个 OBServer 上的 datafile_disk_percentage 的取值 MySQL [oceanbase]> alter system set datafile_disk_percentage=xxx server="xxx.xxx.xxxx.xxx:2882";如果扩容前的
datafile_size='NNNG'(某一个具体的非 0 数值),需要通过 OCP Web 管控平台的对应 OceanBase 集群主页的【参数管理】页面或者黑屏手工更新集群级别的datafile_size参数(如果只是扩容了某一台 OBServer 服务器,只需要修改对应 OBServer 的datafile_size)。-- 检查当前的设置 MySQL [oceanbase]> show parameters like 'datafile_size'; -- 更新datafile_size的取值,实际更新值以扩容后的文件系统大小为准 MySQL [oceanbase]> alter system set datafile_size='xxxG'; -- 仅更新某个 OBServer 上的 datafile_size 的取值,实际更新值以扩容后的文件系统大小为准 MySQL [oceanbase]> alter system set datafile_size='xxxG' server="xxx.xxx.xxxx.xxx:2882";
步骤三): 进入 OCP Web 管控平台的对应 OceanBase 集群主页的【资源管理】页面,检查对应的数据盘扩容操作是否已经在 OBServer 服务器上生效了。
Clog 日志盘扩容
步骤一): 首先通过
df -Th命令确认磁盘扩容操作已经在文件系统层面生效了。-- 如果使用了 LVM 来进行的磁盘卷管理,可以执行 lvresize 来进行文件系统扩容 lvresize --resizefs -L+5120G /dev/mapper/datastore-ob--log -- 检查文件系统扩容是否已经生效 df -Th -- 如果还未生效,在 xfs 文件系统中可以再执行下命令 xfs_growfs /data/log1步骤二): 更新对应的集群级别参数值
log_disk_size或者log_disk_percentage。如果扩容前的
log_disk_size='0M',可以直接跳过这一步。如果扩容前的
log_disk_size='NNNG'(某一个具体的非 0 数值),需要通过 OCP Web 管控平台的对应 OceanBase 集群主页的【参数管理】页面或者黑屏手工更新集群级别的log_disk_size参数(如果只是扩容了某一台 OBServer 服务器,只需要修改对应 OBServer 的log_disk_size)。黑屏连接到
root@sys租户后执行如下命令:-- 检查当前的设置 MySQL [oceanbase]> show parameters like 'log_disk_size'; -- 更新 log_disk_size 的取值,实际更新值以扩容后的文件系统大小为准 MySQL [oceanbase]> alter system set log_disk_size='xxxG'; -- 仅更新某个 OBServer 上的 log_disk_size 的取值,实际更新值以扩容后的文件系统大小为准 MySQL [oceanbase]> alter system set log_disk_size='xxxG' server="xxx.xxx.xxxx.xxx:2882";
步骤三): 进入 OCP Web 管控平台的对应 OceanBase 集群主页的【资源管理】页面,检查对应的日志盘扩容操作是否已经在 OBServer 服务器上生效了。
备注
目前 OceanBase 数据库 V4.x 版本的集群也支持 CPU/Memory 动态缩容,实际的缩容方法跟扩容方法基本类似。
在进行 Memory 缩容前,建议先为该 OceanBase 集群或对应的 OBServer 服务器做一个转储或合并,避免后续遇到租户活跃内存不足的报错。
目前 OceanBase 数据库 V4.x 版本的集群也支持为日志盘动态缩容,不过还不支持为数据盘动态缩容。
适用版本
OceanBase 数据库 V4.x 版本。