部署主备集群前,需要确认当前环境配置已满足主备集群的配置要求。

硬件和操作系统要求

OceanBase 数据库支持部署在 x86 以及 ARM 架构的物理服务器和主流的虚拟机上,其操作系统支持主流的 Linux 发行版本。

同时,主集群和备集群还支持异构部署,主要支持以下异构场景:

  • 支持服务器和操作系统配置异构

    例如,主集群采用 x86 架构的服务器,备集群采用 ARM 架构的服务器。

  • 支持 Zone 个数的配置异构

    例如,主集群部署 5 个 Zone,支持五副本;备集群部署 3 个 Zone,支持三副本。

  • 支持 Zone 内服务器个数的配置异构

    例如,主集群的一个 Zone 内有 3 台服务器,备集群的一个 Zone 内有 1 台服务器。

    Zone 内服务器个数的配置异构会导致主集群与备集群的 CPU、内存和存储资源不对等。

OceanBase 数据库虽然支持异构部署,但是异构部署必然带来额外的运维代价,例如,创建租户时可能会因为资源不对等造成备集群在创建租户时卡住。为了尽量减少运维代价,OceanBase 数据库提供了以下两种异构部署的最佳实践。

异构部署方案

示例

优势

劣势

硬件资源完全对等

主集群五副本 1:1:1:1:1 部署,备集群提供 5 台对等机器

不存在运维代价

部署成本高,备集群占用资源多

Zone 内服务器的配置对等,Zone 的个数配置不同

主集群五副本 3:3:3:3:3 部署,备集群部署单副本 3 台对等的机器

单个 Zone 内服务器的配置对等,降低了租户资源配置异构运维的代价,并且通过 Zone 个数的灵活配置,降低了整体的部署成本

备集群容灾能力与主集群不对等;主备切换后,计算资源不对等,影响服务能力

OceanBase 数据库系统要求

使用主备库功能前,您的 OceanBase 数据库系统需要满足以下要求:

  • 主备库是 OceanBase 数据库企业版的特性,暂不支持在其他版本上使用。

  • 除滚动升级场景外,主集群和备集群的版本要求保持一致。

    说明

    滚动升级是指一次升级任务中会同时升级主集群和备集群,升级顺序为先升级备集群,再升级主集群。

  • 在主集群升级过程中,不允许新建备集群;主集群升级成功后,需要合并一轮后才能新建备集群。

  • “主-备”是集群级别的概念,不支持租户级别的“主-备”,也不支持租户级的黑白名单。

  • OceanBase 数据库仅支持最多配置 31 个备集群。

  • 每个集群都有集群名(cluster_name)和集群 ID(cluster_id),要求“集群名+集群ID”全局唯一。

  • 在主备库配置中,要求主集群和备集群拥有相同的集群名,通过集群 ID 来区分不同的集群。

  • 主集群的 Locality 和 Primary Zone 仅允许租户级别的配置,不允许 Table 级别、Tablegroup 级别或者 Database 级别的配置。

  • 主集群上所有普通租户的时间戳服务 ob_timestamp_service 必须采用 GTS。

  • 主集群上不允许打开一阶段提交事务开关,即 enable_one_phase_commit 的值需要设置为 False

  • 物理备份只能在主集群上开启,备集群暂不支持物理备份。

  • 由于备集群不支持同步物理恢复的租户数据,故:

    • 主集群物理恢复租户后,不支持立即新建备集群,需要合并一轮后才允许新建备集群。

    • 在配置备集群时,不支持主集群物理恢复租户。

  • 不支持从物理备份数据中恢复一个备集群。