请问OCP创建租户对应的资源池是每个zone有一个资源池, 相对于一个租户仅有1个资源池这种方式,有什么优势吗?

OCP在创建租户的时候屏蔽了resource unit、resource pool创建的细节,OCP创建租户对应的资源池是每个zone有一个资源池, 相对一个租户有1个资源池这种方式,有什么优势吗?纯方案层面的讨论

OCP创建租户对应的资源池是每个zone有一个资源池的方式:
create resource unit config_tenant_obtest_zone2_S1_kiq max_cpu=2, max_memory=‘1G’, max_iops=10000, max_disk_size=‘10G’, max_session_num=1000000;
create resource unit config_tenant_obtest_zone1_S1_wfr max_cpu=2, max_memory=‘1G’, max_iops=10000, max_disk_size=‘10G’, max_session_num=1000000;
create resource unit config_tenant_obtest_zone3_S1_evo max_cpu=2, max_memory=‘1G’, max_iops=10000, max_disk_size=‘10G’, max_session_num=1000000;

create resource pool pool_tenant_obtest_zone1_wfr unit=config_tenant_obtest_zone2_S1_kiq, unit_num=1, ZONE_LIST=(‘zone1’);
create resource pool pool_tenant_obtest_zone3_evo unit=config_tenant_obtest_zone1_S1_wfr, unit_num=1, ZONE_LIST=(‘zone2’);
create resource pool pool_tenant_obtest_zone2_kiq unit=config_tenant_obtest_zone3_S1_evo, unit_num=1, ZONE_LIST=(‘zone3’);

create tenant obcp_t1 charset=‘utf8mb4’, zone_list=(‘zone1,zone2,zone3’),primary_zone=‘zone1,zone2,zone3’, resource_pool_list=(‘pool_tenant_obtest_zone1_wfr’,‘pool_tenant_obtest_zone3_evo’,‘pool_tenant_obtest_zone2_kiq’) set ob_tcp_invited_nodes=’%’;

一个租户仅有1个资源池的方式:
create resource unit ut_5c2g max_cpu=2, max_memory=‘1G’, max_iops=10000,
max_disk_size=‘10G’, max_session_num=1000000;
create resource pool pl_5c2g unit=ut_2c2g, unit_num=1;
create tenant obcp_t1 charset=‘utf8mb4’, zone_list=(‘zone1,zone2,zone3’),
primary_zone=‘zone1,zone2,zone3’, resource_pool_list=(‘pl_5c2g’) set
ob_tcp_invited_nodes=’%’;

我也发现这个问题了,用ocp创建的时候,看日志创建了很多。猜测这样拆分成多步,粒度更小,可能更方便追踪状态吧,有异常更能定位到是哪台有问题,方便回滚。

单个资源池的优势,在节点替换变更副本数量的时候可以直接修改resource pool list,去掉故障节点上的资源池,而如果是一个资源池的话,则需要先对资源池进行拆分,然后再修改resource pool list,总的来说就是管理更灵活。

1 个赞

ob的资源池规划原本是可以非常灵活的。但OCP为了用户操作上的简单便捷,在资源池的设计上,建立了一些人为的约束。资源池的创建和删除,做到对用户完全透明,用户无需感知。在创建租户时,会默认给指定的每个zone下都创建各自的资源池,删除租户时,删除所有资源池。另外,对用户包装了增加副本和删除副本两个操作类型,其目的是在新的zone上增加副本和在原有zone上删除副本,在这两个操作的实现中会在指定的zone上创建/删除资源池。

OCP屏蔽了对资源池的操作细节这块我可以理解,我想问的是OCP这种一个租户对应多个资源池(每个zone对应1个资源池),与一个租户对应1个资源池这种管理方式有什么优劣势吗?

ocp分配unit时配置的单zone方式,方便于当某个zone的节点压力过大时修改单zone的资源规格如下图可以单独修改zone3的资源规格,意思就是便于管理每个zone的资源使用情况

就是说,每个zone对应一个资源池,这样的管理方式更为灵活呗?

理论上是的,加减zone,zone内缩扩observer不会影响其他的。