首批通过分布式安全可靠测评,为关键业务系统打造
设置 backup_zone
更新时间:2026-05-08 19:40:04
本节以两地三中心部署架构为例,为配置项 backup_zone 的正确设置提供使用指导。
场景示例信息
在某些使用场景下(例如,跨城部署场景),由于备份介质的访问问题,会导致集群中某些 OBServer 无法访问备份介质,此时需要您通过设置 backup_zone 配置项,指定哪些 OBServer 可以备份。
以两地三中心的部署架构为例,部署架构图如下图所示。

图中,OceanBase 数据库主库的 5 副本跨越了 3 个机房和 2 个城市,即 2(深圳南山)+2(深圳宝安)+1(杭州)的模式。正常情况下,Leader 主要集中在南山的 2 个 Zone 里。假设备份介质 NFS 部署在深圳南山机房,可以跨同城机房访问 NFS,但不允许跨城市访问 NFS,则南山和宝安机房的 OBServer 可以访问 NFS,且南山机房的 OBServer 访问 NFS 属于同机房访问,而宝安机房的 OBServer 访问 NFS 会产生跨机房网络流量;杭州机房的 OBServer 则无法访问 NFS。
设置方法
根据当前示例中的场景,建议的备份配置如下:
指定
z1、z2、z3、z4作为备份的源端。z1和z2在同一优先级,z3和z4在同一优先级,且z1和z2的优先级高于z3和z4。
具体设置步骤如下:
使用
sys租户的root用户登录数据库。执行以下命令,指定可以备份的 Zone。
obclient> ALTER SYSTEM SET backup_zone = 'z1,z2;z3,z4';
注意事项
backup_zone 的使用要求如下:
所有租户(含
sys租户)的 Primary Zone 必须包含在指定备份的backup_zone中。需要确认所有的 Leader 都在
backup_zone指定的 Zone 上。检查用户表、系统表、RootService 的 Leader 是否都在
backup_zone指定的 Zone 上的方法如下:使用
root用户登录到sys租户。进入
oceanbase数据库。obclient> USE oceanbase;分别检查用户表、系统表和 RootService 的 Leader 所在的 Zone。
检查用户表
obclient> select zone, count(*) from __all_virtual_meta_table where role=1 group by zone; +------+----------+ | zone | count(*) | +------+----------+ | z1 | 21 | +------+----------+检查系统表
obclient> select zone, count(*) from __all_root_table where role=1 group by zone; +------+----------+ | zone | count(*) | +------+----------+ | z1 | 1476 | +------+----------+检查 RootService
obclient> select zone, count(*) from __all_virtual_core_meta_table where role=1 group by zone; +------+----------+ | zone | count(*) | +------+----------+ | z1 | 1 | +------+----------+