更新时间:2024-12-11 GMT+08:00
集群扩容
用户需要更多的计算资源或存储资源以满足业务需要时,可以在管理控制台对已有集群,通过新增节点进行扩容操作。
- 如果当前集群是包年/包月计费模式,那么新增节点也是按照包年包月模式进行计费。
- 存算一体集群扩容时使用与当前集群相同的存储规格。
- 存算一体(单机部署)不支持扩容集群。
- 如果创建的是BMS集群,可联系技术支持人员开启跨规格扩容的白名单,开启后扩容界面会显示“资源规格”,可以进行跨规格扩容。
- 如果子网IP数量不足,允许执行跨子网扩容操作。
如果您是因集群存储容量不足而扩容集群,建议您在扩容前先执行VACUUM清理和回收存储空间,GaussDB(DWS)数据仓库中保存的数据在删除后,可能没有释放占用的磁盘空间形成脏数据,导致磁盘浪费。如果执行VACUUM后,已使用存储容量仍然占用过高,您再进行扩容。VACUUM的语法请参见《SQL语法参考》中的VACUUM章节。
扩容对系统的影响
- 扩容前,需关闭创建了临时表的客户端连接,因为在扩容过程中及扩容成功之前创建的临时表将会失效,操作临时表也会失败。但是扩容后创建的临时表不受影响。
- 在执行 操作后,集群会进行一次自动快照,快照创建成功后进行集群扩容。
- 正在扩容的集群将禁用重启集群、停止集群、启动集群、规格变更、增删CN、扩容集群、缩容集群、创建快照、重置数据库管理员密码等功能。
- 离线扩容过程中,集群会自动重启,因此集群会有一段时间变为“不可用”状态,重启成功后集群恢复到“可用”状态。然后在扩容结束阶段,如果用户选择了自动重分布,系统会将集群中用户数据在全部节点重新动态分布,否则需要用户自主开始数据重分布。
- 离线扩容过程中,应该停止所有业务或运行少量查询语句。表重分布期间会对表加共享锁,所有插入、更新、删除操作和表DDL操作都会长时间阻塞,会出现等锁超时情况。一旦表重分布完成,用户可以正常访问该表。在重分布执行过程中,应当避免执行超过20分钟的查询(在重分布执行时申请写锁的默认时间为20分钟)。否则可能导致重分布出现等待加锁超时失败的问题。
- 在线扩容过程中,节点添加期间会执行锁集群操作。锁集群操作时会进行数据库对象检查。为保证锁集群成功,在节点添加期间不要执行database和tablespace的创删语句。
- 在线扩容过程中,表重分布期间可以对该表执行插入、更新、删除等操作,但重分布过程仍然会短时间阻塞数据更新操作,会影响语句的执行性能。扩容重分布过程会消耗大量的CPU和IO资源,因此对作业性能影响较大,应该尽可能在停止业务或业务轻载的情况下执行扩容重分布。也可以考虑分段扩容重分布策略,在系统负载很小的情况下采用高并发进行扩容重分布,在系统负载大的情况下停止扩容重分布或采用低并发进行扩容重分布。
- 扩容后,如果集群创建新快照,将包含扩容节点上的数据。
- 如果集群扩容失败,数据库会在后台自动执行扩容回滚操作,集群会恢复到扩容前的节点个数。
- 如果回滚成功,集群仍可以正常使用,用户可以重新执行 操作,如果仍扩容失败,请及时联系技术支持人员进行处理。
- 如果因为某些异常原因后台回滚失败,则集群可能会变为“不可用”状态,此时无法再执行 或重启集群的操作,请及时联系技术支持人员进行处理。
- 在存算分离扩容场景下,如果新集群的bucket数量不满足条件:每个DN分配的bucket数量在[3, 20]之间时,系统会触发调整bucket的扩容。bucket数量可通过GUC参数table_buckets查看。
- 此bucket扩容目前仅支持离线模式,使用方式与现有扩容相同,触发修改bucket的扩容过程为系统自动判断和执行。
- 触发过程集群会重启,关闭所有连接,重启会花费数分钟。
- 重启完毕后,数据库可以读,但不允许写,直到数据重分布结束。
例如,当前节点buckets数量为32个,逻辑集群DN数量为9个,要扩至15个DN,由于32/15=2(向下取整)不满足bucket数量[3,20],会触发bucket数量的扩容。
前提条件
- 请确定需要扩容的集群处于“可用”、“只读”或者“非均衡”状态。
- 请确定计划扩容的节点数小于等于用户节点数的剩余配额,否则系统无法进行扩容操作。
- IAM子账号在进行扩容操作前,需确保IAM子账号拥有VPC、EVC/BMS操作权限。
扩容集群
- 离线扩容期间集群将变为只读状态,请谨慎操作。
- 为保证用户的数据安全建议在开始扩容操作之前创建手动快照。如何创建快照请参见手动快照。
- 在单击“确认”时会触发检查项的检查,若不通过会弹窗提示,用户按提示解决后可重试,详情请参见扩容检查不通过怎么办?。
- 登录GaussDB(DWS)管理控制台。
- 单击“集群 > 专属集群”。
默认显示用户所有的集群列表。
- 在集群列表中,在指定集群所在行的“操作”列,选择 。系统将显示扩容页面。
在扩容开始前如果集群满足巡检条件,需单击“立即巡检”按钮先完成一次巡检,并保证巡检检查通过,通过后可进行下一步变更操作,详情请参见查看巡检。
- 如果创建的是BMS集群,可联系技术支持人员开启了跨规格扩容的白名单,开启后扩容界面会显示“资源规格”,可以进行跨规格扩容。
- 如果原子网IP不够,可以跨子网扩容。
图1 BMS集群跨规格扩容
当用户在包年/包月计费模式下,界面将显示计费模式的“剩余时间”和“到期时间”。
- 在“增加节点数”选择一个扩容后的节点数。
- 扩容操作增加的是DN节点,如果需要增加CN节点可参见增删GaussDB(DWS)集群CN节点。
- 扩容后的节点数量,在原节点数量的基础上,须至少增加3个节点,最多可增加的节点个数为节点剩余配额的最大值。并且,此处设置的扩容后的节点数量不能超过256个节点。
- 扩容增加的节点规格,默认与集群当前各节点的规格相同。
- 扩容后的集群与原集群的虚拟私有云和安全组也相同。
- 多AZ集群仅支持扩容个数为3的倍数。
- 设置高级配置。
- 选择“默认配置”:“在线扩容”默认关闭,“自动重分布”默认开启,“重分布模式”默认为离线模式。
- 选择“自定义”,您可以设置以下高级配置参数进行扩容操作:
- “在线扩容”:支持打开在线扩容。在线扩容过程中,支持数据库增删改查及部分DDL语法,其余不支持的语法会出现报错。
- “查杀阻塞作业”:如果用户选择“在线扩容”,则支持设置查杀阻塞作业。
- “查杀阻塞作业等待时间(秒)”:查杀阻塞作业开启后,在线扩容过程中如果遇到阻塞情况,将在设置的查杀阻塞作业等待时间结束后,查杀阻塞扩容的后台作业,取值范围30~1200的整数。
查杀阻塞作业仅8.2.1.100及以上集群版本支持。
- “自动重分布”:支持打开自动重分布。自动重分布开启,扩容阶段结束后将立即执行数据重分布;如果选择关闭此功能则只进行扩容添加节点,需在“更多>节点变更>重分布”中选择执行数据重分布。
- “重分布并发配置”:自动重分布开启,支持设置并发数量。可配置并发数在1~200之间,默认值为4。
- “重分布模式”:可选择“在线模式”和“离线模式”。
- 确认无误后勾选“我已确认”,单击“下一步:确认”。
- 单击“提交”。
- 提交扩容申请后,集群的“任务信息”显示为“节点扩容”,扩容需要时间请耐心等待。
- 扩容过程中,集群会自动重启,因此会有一段时间“集群状态”显示为“不可用”,重启成功后“集群状态”会变成“可用”。
- 扩容结束后,集群将重新分布数据,重分布过程中会存在一段时间,“集群状态”为“只读”。
- 只有“集群状态”显示为“可用”且“任务信息”不再有“节点扩容”的状态,才表示扩容成功,用户可以开始使用集群。
- 如果集群的“任务信息”显示为“扩容失败”,表示集群扩容失败。
使用空闲节点扩容
对于大规模的集群扩容,基于可靠性考虑,可通过提前准备好需要扩容的ECS节点执行添加节点,在扩容时选择使用空闲节点扩容。
- 在大规模集群扩容时建议关闭自动重分布,有利于扩容阶段失败重试,从而增加可靠性。
- 扩容完成后,再手动执行重分布操作,保证重分布阶段也可进行多次失败重试。
注意事项
- 集群内必须提前添加好一定数量的可用节点才可以使用空闲节点扩容。
- 在反亲和部署模式下,使用空闲节点扩容的节点数量只能是安全环的整数倍。
- 提交扩容前需完成扩容准备操作,即准备即将进行扩容任务配置的工作,请耐心等待一段时间。
- 在单击“确认”时会触发检查项的检查,若不通过会弹窗提示,用户按提示解决后可重试,详情请参见扩容检查不通过怎么办?。
操作步骤
查看扩容详情
- 登录GaussDB(DWS)管理控制台。
- 选择“集群 > 专属集群”,默认显示用户所有的集群列表。
- 集群列表中,在指定集群所在行的“任务信息”列,单击“查看详情”。
- 进入“扩容详情”页面,用户可查看集群此时的扩容状态。
图2 查看扩容详情
父主题: 节点变更