当前位置:网站首页>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
边栏推荐
- 95年专注安全这一件事 沃尔沃未来聚焦智能驾驶与电气化领域安全
- Focusing on safety in 1995, Volvo will focus on safety in the field of intelligent driving and electrification in the future
- Demon daddy guide post - simple version
- Deployment, recall and deletion solutions - stsadm and PowerShell "suggestions collection"
- gridView自己定义做时间排版「建议收藏」
- SQL注入报错注入函数图文详解
- Lex & yacc of Pisa proxy SQL parsing
- sqlHelper的增删改查
- Make this crmeb single merchant wechat mall system popular, so easy to use!
- How much does it cost to develop a small program mall?
猜你喜欢
Codesonar enhances software reliability through innovative static analysis
解决使用uni-app MediaError MediaError ErrorCode -5
The latest version of codesonar has improved functional security and supports Misra, c++ parsing and visualization
C语言多角度帮助你深入理解指针(1. 字符指针2. 数组指针和 指针数组 、数组传参和指针传参3. 函数指针4. 函数指针数组5. 指向函数指针数组的指针6. 回调函数)
Intelligent software analysis platform embold
Details of C language integer and floating-point data storage in memory (including details of original code, inverse code, complement, size end storage, etc.)
Ten thousand word summary data storage, three knowledge points
Mysql子查询关键字的使用方式(exists)
MySQL约束之默认约束default与零填充约束zerofill
The little money made by the program ape is a P!
随机推荐
Mahout-Pearson correlation的实现
easyui 日期控件清空值
Codeforces round 275 (Div. 2) C – diverse permutation (construction) [easy to understand]
Using enumeration to realize English to braille
AADL inspector fault tree safety analysis module
Demon daddy A3 stage near normal speed speech flow initial contact
MySQL约束之默认约束default与零填充约束zerofill
Micro service remote debug, nocalhost + rainbow micro service development second bullet
Guava multithreading, futurecallback thread calls are uneven
object-c编程tips-timer「建议收藏」
Jetty:配置连接器[通俗易懂]
Usage of MySQL subquery keywords (exists)
Feature generation
华泰证券可以做到万一佣金吗,万一开户安全嘛
Cocos2d-x game archive [easy to understand]
使用高斯Redis实现二级索引
Differences and connections between MinGW, mingw-w64, tdm-gcc and other tool chains "suggestions collection"
HOJ 2245 浮游三角胞(数学啊 )
开户还得用身份证银行卡安全吗,我是小白不懂
恶魔奶爸 A1 语音听力初挑战