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

使用下面的命令,创建资源池:
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,资源池会创建失败

2 个赞

正确答案: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!

选择ABCD
A 正确
单台 OBServer 上,同一个资源池仅能部署 1 个 Resource Unit;
UNIT_NUM= N 代表每个 Zone都要分配 N 个 Unit,对应每个 Zone 内必须有至少 N 台空闲机器承载 Unit 资源,机器数量不足则创建失败。
B 正确
执行CREATE RESOURCE POOL时,OB 会依据UNIT='unit1’的规格(CPU / 内存 / 磁盘),在指定 Zone 内真实创建 Resource Unit,完成硬件资源隔离分配。
C 正确
ZONE_LIST用于指定资源池跨哪些可用区,标准部署(三副本高可用)场景下,ZONE_LIST列表数量与集群总 Zone 数量保持一致,保证多 Zone 容灾。
D 正确
创建资源池时,OB 会遍历ZONE_LIST内每一个 Zone,校验该 Zone 是否存在满足 unit1 规格、且剩余资源充足的 OBServer;任意一个 Zone 资源不足,整条 CREATE 语句直接报错,资源池创建失败,不会出现部分 Zone 创建成功、部分 Zone 失败的半完成状态。

1 个赞