---
title: OBServer 服务器扩容 CPU/Memory/磁盘后，如何同步生效至 OceanBase 集群-OceanBase数据库使用指南
description: 了解OceanBase数据库在实际应用中关于OBServer 服务器扩容 CPU/Memory/磁盘后，如何同步生效至 OceanBase 集群相关的常见问题和使用技巧，帮助您快速解决OBServer 服务器扩容 CPU/Memory/磁盘后，如何同步生效至 OceanBase 集群的难题。
image: https://mdn.alipayobjects.com/huamei_22khvb/afts/img/A*OSPzQ6GUQF4AAAAAQHAAAAgAeiGDAQ/original
---
切换语言

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

划线反馈

# OBServer 服务器扩容 CPU/Memory/磁盘后，如何同步生效至 OceanBase 集群

更新时间：2026-07-17 07:16

适用版本： V4.0.x、V4.1.x、V4.2.x、V4.3.x、V4.4.x 内容类型：How-to  

在分布式数据库中，扩容（Scaling）是指通过增加系统资源来提升系统处理能力，通常是增加计算资源、存储资源或者网络带宽等等。对于 OceanBase 集群来说，扩容主要是通过增加节点来提升集群的处理能力，从而满足业务需求。 目前 OceanBase 集群的扩容方式主要有以下两类：

- **水平扩容（Horizontal Scaling）：** 增加新的计算节点或存储节点，以提升集群的吞吐能力和数据存储能力。
 - **垂直扩容（Vertical Scaling）：** 升级现有节点的硬件配置，如增加 CPU、内存或磁盘空间。

本文主要介绍在实际生产和测试环境中，对用户部署 OBServer 的物理机/虚拟机进行 CPU/Memory/磁盘扩容后，如何将该硬件层面的扩容操作同步生效到对应的 OceanBase 集群上。

## 详细说明

### CPU 扩容

1. **步骤一）：** 首先通过 `lscpu` 命令确认 CPU 扩容操作已经在操作系统层面生效了。
 2. **步骤二）：** 登陆 OCP Web 管控平台，进入到该 OceanBase 集群的【概览】页面，点击右上角的【...】->【重启集群】，轮转重启对应的 OceanBase 集群，如下图所示。

   ![image01](https://obbusiness-private.oss-cn-shanghai.aliyuncs.com/doc/img/knowledge-base/database/cluster-management/2000.observer/10946.how-to-synchronize-cpu-memory-disk-expansion-ob-to-obcluster/20250915how-to-synchronize-cpu-memory-disk-expansion-ob-to-obcluster01.png)

   **备注一：如果在步骤一的扩容操作中已经重启过对应的 OBServer 服务器了，则这一步可以安全跳过**。

   **备注二：如果只是扩容了某一台 OBServer 服务器，可以只重启对应的 OBServer 服务器，或者该服务器所在的 Zone，如下图所示**。

   ![image02](https://obbusiness-private.oss-cn-shanghai.aliyuncs.com/doc/img/knowledge-base/database/cluster-management/2000.observer/10946.how-to-synchronize-cpu-memory-disk-expansion-ob-to-obcluster/20250915how-to-synchronize-cpu-memory-disk-expansion-ob-to-obcluster02.png)
 3. **步骤三）：** 更新对应的集群级别参数值 `cpu_count`。

      - 如果扩容前的 `cpu_count=0`，可以直接跳过这一步。
      - 如果扩容前的 `cpu_count=NNN`（某一个具体的非 0 数值），需要通过 OCP Web 管控平台的对应 OceanBase 集群主页的【参数管理】页面或者黑屏手工更新集群级别的 `cpu_count` 参数（如果只是扩容了某一台 OBServer 服务器，只需要修改对应 OBServer 的 `cpu_count`），如下图所示。

       ![image03](https://obbusiness-private.oss-cn-shanghai.aliyuncs.com/doc/img/knowledge-base/database/cluster-management/2000.observer/10946.how-to-synchronize-cpu-memory-disk-expansion-ob-to-obcluster/20250915how-to-synchronize-cpu-memory-disk-expansion-ob-to-obcluster03.png)

       黑屏连接至 `root@sys` 租户后执行如下命令：

       ```shell
       -- 检查当前的设置
       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";

       ```
 4. **步骤四）：** 进入 OCP Web 管控平台的对应 OceanBase 集群主页的【资源管理】页面，检查对应的 CPU 扩容操作是否已经在 OBServer 服务器上生效了。

   ![image04](https://obbusiness-private.oss-cn-shanghai.aliyuncs.com/doc/img/knowledge-base/database/cluster-management/2000.observer/10946.how-to-synchronize-cpu-memory-disk-expansion-ob-to-obcluster/20250915how-to-synchronize-cpu-memory-disk-expansion-ob-to-obcluster04.png)

### Memory 扩容

1. **步骤一）：** 首先通过 `free -h` 命令确认 Memory 扩容操作已经在操作系统层面生效了。
 2. **步骤二）：** 登陆 OCP Web 管控平台，进入到该 OceanBase 集群的【概览】页面，点击右上角的【...】->【重启集群】，轮转重启对应的 OceanBase 集群。

   **备注一：如果在步骤一中扩容操作中已经重启过对应的 OBServer 服务器了，则这一步可以安全跳过**。

   **备注二：如果只是扩容了某一台 OBServer 服务器，可以只重启对应的 OBServer 服务器，或者该服务器所在的 Zone**。
 3. **步骤三）：** 更新对应的集群级别参数值 `memory_limit` 或者 `memory_limit_percentage`。

      - 如果扩容前的 `memory_limit='0M'`，可以直接跳过这一步。
      - 如果扩容前的 `memory_limit='NNNG'`（某一个具体的非 0 数值），需要通过 OCP Web 管控平台的对应OB集群主页的【参数管理】页面或者黑屏手工更新集群级别的 `memory_limit` 参数（如果只是扩容了某一台 OBServer 服务器，只需要修改对应 OBServer 的 `memory_limit`）。

       黑屏连接到 `root@sys` 租户后执行如下命令：

       ```shell
       -- 检查当前的设置
       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";

       ```
 4. **步骤四）：** 进入 OCP Web 管控平台的对应 OceanBase 集群主页的【资源管理】页面，检查对应的 Memory 扩容操作是否已经在 OBServer 服务器上生效了。

### Data 数据盘扩容

1. **步骤一）：** 首先通过 `df -Th` 命令确认磁盘扩容操作已经在文件系统层面生效了。

   ```shell
   -- 如果使用了 LVM 来进行的磁盘卷管理，可以执行 lvresize 来进行文件系统扩容
   lvresize --resizefs -L+5120G /dev/mapper/datastore-ob--data
   -- 检查文件系统扩容是否已经生效
   df -Th
   -- 如果还未生效，在 xfs 文件系统中可以再执行下命令
   xfs_growfs /data/1

   ```
 2. **步骤二）：** 更新对应的集群级别参数值 `datafile_size` 或者 `datafile_disk_percentage`。

      - 如果扩容前的 `datafile_size='0M'`，需要原地更新下 `datafile_disk_percentage` 的取值。

       ```shell
       -- 检查当前的设置
       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`）。

       ```shell
       -- 检查当前的设置
       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";

       ```
 3. **步骤三）：** 进入 OCP Web 管控平台的对应 OceanBase 集群主页的【资源管理】页面，检查对应的数据盘扩容操作是否已经在 OBServer 服务器上生效了。

### Clog 日志盘扩容

1. **步骤一）：** 首先通过 `df -Th` 命令确认磁盘扩容操作已经在文件系统层面生效了。

   ```shell
   -- 如果使用了 LVM 来进行的磁盘卷管理，可以执行 lvresize 来进行文件系统扩容
   lvresize --resizefs -L+5120G /dev/mapper/datastore-ob--log

   -- 检查文件系统扩容是否已经生效
   df -Th

   -- 如果还未生效，在 xfs 文件系统中可以再执行下命令
   xfs_growfs /data/log1

   ```
 2. **步骤二）：** 更新对应的集群级别参数值 `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`）。

       ```shell
       -- 检查当前的设置
       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";

       ```
 3. **步骤三）：** 进入 OCP Web 管控平台的对应 OceanBase 集群主页的【资源管理】页面，检查对应的日志盘扩容操作是否已经在 OBServer 服务器上生效了。

### 备注

- 目前 OceanBase 数据库 V4.x 版本的集群也支持 CPU/Memory 动态缩容，实际的缩容方法跟扩容方法基本类似。
 - 在进行 Memory 缩容前，建议先为该 OceanBase 集群或对应的 OBServer 服务器做一个转储或合并，避免后续遇到租户活跃内存不足的报错。
 - 目前 OceanBase 数据库 V4.x 版本的集群也支持为日志盘动态缩容，不过还不支持为数据盘动态缩容。

## 适用版本

OceanBase 数据库 V4.x 版本。

Previous

[OBServer 启动报错 ERROR: current user(uid=xxxxxx) that starts observer is not](https://www.oceanbase.com/knowledge-base/oceanbase-database-1000000002396180)

Next

[1F-1F-1F 三节点分布在三个地域的 OceanBase 集群创建多副本业务租户时失败的原因和解决方法](https://www.oceanbase.com/knowledge-base/oceanbase-database-1000000003907877) ![有帮助](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) 咨询热线
