部署主备集群前,需要确认当前环境配置已满足主备集群的配置要求。
硬件和操作系统要求
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
。物理备份只能在主集群上开启,备集群暂不支持物理备份。
由于备集群不支持同步物理恢复的租户数据,故:
主集群物理恢复租户后,不支持立即新建备集群,需要合并一轮后才允许新建备集群。
在配置备集群时,不支持主集群物理恢复租户。
不支持从物理备份数据中恢复一个备集群。