节点扩容
操作场景
随着业务的增长,数据库在运行性能及存储上逐渐会达到瓶颈。此时,需要通过增加节点来提升实例的性能及存储能力。GaussDB支持节点扩容操作。
- 当前不支持节点缩容。
- 仅分布式版支持节点扩容。
- 如果原实例为GaussDB Installer安装或其他方式安装的自定义目录的实例,在新节点完成主机上线后,再进行新节点的磁盘规划,请保持新节点的磁盘规划、挂载路径与原实例一致。
分布式版扩容方案
| 部署形态 | 底层资源类型 | 扩容方案 | 说明 |
|---|---|---|---|
| 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中表数量。
操作步骤
-
单击具体实例名称,进入“实例管理”界面。
-
在“数据库信息”模块的“节点数量”后,单击“添加”,进入“节点扩容”页面。
-
选择节点数量和管理地址,管理地址数量需要与新增节点数量一致,管理地址可用区分布需要符合部署方案。
-
确认风险提示信息,并勾选“我已确认阅读上述风险提示”。
图2 节点扩容
-
单击“下一步”,进入“规格确认”界面。
图3 节点扩容确认页面
-
确认无误后,单击“提交”,进行扩容。
“运行状态”由“节点扩容中”变为“正常”,“节点数量”与预期变化一致,表示扩容成功。
更多详情请参考GaussDB 文档中心:doc.hcs.huawei.com/db/zh-cn/ga…