使用下面的命令,创建资源池,描述正确的是哪几个?

使用下面的命令,创建资源池:
CREATE RESOURCE POOL pool1
UNIT = ‘unit1’,
UNIT_NUM = 1.
ZONE_LIST = (‘zone1’,‘zone2’,‘zone3’);
描述正确的是哪几个?
A 每个resource pool在每个OBServer上只能有一个resource unit;如果unit num大于1,每个Zone内都必须有和unit_num对应数目的机器
B 会实际创建unit,按规格定义分配资源
C zone List一般与zone个数保持一致
D 如果在某个zone内找不到有足够剩余资源的机器来创建resource unit,资源池会创建失败

1 个赞

正确答案:A、B、D

  • A. :white_check_mark: 正确 。根据 OceanBase 社区技术解析,unit_num 决定了租户在每个 Zone 内需要部署的资源单元(Unit)数量。每个 Unit 是资源分配的最小单位,只能部署在一台 OBServer 上 ,不能跨节点拆分。因此,如果 UNIT_NUM = 1 ,每个 Zone 只需一台机器;如果 UNIT_NUM = 3 ,则每个 Zone 必须至少有 3 台可用的 OBServer 来分别承载这 3 个 Unit。
  • B. :white_check_mark: 正确 。执行 CREATE RESOURCE POOL 命令时,系统会根据指定的 UNIT 规格,在 ZONE_LIST 中的每个 Zone 内部署相应数量的 Unit,并实际分配 CPU、内存等物理资源。资源池一旦创建,这些 Unit 就已经在 OBServer 节点上生成并占用了资源。
  • C. :x: 错误ZONE_LIST 定义的是资源池 将部署在哪些 Zone 上,而“zone 个数”通常指整个集群总 Zone 数,或租户的副本数。这两者之间没有必须完全一致的约束
  • D. :white_check_mark: 正确 。创建资源池是一个“实际分配资源”的过程。系统会校验 ZONE_LIST 中每个 Zone 下的 OBServer 节点,是否有足够的空闲资源(如 CPU、内存)来创建指定规格的 Unit。只要有一个 Zone 无法满足资源需求,整个 CREATE RESOURCE POOL 操作就会失败。

C不对吗?

ABD!