yuan-er

导航

 

节点扩容

操作场景

随着业务的增长,数据库在运行性能及存储上逐渐会达到瓶颈。此时,需要通过增加节点来提升实例的性能及存储能力。GaussDB支持节点扩容操作。

  • 当前不支持节点缩容。
  • 仅分布式版支持节点扩容。
  • 如果原实例为GaussDB Installer安装或其他方式安装的自定义目录的实例,在新节点完成主机上线后,再进行新节点的磁盘规划,请保持新节点的磁盘规划、挂载路径与原实例一致。
  • 扩容节点操作系统版本需要和原有节点操作系统版本保持一致。

分布式版扩容方案

表1 分布式版扩容方案

部署形态

底层资源类型

扩容方案

说明

9节点

物理机

初始形态:9节点

每次扩容固定新增节点个数为8的倍数,不扩容仲裁AZ内的ETCD节点。最终一致性策略下分片最大可扩容至128分片,节点最大扩容到257;强一致性策略下分片最多可到32分片,节点最大扩容到65。

说明:

一致性类型可以在实例基本信息页的“配置信息 > 事务一致性”查看。

  • 扩容是指分片扩容,扩容的节点仅包含CN、DN,不含有其他组件。
  • 实例扩容分两个阶段:增加节点阶段和数据重分布阶段。
    • 增加节点阶段会有锁实例的时间窗,该时间窗(分钟级)内阻塞DDL和DCL操作;但在整个增加节点阶段,用户的DML操作可以正常进行。
    • 数据重分布阶段会占用部分IO,且不支持下列SQL语句:create database/alter database/alter database set/create tablespace/drop tablespace/alter tablespace

3节点

物理机

初始形态:3节点

每次扩容固定新增节点个数为3的倍数。最终一致性策略下分片最多可扩容到126分片,节点最大扩容到126;强一致性策略下分片最多可到30分片,节点最大扩容到30。

5节点

物理机

初始形态:5节点

每次扩容固定新增节点个数为4的倍数,不扩容仲裁AZ内的ETCD节点。最终一致性策略下分片最多可到128分片,节点最大扩容到129;强一致性策略下分片最多可到32分片,节点最大扩容到33。

4节点

物理机

初始形态:4节点

每次支持扩容节点的个数为4的整数倍,最终一致性策略下分片最多可到128分片,节点最大扩容到128;强一致性策略下分片最多可到32分片,节点最大扩容到32。

数据重分布示意如下:

图1 数据重分布

注意事项

  • 集中式版实例暂时不支持扩容。
  • 存在故障节点的实例不允许扩容。
  • 新节点如果之前安装过实例,请先执行重置主机后再执行节点扩容。
  • 扩容是指分片扩容,扩容的节点仅包含CN、DN,不含有其他组件。
  • 扩容以节点组为单位,扩容节点的组件分布形态与扩容前实例分布规律相同。
  • 节点扩容不改变实例部署形态。
  • 新节点与原节点的文件系统保持一致。
  • 若新扩节点原先的安装模式与当前实例不同,请先手动清理新扩节点。具体操作可参考转换安装模式前手动清理节点方法
  • 实例扩容过程中会有锁表操作,可能会阻塞业务,属于高危操作。请选择在业务低峰期进行该操作。
  • 扩容新增CN与DN分片数量与当前实例CN的max_wal_senders参数值有关,建议(新增CN+DN分片数)/(已有CN数量)向上取整后的数值小于或等于max_wal_senders参数值的一半,若大于该取值可能会造成扩容失败。
  • redis_resource_level参数表示数据重分布过程可以使用的IO资源百分比,当设置为l时:表示可以占用10%资源,m:30%资源,h:50%资源,f:100%资源。此时如果redis_parallel_jobs的值设置过大,而可用系统资源不足以满足并发任务个数,则redis_parallel_jobs的值将不会生效。参数如何修改,可参见参数
  • 扩容前,需要满足所有DN节点剩余可用空间大于DN节点的最大单表空间。
  • 扩容时所选主机的CPU、内存、磁盘规格均不能小于当前实例节点所用主机的规格。
  • 多表扩容模式约束:
    • 需要为属于一个Group的表预留足够的磁盘空间,即Group中所有表(表+索引)总和的1倍;考虑到资源有限,逐个Group进行重分布,因此需要预留最大Group大小1倍即可。
    • 多表扩容需要配合写报错模式和业务快速失败模式进行,因此只支持用户业务允许报错重试的场景。写报错模式时间窗口需要等Group中的所有表均完成才能进行元数据切换,相较于单张表,影响窗口增大,但仍然是秒级完成。写报错模式持续时长和用户配置的last_catchup_threshold参数有关,默认值5秒。切换元数据耗时:通常场景采用Cancel模式拿锁加切换元数据,单表2秒,最长10秒(最多5张表);最坏场景:(lockwait_timeout + 2)*group中表数量。
  • 如果实例中存在逻辑复制槽,会导致节点扩容失败,扩容前需要删除当前集群中已存在的逻辑复制槽。删除逻辑复制槽存在一定的风险,请联系技术支持评估后再进行删除。
  • 新节点的操作系统版本、架构类型、CPU厂商、主机类型、网络平面、网络协议类型必须与原实例的主机保持一致。

操作步骤

  1. 登录云数据库GaussDB管理平台(TPOPS)
  2. 单击左侧目录“实例管理”,进入“实例列表”页面。
  3. 单击具体实例名称,进入“基本信息”界面。
  4. 配置信息”模块的“节点数量”后,单击“添加”,进入“节点扩容”页面。
  5. 选择节点数量和管理地址,管理地址数量需要与新增节点数量一致,管理地址可用区分布需要符合部署方案。
  6. 确认风险提示信息,并勾选“我已确认阅读上述风险提示”。

     

    图2 节点扩容
  7. 单击“下一步”,进入“规格确认”界面。

     

    图3 节点扩容确认页面
  8. 确认无误后,单击“提交”,进行扩容。

     

    “运行状态”由“节点扩容中”变为“正常”,“节点数量”与预期变化一致,表示扩容成功。

     

 
posted on 2025-06-27 15:18  数据库笔记  阅读(10)  评论(0)    收藏  举报