Skip to content

Commit

Permalink
BR: reorganize content about BR tool (#5299) (#5424)
Browse files Browse the repository at this point in the history
  • Loading branch information
ti-srebot authored Jan 29, 2021
1 parent a8c746c commit 5b6a3f2
Show file tree
Hide file tree
Showing 10 changed files with 580 additions and 610 deletions.
11 changes: 6 additions & 5 deletions TOC.md
Original file line number Diff line number Diff line change
Expand Up @@ -53,10 +53,9 @@
+ [使用 TiDB Operator](https://docs.pingcap.com/zh/tidb-in-kubernetes/v1.1/scale-a-tidb-cluster)
+ 备份与恢复
+ 使用 BR 工具(推荐)
+ [使用 BR 进行备份与恢复](/br/backup-and-restore-tool.md)
+ [BR 备份与恢复场景示例](/br/backup-and-restore-use-cases.md)
+ [BR 存储](/br/backup-and-restore-storages.md)
+ [使用 Dumpling 和 TiDB Lightning 进行备份与恢复(推荐)](/backup-and-restore-using-dumpling-lightning.md)
+ [BR 工具简介](/br/backup-and-restore-tool.md)
+ [使用 BR 命令行备份恢复](/br/use-br-command-line-tool.md)
+ [BR 备份恢复场景示例](/br/backup-and-restore-use-cases.md)
+ [读取历史数据](/read-historical-data.md)
+ [修改时区](/configure-time-zone.md)
+ [日常巡检](/daily-check.md)
Expand Down Expand Up @@ -143,8 +142,10 @@
+ [适用场景](/ecosystem-tool-user-case.md)
+ [工具下载](/download-ecosystem-tools.md)
+ Backup & Restore (BR)
+ [使用 BR 进行备份和恢复](/br/backup-and-restore-tool.md)
+ [BR 工具简介](/br/backup-and-restore-tool.md)
+ [使用 BR 命令行备份恢复](/br/use-br-command-line-tool.md)
+ [BR 备份与恢复场景示例](/br/backup-and-restore-use-cases.md)
+ [BR 存储](/br/backup-and-restore-storages.md)
+ [BR 常见问题](/br/backup-and-restore-faq.md)
+ TiDB Binlog
+ [概述](/tidb-binlog/tidb-binlog-overview.md)
Expand Down
8 changes: 4 additions & 4 deletions backup-and-restore-using-dumpling-lightning.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
---
title: 使用 Dumpling/TiDB Lightning 进行备份与恢复
title: 使用 Dumpling/TiDB Lightning 备份与恢复
---

# 使用 Dumpling/TiDB Lightning 进行备份与恢复
# 使用 Dumpling/TiDB Lightning 备份与恢复

> **注意**
> **警告**
>
> PingCAP 之前维护的 Mydumper 工具 fork 自 [mydumper project](https://github.com/maxbube/mydumper),针对 TiDB 的特性进行了优化。Mydumper 目前已经不再开发新功能,其绝大部分功能已经被 [Dumpling](/dumpling-overview.md) 取代。Dumpling 工具使用 Go 语言编写,支持更多针对 TiDB 特性的优化。请切换到 Dumpling
> 本文提供的备份恢复方法已不再推荐,强烈推荐使用 [BR 工具](/br/backup-and-restore-tool.md)进行备份恢复,以获得更好的工具体验
本文档将详细介绍如何使用 Dumpling/TiDB Lightning 对 TiDB 进行全量备份与恢复。增量备份和同步可使用 [TiDB Binlog](/tidb-binlog/tidb-binlog-overview.md)

Expand Down
50 changes: 25 additions & 25 deletions br/backup-and-restore-faq.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,67 +2,67 @@
title: Backup & Restore 常见问题
summary: BR 相关的常见问题以及解决方法。
---

# Backup & Restore 常见问题

本文列出了在使用 Backup & Restore (BR) 时,可能会遇到的问题及相应的解决方法。

如果遇到未包含在此文档且无法解决的问题,可以在 [AskTUG](http://asktug.com) 社区中提问。

## 恢复的时候,报错 `could not read local://...:download sst failed`,该如何处理?

在恢复的时候,每个节点都必须能够访问到**所有**的备份文件(SST files),默认情况下,假如使用 local storage,备份文件会分散在各个节点中,此时是无法直接恢复的,必须将每个 TiKV 节点的备份文件拷贝到其它所有 TiKV 节点才能恢复。
建议在备份的时候挂载一块 NFS 网盘作为备份盘,详见[将单表数据备份到网络盘](/br/backup-and-restore-use-cases.md#将单表数据备份到网络盘推荐)

建议在备份的时候挂载一块 NFS 网盘作为备份盘,详见[将单表数据备份到网络盘](/br/backup-and-restore-use-cases.md#将单表数据备份到网络盘推荐生产环境使用)

## BR 备份时,对集群影响多大?

使用 `sysbench``oltp_read_only` 场景全速备份到非服务盘,对集群的影响依照表结构的不同,对集群 QPS 的影响在 15%~25% 之间。

如果需要控制备份带来的影响,可以使用 `--ratelimit` 参数限速。

## BR 会备份系统表吗?在数据恢复的时候,这些系统表会冲突吗?

全量备份的时候会过滤掉系统库(`information_schema``performance_schema``mysql`)。参考[备份原理](/br/backup-and-restore-tool.md#工作原理)

因为这些系统库根本不可能存在于备份中,恢复的时候自然不可能发生冲突。

## BR 遇到 Permission denied 错误,即使用 root 运行 BR 也无法解决,该如何处理?

需要确认 TiKV 是否有访问备份目录的权限。如果是备份,确认是否有写权限;如果是恢复,确认是否有读权限。

在进行备份操作时,如果使用本地磁盘或 NFS 作为存储介质,请确保执行 BR 的用户和启动 TiKV 的用户相同(如果 BR 和 TiKV 位于不同的机器,则需要用户的 UID 相同),否则很备份可能会出现该问题。

使用 root 运行 BR 仍旧有可能会因为磁盘权限而失败,因为备份文件 (SST) 的保存是由 TiKV 执行的。

> **注意:**
>
> 在恢复的时候也可能遇到同样的问题。
>
>
> 使用 BR 进行数据的恢复时,检验读权限的时机是在第一次读取 SST 文件时,考虑到执行 DDL 的耗时,这个时刻可能会离开始运行 BR 的时间很远。这样可能会出现等了很长时间之后遇到 Permission denied 错误失败的情况。
>
>
> 因此,最好在恢复前提前检查权限。
## BR 遇到错误信息 `Io(Os...)`,该如何处理?

这类问题几乎都是 TiKV 在写盘的时候遇到的系统调用错误。检查备份目录的挂载方式和文件系统,试试看备份到其它文件夹或者其它硬盘。

目前已知备份到 samba 搭建的网盘时可能会遇到 `Code: 22(invalid argument)` 错误。

## BR 遇到错误信息 `rpc error: code = Unavailable desc =...`,该如何处理?

该问题一般是因为使用 BR 恢复数据的时候,恢复集群的性能不足导致的。可以从恢复集群的监控或者 TiKV 日志来辅助确认。

要解决这类问题,可以尝试扩大集群资源,以及调小恢复时的并发度 (concurrency),打开限速 (ratelimit) 设置。

## 使用 local storage 的时候,BR 备份的文件会存在哪里?

在使用 local storage 的时候,会在运行 BR 的节点生成 `backupmeta`,在各个 Region 的 Leader 节点生成备份文件。

## 备份数据有多大,备份会有副本吗?

备份的时候仅仅在每个 Region 的 Leader 处生成该 Region 的备份文件。因此备份的大小等于数据大小,不会有多余的副本数据。所以最终的总大小大约是 TiKV 数据总量除以副本数。

但是假如想要从本地恢复数据,因为每个 TiKV 都必须要能访问到所有备份文件,在最终恢复的时候会有等同于恢复时 TiKV 节点数量的副本。

## BR 恢复到 TiCDC / Drainer 的上游集群时,要注意些什么?
Expand Down
Loading

0 comments on commit 5b6a3f2

Please sign in to comment.