AzureBlobStorageでのデータのバックアップと復元

Backup&Restore(BR)ツールは、データのバックアップと復元のための外部ストレージとしてAzureBlobStorageを使用することをサポートしています。

BRでサポートされているその他の外部ストレージの詳細については、 外部ストレージを参照してください。

ユーザーシナリオ

Azure仮想マシンは、大規模なデータをAzureBlobStorageにすばやく保存できます。 Azure仮想マシンを使用してクラスタをデプロイしている場合は、AzureBlobStorageにデータをバックアップできます。

使用法

BRを使用すると、次の2つの方法で、AzureBlobStorage上のデータをバックアップおよび復元できます。

  • Azure AD(Azure Active Directory)を使用してデータをバックアップおよび復元する
  • アクセスキーを使用してデータをバックアップおよび復元する

一般的に、コマンドラインで重要な情報( account-keyなど)が公開されないようにするには、AzureADを使用することをお勧めします。

以下は、上記の2つの方法を使用したAzureBlobStorageでのバックアップと復元の操作の例です。操作の目的は次のとおりです。

  • バックアップ: testのデータベースをcontainer=testのコンテナー内のスペースにバックアップし、AzureBlobStorageのパスプレフィックスとしてt1を使用します。
  • 復元:AzureBlobStorageのパスプレフィックスとしてt1を使用するcontainer=testコンテナー内のスペースからtestデータベースへのデータを復元します。

BRおよびTiKVの動作環境では、環境変数$AZURE_CLIENT_ID 、および$AZURE_TENANT_IDを構成する必要があり$AZURE_CLIENT_SECRET 。これらの変数を構成すると、BRはAzureADを使用してaccount-keyを構成せずにAzureBlobStorageにアクセスできます。この方法の方が安全であるため、お勧めします。 $AZURE_CLIENT_ID 、および$AZURE_TENANT_IDは、AzureアプリケーションのアプリケーションID client_id 、テナントID tenant_id 、およびクライアントパスワード$AZURE_CLIENT_SECRETclient_secretします。

$AZURE_CLIENT_ID 、および$AZURE_TENANT_IDが操作環境にあることを確認する方法、またはこれらの環境変数をパラメーターとして構成する場合は、 $AZURE_CLIENT_SECRETを参照して環境変数をパラメーターとして構成する

バックアップ

Azure ADを使用してデータをバックアップする場合は、 account-nameaccess-tierを指定する必要があります。 access-tierが設定されていない(値が空の)場合、値はデフォルトでHotです。

ノート:

Azure Blob Storageを外部ストレージとして使用する場合は、 send-credentials-to-tikv = true (デフォルトで設定)を設定する必要があります。そうしないと、バックアップタスクが失敗します。

このセクションでは、データをcool tierにバックアップする方法を示します。つまり、アップロードされたオブジェクトのアクセス層はCoolです。 account-nameaccess-tierは、次の2つの方法で指定できます。

  • パラメータ情報をURLパラメータに書き込みます。

    tiup br backup db --db test -u 127.0.0.1:2379 -s 'azure://test/t1?account-name=devstoreaccount1&access-tier=Cool'
  • コマンドラインパラメータにパラメータ情報を書き込みます。

    tiup br backup db --db test -u 127.0.0.1:2379 -s 'azure://test/t1?' --azblob.account-name=devstoreaccount1 --azblob.access-tier=Cool

戻す

Azure ADを使用してデータを復元する場合は、 account-nameを指定する必要があります。次の2つの方法で指定できます。

  • パラメータ情報をURLパラメータに書き込みます。

    tiup br restore db --db test -u 127.0.0.1:2379 -s 'azure://test/t1?account-name=devstoreaccount1'
  • コマンドラインパラメータにパラメータ情報を書き込みます。

    tiup br restore db --db test -u 127.0.0.1:2379 -s 'azure://test/t1?' --azblob.account-name=devstoreaccount1

方法2:アクセスキーを使用してバックアップおよび復元する(簡単)

バックアップ

アクセスキーを使用してデータをバックアップする場合は、 account-name 、およびaccount-keyを指定する必要がありaccess-tieraccess-tierが設定されていない(値が空の)場合、値はデフォルトでHotです。

ノート:

Azure Blob Storageを外部ストレージとして使用する場合は、 send-credentials-to-tikv = true (デフォルトで設定)を設定する必要があります。そうしないと、バックアップタスクが失敗します。

このセクションでは、データをcool tierにバックアップする方法を示します。つまり、アップロードされたオブジェクトのアクセス層はCoolです。 account-name 、およびaccount-keyは、次の2 access-tierの方法で指定できます。

  • パラメータ情報をURLパラメータに書き込みます。

    tiup br backup db --db test -u 127.0.0.1:2379 -s 'azure://test/t1?account-name=devstoreaccount1&account-key=Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==&access-tier=Cool'
  • コマンドラインパラメータにパラメータ情報を書き込みます。

    tiup br backup db --db test -u 127.0.0.1:2379 -s 'azure://test/t1?' --azblob.account-name=devstoreaccount1 --azblob.account-key=Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw== --azblob.access-tier=Cool

戻す

アクセスキーを使用してデータを復元する場合は、 account-nameaccount-keyを指定する必要があります。パラメータは次の2つの方法で指定できます。

  • パラメータ情報をURLパラメータに書き込みます。

    tiup br restore db --db test -u 127.0.0.1:2379 -s 'azure://test/t1?account-name=devstoreaccount1&account-key=Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw=='
  • コマンドラインパラメータにパラメータ情報を書き込みます。

    tiup br restore db --db test -u 127.0.0.1:2379 -s 'azure://test/t1?' --azblob.account-name=devstoreaccount1 --azblob.account-key=Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==

パラメータの説明

バックアップと復元のプロセスでは、 account-name 、およびaccount-keyを使用する必要がありaccess-tier 。以下は、パラメーターの詳細な説明です。

環境変数をパラメーターとして構成する

Azure ADを使用してデータをバックアップおよび復元する場合、環境変数$AZURE_CLIENT_ID 、および$AZURE_TENANT_IDは、BRおよびTiKVのオペレーティング環境で構成する必要があり$AZURE_CLIENT_SECRET

  • TiUPを使用してクラスタを開始すると、TiKVは「systemd」サービスを使用します。次の例は、上記の3つの環境変数をTiKVのパラメーターとして構成する方法を示しています。

    ノート:

    手順3でTiKVを再起動する必要があります。TiKVを再起動できない場合は、 方法2を使用してデータをバックアップおよび復元できます。

    1. このノードのTiKVポートが24000であると仮定します。つまり、「systemd」サービスの名前は「tikv-24000」です。

      systemctl edit tikv-24000
    2. 環境変数情報を入力します。

      [Service] Environment="AZURE_CLIENT_ID=aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa" Environment="AZURE_TENANT_ID=aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa" Environment="AZURE_CLIENT_SECRET=aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
    3. 構成を再ロードし、TiKVを再起動します。

      systemctl daemon-reload systemctl restart tikv-24000
  • コマンドラインで開始したTiKVおよびBRの場合、それらのAzure AD情報を構成するには、環境変数$AZURE_CLIENT_ID 、および$AZURE_TENANT_IDが操作環境で構成されているかどうかを確認するだけで済み$AZURE_CLIENT_SECRET 。次のコマンドを実行して、変数がBRおよびTiKVの動作環境にあるかどうかを確認できます。

    echo $AZURE_CLIENT_ID echo $AZURE_TENANT_ID echo $AZURE_CLIENT_SECRET

互換性

この機能は、v5.4.0以降のバージョンとのみ互換性があります。

このページは役に立ちましたか?

Playground
新規
登録なしで TiDB の機能をワンストップでインタラクティブに体験できます。
製品
TiDB Cloud
TiDB
価格
PoC お問い合わせ
エコシステム
TiKV
TiFlash
OSS Insight
© 2024 PingCAP. All Rights Reserved.
Privacy Policy.