首批通过分布式安全可靠测评,为关键业务系统打造
创建备实例
更新时间:2026-07-09 15:25:37
本文分为三种场景介绍如何使用 obd 快速创建 seekdb 备实例。
概念介绍
主备库是 seekdb 提供的高可用方案:通过部署只读的备实例从主实例同步数据,当主实例出现计划内或计划外的不可用情况时,备实例可以接管服务,最大限度降低服务停机时间,减少可能带来的数据损失。
主实例(PRIMARY)是用户创建的业务实例,支持完整的数据库服务能力,包括:查询、DML、DDL 等;备实列(STANDBY)则仅提供容灾和只读服务的能力。
前提条件
seekdb 主实例为 V1.2.0 或之后版本,且由 obd 管理。
obd 部署的 seekdb 默认由 obd 管理;若 seekdb 主实例非 obd 部署,可使用 obd 接管对应 seekdb 实例,具体操作可参见 使用 obd 执行接管 中 接管 seekdb 实例 部分。
需保证主实例是正常运行状态,可执行
obd seekdb display命令查看 seekdb 实例状态。简单体验时主实例资源最少为 1C1GB 内存、3GB 日志磁盘,长期使用建议主实例资源为 1C4GB 内存及以上。
操作步骤
本节分为如下三个场景介绍创建备实例的操作。
场景一:一主一备
一主一备的部署模式简单概括即为:存在
seekdb_A、seekdb_B两个 seekdb 实例,seekdb_A实例为主实例,seekdb_B实例为seekdb_A实例的备实例。场景二:一主两备
一主两备的部署模式简单概括即为:存在
seekdb_A、seekdb_B和seekdb_C三个 seekdb 实例,seekdb_A实例为主实例,seekdb_B和seekdb_C实例均为seekdb_A实例的备实例。场景三:级联主备
级联主备的部署模式简单概况即为:存在
seekdb_A、seekdb_B和seekdb_C三个 seekdb 实例,seekdb_A实例为主实例,seekdb_B实例为seekdb_A实例的备实例,seekdb_C实例为seekdb_B实例的备实例。
创建备实例
可执行如下命令创建备实例,命令执行后将开启交互式部署流程。需在交互式部署流程中配置 seekdb 备实例信息,并选择主实例的部署名。命令执行的具体介绍可参见 部署 seekdb 中 交互式部署 seekdb 部分。
obd seekdb install --standby查看 seekdb 实例的主备关系
obd seekdb display seekdb_B -g-g参数可以展示主备实例拓扑信息,输出如下所示:Get local repositories and plugins ok Open ssh connection ok Connect to seekdb 10.10.10.1:2881 ok Wait for seekdb init ok +--------------------------------+ | seekdb | +---------------+---------+------+ | ip | version | port | +---------------+---------+------+ | 10.10.10.1 | 1.2.0.0 | 2881 | +---------------+---------+------+ obclient -h10.10.10.1 -P2881 -uroot -p'********' -Doceanbase -A Cluster Topology: seekdb_A └── seekdb_B验证同步
登录备实例,执行如下命令查看同步情况。
MySQL [(oceanbase)]> select * from __all_virtual_server_stat\G输出如下:
*************************** 1. row *************************** svr_ip: 127.0.0.1 svr_port: 2882 sql_port: 2881 rpc_port: 2882 cpu_capacity: 8 cpu_capacity_max: 8 cpu_assigned: 2 cpu_assigned_max: 2 mem_capacity: 1073741824 mem_assigned: 1073741824 data_disk_capacity: 150403547136 data_disk_in_use: 31457280 data_disk_health_status: NORMAL data_disk_abnormal_time: 0 log_disk_capacity: 3221225472 log_disk_assigned: 3221225472 log_disk_in_use: 134217728 rpc_cert_expire_time: 2089754466000000 rpc_tls_enabled: 1 memory_limit: 1073741824 data_disk_allocated: 21474836480 data_disk_assigned: NULL start_service_time: 1774423270740291 create_time: 1774423267357315 role: STANDBY switchover_status: NORMAL log_restore_source: 10.10.10.1:2882 sync_scn: 1774427027950470000 readable_scn: 1774427027950470000
为主实例
seekdb_A创建备实例seekdb_B命令执行后将开启交互式部署流程,需在交互式部署流程中配置 seekdb 备实例信息,并选择主实例的部署名。命令执行的具体介绍可参见 部署 seekdb 中 交互式部署 seekdb 部分。
obd seekdb install --standby重复上述操作,为主实例
seekdb_A创建备实例seekdb_C查看 seekdb 实例的主备关系
执行如下命令查看 seekdb 实例的主备关系,此处以查看
seekdb_B实例为例。obd seekdb display seekdb_B -g-g参数可以展示主备实例拓扑信息,输出如下所示:Get local repositories and plugins ok Open ssh connection ok Connect to seekdb 10.10.10.1:2881 ok Wait for seekdb init ok +--------------------------------+ | seekdb | +---------------+---------+------+ | ip | version | port | +---------------+---------+------+ | 10.10.10.1 | 1.2.0.0 | 2881 | +---------------+---------+------+ obclient -h10.10.10.1 -P2881 -uroot -p'********' -Doceanbase -A Cluster Topology: seekdb_A ├── seekdb_B └── seekdb_C验证同步
登录备实例,执行如下命令查看同步情况。
MySQL [(oceanbase)]> select * from __all_virtual_server_stat\G输出如下:
*************************** 1. row *************************** svr_ip: 127.0.0.1 svr_port: 2882 sql_port: 2881 rpc_port: 2882 cpu_capacity: 8 cpu_capacity_max: 8 cpu_assigned: 2 cpu_assigned_max: 2 mem_capacity: 1073741824 mem_assigned: 1073741824 data_disk_capacity: 150403547136 data_disk_in_use: 31457280 data_disk_health_status: NORMAL data_disk_abnormal_time: 0 log_disk_capacity: 3221225472 log_disk_assigned: 3221225472 log_disk_in_use: 134217728 rpc_cert_expire_time: 2089754466000000 rpc_tls_enabled: 1 memory_limit: 1073741824 data_disk_allocated: 21474836480 data_disk_assigned: NULL start_service_time: 1774423270740291 create_time: 1774423267357315 role: STANDBY switchover_status: NORMAL log_restore_source: 10.10.10.1:2882 sync_scn: 1774427027950470000 readable_scn: 1774427027950470000
为主实例
seekdb_A创建备实例seekdb_B命令执行后将开启交互式部署流程,需在交互式部署流程中配置 seekdb 备实例信息,并选择主实例的部署名。命令执行的具体介绍可参见 部署 seekdb 中 交互式部署 seekdb 部分。
obd seekdb install --standby重复上述操作,为实例
seekdb_B创建备实例seekdb_C查看 seekdb 实例的主备关系
执行如下命令查看 seekdb 实例的主备关系,此处以查看
seekdb_B实例为例。obd seekdb display seekdb_B -g-g参数可以展示主备实例拓扑信息,输出如下所示:Get local repositories and plugins ok Open ssh connection ok Connect to seekdb 10.10.10.1:2881 ok Wait for seekdb init ok +--------------------------------+ | seekdb | +---------------+---------+------+ | ip | version | port | +---------------+---------+------+ | 10.10.10.1 | 1.2.0.0 | 2881 | +---------------+---------+------+ obclient -h10.10.10.1 -P2881 -uroot -p'********' -Doceanbase -A Cluster Topology: seekdb_A └── seekdb_B └── seekdb_C验证同步
登录备实例,执行如下命令查看同步情况。
MySQL [(oceanbase)]> select * from __all_virtual_server_stat\G输出如下:
*************************** 1. row *************************** svr_ip: 127.0.0.1 svr_port: 2882 sql_port: 2881 rpc_port: 2882 cpu_capacity: 8 cpu_capacity_max: 8 cpu_assigned: 2 cpu_assigned_max: 2 mem_capacity: 1073741824 mem_assigned: 1073741824 data_disk_capacity: 150403547136 data_disk_in_use: 31457280 data_disk_health_status: NORMAL data_disk_abnormal_time: 0 log_disk_capacity: 3221225472 log_disk_assigned: 3221225472 log_disk_in_use: 134217728 rpc_cert_expire_time: 2089754466000000 rpc_tls_enabled: 1 memory_limit: 1073741824 data_disk_allocated: 21474836480 data_disk_assigned: NULL start_service_time: 1774423270740291 create_time: 1774423267357315 role: STANDBY switchover_status: NORMAL log_restore_source: 10.10.10.1:2882 sync_scn: 1774427027950470000 readable_scn: 1774427027950470000