首批通过分布式安全可靠测评,为关键业务系统打造
备份与恢复
更新时间:2025-10-02 10:10:25
obd 自 V3.2.0 起支持通过命令进行租户备份与恢复的功能,本文详细介绍如何操作。
说明
使用 obd 命令进行备份与恢复时,涉及集群需是被 obd 管理的集群,否则 obd 无法获取集群的信息。obd 部署的集群默认由 obd 管理,非 obd 部署的集群可执行接管操作进行接管。接管的详细操作可参见 使用 obd 接管集群。
- 本文中使用的所有命令的详细介绍均可参见 集群命令组,搜索对应命令即可。
前提条件
在开始之前,请确保您已满足以下条件:
您已安装 V3.2.0 或之后版本 obd,建议安装最新版本。安装 obd 的详细操作您可参见 安装 obd。
待备份或恢复的租户所在集群中存在 obshell,且 obshell 处于正常运行状态。
已配置合适的备份目的端。
租户备份
本节以对部署名为 test 的集群的 obmysql 租户进行备份为例。您需根据实际情况修改示例,建议使用 OSS 作为备份的目的端。
说明
不支持使用备份命令备份系统租户(sys 租户)。
配置备份信息
阿里云 OSSNFSAWS S3obd cluster tenant set-backup-config test obmysql -d 'oss://oceanbase-test-bucket/backup/data?host=****.aliyun-inc.com&access_id=****&access_key=****&delete_mode=delete&checksum_type=md5' -a 'oss://oceanbase-test-bucket/backup/log?host=****.aliyun-inc.com&access_id=****&access_key=****&delete_mode=delete&checksum_type=md5'示例中,
oss://表示使用 OSS 作为备份介质类型,存储桶名oceanbase-test-bucket,在存储桶中的路径是/backup/data和/backup/log,同时使用?来分隔路径的其他参数,host用于设置存储桶的主机地址,access_id和access_key用于设置 OSS 的访问密钥,清理模式为delete,使用 MD5 算法来校验备份数据的完整性。数据备份路径中参数的具体介绍可参见官网《OceanBase 数据库》文档 SET DATA_BACKUP_DEST 一文中
data_backup_path部分内容。obd cluster tenant set-backup-config test obmysql -d 'file:///data/nfs/backup/data' -a 'file:///data/nfs/backup/log'obd cluster tenant set-backup-config test obmysql -d 's3://oceanbase-test-bucket/backup/data?host=s3.<region>.amazonaws.com&access_id=****&access_key=****&s3_region=****&delete_mode=delete&checksum_type=crc32' -a 's3://oceanbase-test-bucket/backup/log?host=s3.<region>.amazonaws.com&access_id=****&access_key=****&s3_region=****&delete_mode=delete&checksum_type=crc32'示例中,
s3://表示使用 S3 作为备份介质类型,存储桶名oceanbase-test-bucket,在存储桶中的路径是/backup/data和/backup/log,同时使用?来分隔路径的其他参数,host用于设置 Amazon S3 服务的域名,access_id和access_key用于设置 AWS 服务的访问密钥,s3_region在使用 S3 作为备份介质时为必选参数,表示 S3 的存储桶所在的地域,清理模式为delete,使用 CRC32 算法来校验备份数据的完整性。数据备份路径中参数的具体介绍可参见官网《OceanBase 数据库》文档 SET DATA_BACKUP_DEST 一文中
data_backup_path部分内容。执行备份
执行全量备份执行增量备份obd cluster tenant backup test obmysqlobd cluster tenant backup test obmysql -m incremental查看备份任务
obd cluster tenant backup-show test obmysql此处以备份租户为部署名
test集群中的obmysql租户,OBServer 节点为10.10.10.1为例,您需根据实际情况修改示例。输出如下,task_status列状态为COMPLETED表示备份成功。+---------------------------------------------------------------------------------------------------------+ | backup task details of backup tenant obmysql | +-----------+----------------------------------+----------------------------------+-------------+---------+ | tenant_id | start_timestamp | end_timestamp | task_status | comment | +-----------+----------------------------------+----------------------------------+-------------+---------+ | 1002 | 2025-03-26T14:56:47.623096+08:00 | 2025-03-26T14:58:15.234362+08:00 | COMPLETED | - | +-----------+----------------------------------+----------------------------------+-------------+---------+(可选)取消备份任务
obd cluster tenant backup-cancel test obmysql该命令可取消非
COMPLETED状态的备份任务,执行取消备份命令后,可等几分钟后执行obd cluster tenant backup-show命令查看备份任务是否已取消。输出如下,task_status列状态为CANCELED表示备份任务已取消。+--------------------------------------------------------------------------------------------------------------------+ | backup task details of backup tenant obmysql | +-----------+----------------------------------+----------------------------------+-------------+--------------------+ | tenant_id | start_timestamp | end_timestamp | task_status | comment | +-----------+----------------------------------+----------------------------------+-------------+--------------------+ | 1002 | 2025-03-26T15:15:49.728777+08:00 | 2025-03-26T15:16:18.547451+08:00 | CANCELED | Operation canceled | +-----------+----------------------------------+----------------------------------+-------------+--------------------+
租户恢复
本节以在部署名为 obtest 的集群中创建 restore_1 租户,并将备份数据恢复到该租户为例,您需根据实际情况修改示例。
执行恢复
阿里云 OSSNFSAWS S3obd cluster tenant restore obtest restore_1 'oss://oceanbase-test-bucket/backup/data/?host=***.aliyun-inc.com&access_id=***&access_key=***' 'oss://oceanbase-test-bucket/backup/log/?host=***.aliyun-inc.com&access_id=***&access_key=***' --memory_size=2G --max_cpu=2您可通过指定命令选项设置待恢复租户的资源情况,未设置选项时默认使用集群剩余所有资源创建待恢复租户。命令的详细介绍可参见 集群命令组 中 obd cluster tenant restore 介绍。
obd cluster tenant restore obtest restore_1 'file:///data/nfs/backup/data' 'file:///data/nfs/backup/log' --memory_size=2G --max_cpu=2您可通过指定命令选项设置待恢复租户的资源情况,未设置选项时默认使用集群剩余所有资源创建待恢复租户。命令的详细介绍可参见 集群命令组 中 obd cluster tenant restore 介绍。
obd cluster tenant restore obtest restore_1 's3://oceanbase-test-bucket/backup/data?host=s3.<region>.amazonaws.com&access_id=****&access_key=****&s3_region=****' 's3://oceanbase-test-bucket/backup/log?host=s3.<region>.amazonaws.com&access_id=****&access_key=****&s3_region=****' --memory_size=2G --max_cpu=2您可通过指定命令选项设置待恢复租户的资源情况,未设置选项时默认使用集群剩余所有资源创建待恢复租户。命令的详细介绍可参见 集群命令组 中 obd cluster tenant restore 介绍。
查看恢复任务
obd cluster tenant restore-show obtest restore_1此处以恢复租户为部署名
obtest集群中的restore_1租户为例,您需根据实际情况修改示例。输出如下,task_status列状态为SUCCESS表示恢复成功。+--------------------------------------------------------------------------------------------------------+ | restore task details of restore tenant restore_1 | +-----------+----------------------------------+---------------------------------+-------------+---------+ | tenant_id | start_timestamp | end_timestamp | task_status | comment | +-----------+----------------------------------+---------------------------------+-------------+---------+ | 1 | 2025-03-26T15:27:00.930773+08:00 | 2025-03-26T15:32:11.33193+08:00 | SUCCESS | - | +-----------+----------------------------------+---------------------------------+-------------+---------+查看集群租户
obd cluster tenant show obtest输出如下:
+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | tenant basic info | +-------------+-------------+--------------------+--------------+---------+---------+-------------+---------------------+---------------------+---------------+-------------+-------------+ | tenant_name | tenant_type | compatibility_mode | primary_zone | max_cpu | min_cpu | memory_size | max_iops | min_iops | log_disk_size | iops_weight | tenant_role | +-------------+-------------+--------------------+--------------+---------+---------+-------------+---------------------+---------------------+---------------+-------------+-------------+ | sys | SYS | MYSQL | RANDOM | 3.0 | 3.0 | 1G | 9223372036854775807 | 9223372036854775807 | 2G | 3 | PRIMARY | | restore_1 | USER | MYSQL | RANDOM | 2.0 | 2.0 | 2G | 9223372036854775807 | 9223372036854775807 | 6G | 2 | PRIMARY | +-------------+-------------+--------------------+--------------+---------+---------+-------------+---------------------+---------------------+---------------+-------------+-------------+(可选)取消恢复任务
可执行如下命令取消租户恢复任务,需注意,仅可取消非
SUCCESS状态的恢复任务。obd cluster tenant restore-cancel obtest restore_1命令执行成功后,可执行
obd cluster tenant show命令查看集群中的租户(输出中无obtest租户),或执行obd cluster tenant restore-show命令查看恢复任务(报错无对应租户)。
相关文档
OceanBase 数据库的备份与恢复功能可详见官网《OceanBase 数据库》文档 管理数据库/备份恢复 章节。
数据备份路径中参数的具体介绍可参见官网《OceanBase 数据库》文档 SET DATA_BACKUP_DEST 一文中
data_backup_path部分内容。