operator dashboard创建主备租户失败

【 使用环境 】测试环境
【 OB or 其他组件 】operator
【 使用版本 】
【问题描述】operator部署了两个OB集群,在集群1上创建了tenant1租户,集群2创建了tenant2作为备租户同步主租户,但是备租户创建失败。
两个集群剩余可为租户分配cpu内存日志磁盘都为15 7G 40G,这个剩余可分配在数据库中怎么查看呢。
我在集群1上创建tenant1租户分配1 3G 10G后,为什么在集群2创建租户时可选的cpu内存也剩14 4G 30G了呢?
【复现路径】问题出现前后相关操作
【附件及日志】



在sys租户下确认一下

确认集群可用资源情况

select zone,svr_ip,svr_port,
cpu_capacity,
cpu_assigned,
cpu_capacity-cpu_assigned as cpu_min_free,
cpu_capacity_max,
cpu_assigned_max,
cpu_capacity_max-cpu_assigned_max as cpu_max_free,
round(memory_limit/1024/1024/1024,2) as memory_total_gb,
round((memory_limit-mem_capacity)/1024/1024/1024,2) as system_memory_gb,
round(mem_assigned/1024/1024/1024,2) as mem_assigned_gb,
round((mem_capacity-mem_assigned)/1024/1024/1024,2) as memory_free_gb,
round(log_disk_capacity/1024/1024/1024,2) as log_disk_capacity_gb,
round(log_disk_assigned/1024/1024/1024,2) as log_disk_assigned_gb,
round((log_disk_capacity-log_disk_assigned)/1024/1024/1024,2) as log_disk_free_gb,
round((data_disk_capacity/1024/1024/1024),2) as data_disk_gb,
round((data_disk_in_use/1024/1024/1024),2) as data_disk_used_gb,
round((data_disk_capacity-data_disk_in_use)/1024/1024/1024,2) as data_disk_free_gb
from gv$ob_servers
order by zone;

确认租户的资源分配情况

select t4.tenant_id,t4.tenant_name,
t1.name resource_pool_name, t1.unit_count,
t2.name unit_config_name,
t2.max_cpu, t2.min_cpu,
round(t2.memory_size/1024/1024/1024,2) mem_size_gb,
round(t2.log_disk_size/1024/1024/1024,2) log_disk_size_gb, t2.max_iops,
t2.min_iops, t3.unit_id, t3.zone, concat(t3.svr_ip,’:’,t3.svr_port) observer
from dba_ob_resource_pools t1
join dba_ob_unit_configs t2 on (t1.unit_config_id=t2.unit_config_id)
join dba_ob_units t3 on (t1.resource_pool_id = t3.resource_pool_id)
left join dba_ob_tenants t4 on (t1.tenant_id=t4.tenant_id)
order by t4.tenant_name,t3.zone;

集群1:
*************************** 1. row ***************************
zone: zone1
svr_ip: 22.0.2.205
svr_port: 2882
cpu_capacity: 16
cpu_assigned: 2
cpu_min_free: 14
cpu_capacity_max: 16
cpu_assigned_max: 2
cpu_max_free: 14
memory_total_gb: 9.00
system_memory_gb: 1.00
mem_assigned_gb: 4.00
memory_free_gb: 4.00
log_disk_capacity_gb: 47.00
log_disk_assigned_gb: 17.00
log_disk_free_gb: 30.00
data_disk_gb: 47.00
data_disk_used_gb: 0.12
data_disk_free_gb: 46.88
1 row in set (0.00 sec)

*************************** 1. row ***************************
tenant_id: 1
tenant_name: sys
resource_pool_name: sys_pool
unit_count: 1
unit_config_name: sys_unit_config
max_cpu: 1
min_cpu: 1
mem_size_gb: 1.00
log_disk_size_gb: 7.00
max_iops: 9223372036854775807
min_iops: 9223372036854775807
unit_id: 1
zone: zone1
observer: 22.0.2.205:2882
*************************** 2. row ***************************
tenant_id: 1004
tenant_name: tenant1
resource_pool_name: pool_tenant1_zone1
unit_count: 1
unit_config_name: unitconfig_tenant1_zone1
max_cpu: 1
min_cpu: 1
mem_size_gb: 3.00
log_disk_size_gb: 10.00
max_iops: 9223372036854775807
min_iops: 9223372036854775807
unit_id: 1002
zone: zone1
observer: 22.0.2.205:2882
2 rows in set (0.01 sec)
集群2:
*************************** 1. row ***************************
zone: zone1
svr_ip: 22.0.0.66
svr_port: 2882
cpu_capacity: 16
cpu_assigned: 1
cpu_min_free: 15
cpu_capacity_max: 16
cpu_assigned_max: 1
cpu_max_free: 15
memory_total_gb: 9.00
system_memory_gb: 1.00
mem_assigned_gb: 1.00
memory_free_gb: 7.00
log_disk_capacity_gb: 47.00
log_disk_assigned_gb: 7.00
log_disk_free_gb: 40.00
data_disk_gb: 47.00
data_disk_used_gb: 0.05
data_disk_free_gb: 46.95
1 row in set (0.01 sec)

*************************** 1. row ***************************
tenant_id: 1
tenant_name: sys
resource_pool_name: sys_pool
unit_count: 1
unit_config_name: sys_unit_config
max_cpu: 1
min_cpu: 1
mem_size_gb: 1.00
log_disk_size_gb: 7.00
max_iops: 9223372036854775807
min_iops: 9223372036854775807
unit_id: 1
zone: zone1
observer: 22.0.0.66:2882
1 row in set (0.03 sec)

问题1

两个集群剩余可为租户分配cpu内存日志磁盘都为15 7G 40G,这个剩余可分配在数据库中怎么查看呢?

从上面的记录可以看出,这里说的cpu、memory、logdisk分别为 15c/7g/40g是集群只有sys租户的时候集群剩余(可用)容量。

  • gv$ob_servers 的cpu_max/min_free=14, tenant1租户的min/max cpu=1,所以创建之前是15c。

  • gv$ob_servers 的memory_free_gb=4g, tenant1租户的memory_size=3g,所以创建之前是7g。

  • gv$ob_servers 的log_disk_free_gb=30g, tenant1租户的log_disk_size_gb=10g,所以创建之前是40g。

问题2

我在集群1上创建tenant1租户分配1 3G 10G后,为什么在集群2创建租户时可选的cpu内存也剩14 4G 30G了呢?

在集群1创建完tenant1租户后,在集群2上创建备租户前不会影响当前集群2的可用资源,这里应该是 ob-operator 中直接按照主租户的规格进行了扣除后的资源大小。

您好,请问 dashboard 的版本是多少?可以在界面右上角的帮助里查看该信息

从gv$ob_servers 里看cpu_capacity_(max)是16,sys租户的min/max_cpu=1,所以创建备租户前提示可用的cpu=15c。
从gv$ob_servers 里看memory_total_gb=9g,system_memory_gb=1g 即可分配给租户的内存上限为memory_total_gb-system_memory_gb=8g,sys租户的mem_size_gb=1,所以创建备租户前提示可用的memory=7g。
从gv$ob_servers 里看log_disk_capacity_gb=47g,sys租户的log_disk_size_gb=7g,所以创建备租户前提示可用的log_disk_size_gb=40g。

版本号: 0.2.0-a137a7db2c46ba16e7b008f374e4e96b36a9a6f7-20240425122447

创建备租户失败是在看到“剩余内存只剩 4G” 之前还是之后发生的呢?

7G,我主租户3G,剩4G,然后创建备租户3G,然后就失败了。

创建集群的时候参数设置是什么样的呢?