看了很多架构,好像大家环境中,每个zone的observer数量和配置都是一样的,所以才有这个疑问。
如题:
1、不同zone里的observer数量可以不一致吗?比如一个zone里有3台observer,另一个zone里有2台observer。
2、同一个zone 里的observer配置可以不一致吗?比如两台4c8G ,另外两台8c16G , 假如一个租户给的资源单元是5c9G ,那是不是最多的unit_num 不能超过2 。问题又来了,假如副本发生迁移,能飘到4c8G的observer上吗
1、不同Zone内的Observer数量可以不一致
2、同一Zone内的Observer配置可以不同,副本发生迁移时,rootserver会会根据目标服务器的剩余资源情况迁移,如果4c8G的observer资源不够不会迁移到上面
- 一个租户在同一个 zone上仅能有一个资源池,
- 资源池包含多个资源单元
- 同一个租户,在一个observer上只能有一个资源单元。【so,对同一个租户来说,分配几个资源单元,其实就是分配几台observer】
如果我理解的这个原则没错的话。
假如zone1里3台observer, zone2里2台observer。 资源充足的情况下,这两个zone里的租户,对同一个租户来说,unit_num不能超过2 吗,如果是3个unit_num, 在zone2里建不起来。 ![]()
对于您的问题,我可以总结如下答案:
-
不同Zone里的Observer数量可以不一致吗?
- 是的,不同Zone中的Observer数量可以不一致。例如,一个Zone中有3台Observer,而另一个Zone中有2台Observer,这种配置是可行的。不过需要注意的是,OceanBase 集群的高可用性和容灾设计依赖于多Zone架构,Zone的数量和每个Zone内的节点数量会影响集群的性能和可用性。具体操作可以参考 使用 OCP 进行运维 → OCP 扩缩容 OceanBase 集群及租户。
-
同一个Zone里的Observer配置可以不一致吗?
- 同一个Zone内的Observer配置可以不一致。例如,一个Zone内可以有两台4c8G的Observer和两台8c16G的Observer。对于您提到的情况,一个租户给的资源单元是5c9G,那么在这个Zone中最多可以分配2个这样的资源单元。这是因为每个租户在一个Zone上的资源单元不能超过该Zone内的Observer数量。如果副本发生迁移,理论上是可以迁移到4c8G的Observer上的,但前提是该Observer上的资源足够满足租户的需求。具体资源分配和限制可以参考 查看 OceanBase 集群资源的使用情况 → 多租户原理简介。
-
关于租户资源单元的分配
- 一个租户在一个Zone上只能有一个资源池,资源池包含多个资源单元。对于您提到的场景,如果Zone1中有3台Observer,而Zone2中有2台Observer,那么对于同一个租户来说,unit_num不能超过2,因为Zone2中的Observer数量不足以支持更多的资源单元。如果尝试分配3个unit_num,将会在Zone2中建不起来,导致资源分配失败。具体资源分配和限制可以参考 查看 OceanBase 集群资源的使用情况 → 多租户原理简介 和 使用 ob-operator 进行运维 → OceanBase 集群的运维 → 缩容集群 → 横向缩容集群。
希望以上信息能帮助您更好地理解OceanBase集群的资源配置和管理。
具体信息可参考以下文档: