OceanBase学习之路46|如何通过 SQL 语句或 OCP 创建资源单元?

在创建租户前,需要先确定租户的资源单元配置和资源使用范围。您可以通过 SQL 语句或 OCP 创建资源单元。

通过 SQL 语句创建资源单元

租户使用的资源被限制在资源单元的范围内,如果当前存在的资源单元配置无法满足新租户的需要,可以新建资源单元配置。

创建资源单元配置的语句如下:

CREATE RESOURCE UNIT unitname 
MAX_CPU [=] cpunum, 
[MIN_CPU [=] cpunum,]
MEMORY_SIZE [=] memsize, 
[MAX_IOPS [=] iopsnum, MIN_IOPS [=] iopsnum,IOPS_WEIGHT [=]iopsweight,]
[LOG_DISK_SIZE [=] logdisksize];

语句说明:

  • 该语句仅支持  sys 租户的管理员执行。

  • MAX_CPU 和  MIN_CPU 表示使用该资源配置的资源单元能够提供的 CPU 的上限和下限。CPU 规格最小为 1C。

    必须指定  MAX_CPU 规格, MIN_CPU 为可选,如果不指定,默认等于  MAX_CPU

  • MEMORY_SIZE 表示使用该资源配置的资源单元能够提供的 Memory 的大小,最小值为 1G。

  • MAX_IOPS 和  MIN_IOPS 参数的最小值为 1024,并且要求  MAX_IOPS >= MIN_IOPS。如果不指定,默认系统将根据 CPU 的规格自动计算。

    系统自动计算 IOPS 参数值的规则如下:

    • 如果  MIN_IOPS 和  MAX_IOPS 均未指定,则根据  MIN_CPU 规格自动计算,1 个 Core 对应 1 万 IOPS 的值,即  MAX_IOPS = MIN_IOPS = MIN_CPU * 10000。此时:

      • 如果未指定  IOPS_WEIGHT 的值,则  IOPS_WEIGHT = MIN_CPU

      • 如果指定了  IOPS_WEIGHT的值,则以指定的值为准。

    • 如果仅指定了  MAX_IOPS 的值,则  MIN_IOPS 取  MAX_IOPS 的值;同样,如果仅指定了  MIN_IOPS 的值,则  MAX_IOPS 取  MIN_IOPS 的值。此时:

      • 如果  IOPS_WEIGHT 的值未指定,则默认均为  0
  • LOG_DISK_SIZE 表示日志盘规格。如果不指定,默认等于 3 倍的内存规格,最小值为 2G。

  • 在为参数指定值时,可以采用纯数字不带引号的方式,也可以使用带单位加引号或不带单位加引号的方式(例如: '1T''1G''1M''1K')。

    其中:

    • 对于  MAX_CPUMIN_CPUMAX_IOPSMIN_IOPS 和  IOPS_WEIGHT 这些整型参数,如果参数值使用带单位加引号的方式,其单位含义为个,即 '1K' = 1000,'1M' = 1000000。例如: MAX_IOPS='2K' 等效于  MAX_IOPS=2000

      如果使用不带单位加引号的方式,则含义与不加引号一致,即 '100' = 100,'1000' = 1000。

    • 对于  MEMORY_SIZE 和  LOG_DISK_SIZE 这些容量参数,如果使用带单位加引号的方式,其单位含义为字节,即 '1K' = 1024,'1M' = 1024 * 1024。

      如果使用不带单位加引号的方式,则引号中数值的默认单位为 MB。即 '100' = '100M' = 100 * 1024 * 1024。

创建资源单元  unit1 的示例如下:

obclient> CREATE RESOURCE UNIT unit1 MAX_CPU 1, MIN_CPU 1, MEMORY_SIZE '2G', MAX_IOPS 1024, MIN_IOPS 1024, IOPS_WEIGHT 0, LOG_DISK_SIZE '2G';
obclient> CREATE RESOURCE UNIT unit1 MAX_CPU 1, MEMORY_SIZE '2G';

创建的资源单元实际上是资源单元的模版。可以被其他多个不同的资源池使用。比如,资源单元  unit1 创建后,可以创建资源池  pool1 和  pool2 并且  pool1 和  pool2 均使用  unit1 资源单元的配置。

更多信息

创建资源单元后,管理员就可以在创建资源池时指定资源单元,并最终分配给相应的租户,更多资源单元的管理操作请参见以下信息:


请使用浏览器的分享功能分享到微信等