租户创建问题

在创建集群时,有明确要求是奇数的zone吗?那在创建租户时,可以指定偶数的zone是可以的吗?

3 个赞

@论坛小助手

3 个赞

在创建集群时,并没有明确规定 Zone 的数量必须为奇数,但推荐使用奇数个 Zone 以确保系统的高可用性和稳定性。这是因为奇数个 Zone 可以避免脑裂问题,确保在部分节点失效时,仍有一个明确的主节点。
在创建租户时,可以指定任意数量的 Zone,无论是奇数还是偶数。但是,为了确保租户的高可用性和数据的一致性,建议仍然使用奇数个 Zone。

具体信息可参考以下文档:

  1. 租户的资源管理
  2. 将资源池分配给租户
  3. 进行 Sysbench 测试
  4. 进行 TPC-C 测试
  5. 进行 TPC-H 测试
3 个赞

如果集群使用2个ZONE,创建租户也使用2个ZONE时,如一个ZONE出现故障,整个集群或租户是否会出现不可用的情况? @论坛小助手

3 个赞

当集群使用2个ZONE,且创建租户也使用2个ZONE时,如果其中一个ZONE出现故障,会导致租户的多数副本不可用,进而造成租户的服务不可用。为了保障高可用性,建议使用至少3个ZONE,以便在单个ZONE故障时仍能维持服务的正常运行。

具体信息可参考以下文档:

  1. 高可用集群存在租户unit<2,使用obd升级失败
  2. 租户的资源管理
3 个赞

v3好像有这个要求

3 个赞

就是说可以使用偶数的ZONE建集群和租户,如2个ZONE,只是没有高可用服务,和单个ZONE类似没有高可用服务,是这么理解吗? @论坛小助手

2 个赞

您的理解基本正确。在 OceanBase 数据库中,可以使用任意数量的 Zone 来构建集群和租户。但是,使用偶数个 Zone(如 2 个 Zone)确实意味着无法在所有 Zone 都具备高可用性。具体来说,如果一个 Zone 发生故障,剩下的 Zone 将无法形成超过半数的共识,从而导致集群的部分或全部服务不可用。因此,使用 2 个 Zone 的集群和租户与单个 Zone 类似,都缺乏高可用性保障。

检索到的文档如下:

  1. 集群架构
  2. 高可用集群存在租户unit<2,使用obd升级失败
  3. 租户的资源管理
1 个赞

就像您刚刚说的 2个zone 。多zone的目的就是 实现高可用的 , 2个zone和一个zone都无法满足 多数派协议,没有高可用,那么 这么做就是浪费资源或者仅仅测试用一下

3 个赞

创建的时候,如果是三个zone,就默认选择三个zone,可以增加与删除zone,

3 个赞

在创建集群时使用3个ZONE,创建租户A时使用2个ZONE,创建其他租户使用3个ZONE,当租户A其中的一个ZONE出现故障时,只会影响租户A不可用,集群和其他租户不受影响,可以这么理解吗? @论坛小助手

当租户A的其中一个Zone出现故障时,确实只会影响租户A的服务,集群和其他租户不受影响。为了确保高可用性,您可以通过停止故障Zone的方式来隔离故障副本,详情参见隔离 Zone,或者通过主动切主的方式将Leader切换到指定Zone,具体操作请参见数据库层高可用

更多信息请查看:

  1. 租户的资源管理
  2. 容灾架构及容灾级别
  3. 容灾部署方案
1 个赞

点赞

那4个zone呢?一个发生故障,剩余三个是可以形成超过半数的共识的吧?

V3有这个要求,只要集群的节点不满足多数派,集群就会不可用

1 个赞

故障一个zone,集群正常运行,故障2个zone,集群就挂了,一般建集群是5zone,2个zone故障时,集群还可以正常运行