本节主要介绍如何通过在集群中增加 Zone 的方式进行集群的扩容。
在集群中增加 Zone 的操作可以通过 SQL 语句来完成。
通过 SQL 语句在集群中增加 Zone
您可以通过 SQL 语句向集群中增加 Zone 的方式来进行集群的扩容。该扩容方式通常用于将集群中租户的 3 副本升级为 5 副本的场景。在集群中增加 Zone,同时为新增的 Zone 添加与其他 Zone 等量的物理机台数。
假设集群中当前仅有 z1、z2、z3 三个 Zone,且三个 Zone 都属于同一个 Region,每个 Zone 内一台 OBServer。集群中有一个普通租户 tenant1,当前副本分布情况 locality='F@z1,F@z2,F@z3', resource_pool_list=('pool1');,根据业务需要,需要将租户 tenant1 由 3 副本调整为 5 副本,即租户的 Locality 由 F@z1,F@z2,F@z3 变为 F@z1,F@z2,F@z3,F@z4,F@z5。
在集群中增加 Zone 并调整副本分布的操作如下:
使用
root用户登录到数据库的sys租户。集群中当前仅
z1、z2、z3三个 Zone,需要在集群中增加z4、z5两个 Zone。在集群中增加 Zone 的具体操作请参见 增加或删除 Zone。
在
z4、z5两个 Zone 上各添加一台 OBServer。向 Zone 内添加 OBServer 的具体操作请参见 添加 OBServer。
为租户
tenant1在z4、z5上添加资源。说明
增加 Zone 成功后,您可以通过扩大租户资源池的 ZONE_LIST 范围或创建新资源池后再将资源池分配给租户等方式为租户添加资源,此处以创建新的资源池后再将资源池分配给租户为例提供操作指导,直接扩大租户资源池的 ZONE_LIST 范围的相关操作请参见 修改租户的资源配置。
创建可用的资源单元和资源池。
obclient>CREATE RESOURCE UNIT unit2 MAX_CPU 1, MIN_CPU=1, MEMORY_SIZE '5G', MAX_IOPS 1024, MIN_IOPS=1024, IOPS_WEIGHT=0,LOG_DISK_SIZE = '2G'; obclient>CREATE RESOURCE POOL pool2 unit = 'unit2', unit_num = 1, zone_list=('z4','z5');完成后,为租户在
z4、z5上添加资源。obclient>ALTER TENANT tenant1 RESOURCE_POOL_LIST =('pool1', 'pool2') ;
通过修改租户的 Locality 来增加副本。
根据 Locality 的变更规则,每次只能增加一个 Zone 内的 Locality,Locality 的变更规则相关信息请参见 Locality 概述。
obclient>ALTER TENANT tenant1 LOCALITY='F@z1,F@z2,F@z3,F@z4'; obclient>ALTER TENANT tenant1 LOCALITY='F@z1,F@z2,F@z3,F@z4,F@z5';操作结束后,本次扩容完成。




