当前位置:网站首页>Restore backup data on GCS with br

Restore backup data on GCS with br

2022-07-07 04:02:00 Tianxiang shop

This article describes how to store in  Google Cloud Storage (GCS)  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 new edition (v1.1 And above ) Of CustomResourceDefinition (CRD) Realization , The bottom layer uses  BR  For cluster 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 GCS after , If needed from GCS 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 GCS Specify the path on  spec.gcs.bucket  In the bucket  spec.gcs.prefix  The backup data under the folder is restored to namespace test2  Medium TiDB colony  demo2.

The first 1 Step : Prepare to restore the environment

Use BR take GCS The backup data on is restored to TiDB front , You need to prepare to restore the environment , And have the relevant permissions of the database .

  1. Download the file  backup-rbac.yaml, And execute the following command in  test2  This namespace Create the required for recovery RBAC Related resources :

    kubectl apply -f backup-rbac.yaml -n test2

  2. Grant remote storage access .

    Reference resources  GCS Account Authorization , Authorized access GCS Remote storage .

  3. 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 .

    1. Make sure you have the recovery database  mysql.tidb  Tabular  SELECT  and  UPDATE  jurisdiction , Used for adjusting before and after recovery GC Time .

    2. 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=user=root --from-literal=password=<password> --namespace=test2

The first 2 Step : Restore the specified backup data to TiDB colony

  1. establish restore custom resource (CR), Restore the specified backup data to TiDB colony :

    kubectl apply -f restore.yaml

    restore.yaml  The contents of the document are as follows :

    --- apiVersion: pingcap.com/v1alpha1 kind: Restore metadata: name: demo2-restore-gcs namespace: test2 spec: # backupType: full br: cluster: demo2 clusterNamespace: test2 # logLevel: info # statusAddr: ${status-addr} # concurrency: 4 # rateLimit: 0 # 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 gcs: projectId: ${project_id} secretName: gcs-secret bucket: ${bucket} prefix: ${prefix} # location: us-east1 # storageClass: STANDARD_IA # objectAcl: private

    In the configuration  restore.yaml  When you file , Please refer to the following information :

    • About GCS Storage related configuration , Please refer to  GCS Storage field introduction .
    • .spec.br  Some parameters in are optional , Such as  logLevelstatusAddrconcurrencyrateLimitchecksumtimeAgosendCredToTikv. 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 configuration  spec.to  Field .
    • more  Restore CR Detailed explanation of fields , Please refer to  Restore CR Field is introduced .
  2. Create good  Restore CR after , View the status of the recovery through the following command :

    kubectl get rt -n test2 -owide

原网站

版权声明
本文为[Tianxiang shop]所创,转载请带上原文链接,感谢
https://yzsam.com/2022/188/202207062108599817.html