Skip to content

数据备份与恢复

CKMAN 提供完整的备份策略管理与恢复能力。

备份能力

能力支持
备份目标本地文件系统、S3
触发方式立即备份、定时备份(cron 表达式)
备份粒度全量、分区级
压缩格式gzip, brotli, xz, zstd, none
自动清理按保留天数自动清理过期备份
备份历史可查看每次备份的详情

备份策略列表

创建备份策略

数据管理新建备份策略

新建策略

关键字段:

字段说明
策略名用于识别
集群备份对象集群
数据库 / 表备份范围
备份目标本地 / S3
触发方式立即一次性 / cron 定时
压缩格式默认 gzip
保留天数超期自动清理
执行实例多 ckman 实例部署时可指定哪个实例执行(避免跨区流量打满)

S3 备份配置

字段说明
EndpointS3 端点地址
AccessKeyID访问 Key
SecretAccessKey访问 Secret
RegionS3 region
Bucket数据存放 bucket,不存在则自动创建
Compression压缩格式(默认 gzip)

压缩率参考

  • gzip 对比 none:约 80 倍压缩率
  • gzip 压缩入 S3 vs 原 CK 存储:约 2 倍压缩率(CK 自己已经做了 LZ4 压缩)

备份产物路径

<bucket-or-path>/shard_%d_host/cluster/database.table/archive_table_slotbegin/data.suffix.compression

恢复数据

数据管理恢复

恢复

选择历史备份记录后触发恢复任务。恢复过程:

  1. CKMAN 从备份目标拉取数据
  2. 写回目标集群对应表
  3. 任务异步执行,可在任务管理跟踪进度

备份历史

每次执行(立即或定时)都会产生一条 run 记录。可查看:

  • 开始 / 结束时间
  • 耗时
  • 备份大小
  • 各 shard / 节点的状态
  • 失败时的错误日志

删除备份

删除策略 → CKMAN 只删除自己的台账,不会真的删 S3 上的数据。如果要清理 S3 数据,请用 S3 工具单独操作。

增量去重

CKMAN 备份带有去重逻辑:连续的备份不会重复存储未变化的分区数据,节省存储成本。

备份相关接口

接口功能
POST /data_manage/backup/:cluster创建备份任务
GET /data_manage/backup/:cluster备份历史
DELETE /data_manage/backup/run/:run_id删除单次备份记录
POST /data_manage/restore/:cluster恢复数据
GET /data_manage/disks/:cluster获取集群可用本地磁盘

详细参见API 接口

基于 Apache 2.0 协议发布