在创建租户前,需要先确定租户的资源单元配置和资源使用范围。您可以通过 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_CPU、MIN_CPU、MAX_IOPS、MIN_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 资源单元的配置。




