当前位置:网站首页>Use br to recover backup data on azure blob storage
Use br to recover backup data on azure blob storage
2022-07-07 21:25:00 【Tianxiang shop】
This paper introduces how to combine Azure Blob Storage Upper SST Restore the backup data to Kubernetes In the environment TiDB colony .
The recovery method used in this article is based on TiDB Operator Of Custom Resource Definition (CRD) Realization , Bottom use BR Data recovery .BR Its full name is Backup & Restore, yes TiDB Command line tools for distributed backup and recovery , Used to deal with TiDB Cluster for data backup and recovery .
Use scenarios
When using BR take TiDB The cluster data is backed up to Azure Blob Storage after , If needed from Azure Blob Storage Will back up SST( Key value pair ) Restore files to TiDB colony , Please refer to this article to use BR Resume .
Be careful
- BR Only support TiDB v3.1 And above .
- BR The recovered data cannot be synchronized to the downstream , because BR Direct import SST file , At present, the downstream cluster has no way to obtain the upstream SST file .
This article assumes that it will be stored in Azure Blob Storage Specify the path on spec.azblob.container
In the bucket spec.azblob.prefix
The backup data under the folder is restored to namespace test2
Medium TiDB colony demo2
. The following is the specific operation process .
The first 1 Step : Prepare to restore the environment
Use BR take Azure Blob Storage The backup data on is restored to TiDB front , Please follow these steps to prepare the recovery environment .
Download the file backup-rbac.yaml, And execute the following command in
test2
This namespace Create what is needed for recovery RBAC Related resources :kubectl apply -f backup-rbac.yaml -n test2
Grant remote storage access , There are two ways to grant permissions , Refer to the documentation Azure Account Authorization .
If you use it TiDB Version below v4.0.8, You also need to do the following . If you use it TiDB by v4.0.8 And above , Please skip this step .
Make sure you have the recovery database
mysql.tidb
TabularSELECT
andUPDATE
jurisdiction , Used for adjusting before and after recovery GC Time .establish
restore-demo2-tidb-secret
secret For storing access TiDB Clustered root Account and key .kubectl create secret generic restore-demo2-tidb-secret --from-literal=password=${password} --namespace=test2
The first 2 Step : Restore the specified backup data to TiDB colony
According to the remote storage access authorization method selected in the previous step , You need to use the corresponding method below to restore the backup data to TiDB:
Method 1: If you authorize by accessing the key , You can create
Restore
CR Recover cluster data :kubectl apply -f resotre-azblob.yaml
restore-azblob.yaml
The contents of the document are as follows :--- apiVersion: pingcap.com/v1alpha1 kind: Restore metadata: name: demo2-restore-azblob namespace: test2 spec: br: cluster: demo2 clusterNamespace: test2 # logLevel: info # statusAddr: ${status_addr} # concurrency: 4 # rateLimit: 0 # timeAgo: ${time} # checksum: true # sendCredToTikv: true # # Only needed for TiDB Operator < v1.1.10 or TiDB < v4.0.8 # to: # host: ${tidb_host} # port: ${tidb_port} # user: ${tidb_user} # secretName: restore-demo2-tidb-secret azblob: secretName: azblob-secret container: my-container prefix: my-folder
Method 2: If it passes Azure AD Method of authorization , You can create
Restore
CR Recover cluster data :kubectl apply -f restore-azblob.yaml
restore-azblob.yaml
The contents of the document are as follows :--- apiVersion: pingcap.com/v1alpha1 kind: Restore metadata: name: demo2-restore-azblob namespace: test2 spec: serviceAccount: tidb-backup-manager br: cluster: demo2 sendCredToTikv: false clusterNamespace: test2 # logLevel: info # statusAddr: ${status_addr} # concurrency: 4 # rateLimit: 0 # timeAgo: ${time} # checksum: true # Only needed for TiDB Operator < v1.1.10 or TiDB < v4.0.8 to: host: ${tidb_host} port: ${tidb_port} user: ${tidb_user} secretName: restore-demo2-tidb-secret azblob: secretName: azblob-secret-ad container: my-container prefix: my-folder
In the configuration restore-azblob.yaml
When you file , Please refer to the following information :
- About Azure Blob Storage Related configuration , Please refer to Azure Blob Storage Storage field introduction .
.spec.br
Some parameters in are optional , Such aslogLevel
、statusAddr
、concurrency
、rateLimit
、checksum
、timeAgo
、sendCredToTikv
. more.spec.br
Detailed explanation of fields , Please refer to BR Field is introduced .- If you use it TiDB by v4.0.8 And above ,BR Will automatically adjust
tikv_gc_life_time
Parameters , Don't need to Restore CR Middle configurationspec.to
Field . - more
Restore
CR Detailed explanation of fields , Please refer to Restore CR Field is introduced .
Create good Restore
CR after , You can view the status of the recovery through the following command :
kubectl get rt -n test2 -o wide
边栏推荐
- C语言多角度帮助你深入理解指针(1. 字符指针2. 数组指针和 指针数组 、数组传参和指针传参3. 函数指针4. 函数指针数组5. 指向函数指针数组的指针6. 回调函数)
- MySQL storage expression error
- 现在网上开户安全么?想知道我现在在南宁,到哪里开户比较好?
- EasyUI date control emptying value
- Demon daddy C
- How much does it cost to develop a small program mall?
- [C language] advanced pointer --- do you really understand pointer?
- Unity3d 4.3.4f1 execution project
- Is it safe to open an account of BOC shares in kainiu in 2022?
- 【函数递归】简单递归的5个经典例子,你都会吗?
猜你喜欢
Onespin | solve the problems of hardware Trojan horse and security trust in IC Design
AADL inspector fault tree safety analysis module
解决使用uni-app MediaError MediaError ErrorCode -5
C语言 整型 和 浮点型 数据在内存中存储详解(内含原码反码补码,大小端存储等详解)
[paper reading] maps: Multi-Agent Reinforcement Learning Based Portfolio Management System
万字总结数据存储,三大知识点
Cantata9.0 | new features
Make this crmeb single merchant wechat mall system popular, so easy to use!
The new version of onespin 360 DV has been released, refreshing the experience of FPGA formal verification function
Helix QAC 2020.2 new static test tool maximizes the coverage of standard compliance
随机推荐
H3C s7000/s7500e/10500 series post stack BFD detection configuration method
HOJ 2245 浮游三角胞(数学啊 )
Make this crmeb single merchant wechat mall system popular, so easy to use!
GridView defines its own time for typesetting "suggestions collection"
死锁的产生条件和预防处理[通俗易懂]
神兵利器——敏感文件发现工具
【C语言】指针进阶---指针你真的学懂了吗?
【矩阵乘】【NOI 2012】【cogs963】随机数生成器
目标:不排斥 yaml 语法。争取快速上手
margin 等高布局
FatMouse&#39; Trade (Hangdian 1009)
SQL注入报错注入函数图文详解
Implementation of mahout Pearson correlation
Implement secondary index with Gaussian redis
Description of the difference between character varying and character in PostgreSQL database
Le capital - investissement est - il légal en Chine? C'est sûr?
Spark judges that DF is empty
Implement secondary index with Gaussian redis
C language helps you understand pointers from multiple perspectives (1. Character pointers 2. Array pointers and pointer arrays, array parameter passing and pointer parameter passing 3. Function point
解决使用uni-app MediaError MediaError ErrorCode -5