通过 TiOperator 恢复共享存储备份数据
作者: 清风明月原文来源:https://tidb.net/blog/a6f70148
本文章介绍了通过 BR 对 tidb 数据库备份到共享存储上,本文将结束将 NFS 共享存储上的备份数据恢复到 K8S 集群环境上。本文介绍的恢复方法基于 TiOperator 的 CustomResourceDefinition (CRD) 实现,底层使用 BR 工具来恢复数据。BR 全称为 Backup & Restore,是 TiDB 分布式备份恢复的命令行工具,用于对 TiDB 集群进行数据备份和恢复。
常用场景
当使用 BR 将 TiDB 集群数据备份到持久卷后,如果需要从持久卷将备份的 SST (键值对) 文件恢复到 TiDB 集群,请参考本文使用 BR 进行恢复。
注意
BR 只支持 TiDB v3.1 及以上版本。
BR 恢复的数据无法被同步到下游,因为 BR 直接导入 SST 文件,而下游集群目前没有办法获得上游的 SST 文件。
1. 下载 backup-rbac
2. 执行命令创建恢复所需的 RBAC 相关资源
备注:如果 TiDB 版本高于 v4.0.8 可以忽略此步骤,如果低于需要执行如下操作确保你拥有恢复数据库 mysql.tidb
表的 SELECT
和 UPDATE
权限,用于恢复前后调整 GC 时间。创建 restore-demo2-tidb-secret
secret:
3. 从共享存储恢复数据
3.1. 创建恢复的配置文件,将指定的备份数据恢复到 TiDB 集群
3.2. 应用配置文件,并验证恢复数据
3.3. 查看恢复的数据库和表
总结
在配置 restore.yaml
文件时,请参考以下信息:
以上示例中,存储在 NFS 上
local://${.spec.local.volume.nfs.path}/${.spec.local.prefix}/
文件夹下的备份数据,被恢复到 tidb 命名空间中的 TiDB 集群 yz。更多持久卷存储相关配置,参考 Local 存储字段介绍。.spec.br
中的一些参数项均可省略,如logLevel
、statusAddr
、concurrency
、rateLimit
、checksum
、timeAgo
、sendCredToTikv
。更多.spec.br
字段的详细解释,参考 BR 字段介绍。如果使用 TiDB >= v4.0.8, BR 会自动调整
tikv_gc_life_time
参数,不需要在 Restore CR 中配置spec.to
字段。更多
Restore
CR 字段的详细解释,参考 Restore CR 字段介绍。
具体可以参考下官方文档,介绍比较详细,具体如下:https://docs.pingcap.com/zh/tidb-in-kubernetes/stable/restore-from-pv-using-br#%E7%AC%AC-2-%E6%AD%A5%E4%BB%8E%E6%8C%81%E4%B9%85%E5%8D%B7%E6%81%A2%E5%A4%8D%E6%95%B0%E6%8D%AE
版权声明: 本文为 InfoQ 作者【TiDB 社区干货传送门】的原创文章。
原文链接:【http://xie.infoq.cn/article/df93aad9d04c4baf102db649c】。文章转载请联系作者。
评论