BR を使用して Azure Blob Storage のデータをバックアップおよび復元する

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

ユーザーシナリオ

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

使用法

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

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

一般的なケースでは、コマンド ラインでキー情報 ( account-keyなど) を公開しないようにするために、Azure AD を使用することをお勧めします。

上記の 2 つの方法を使用した Azure Blob Storage でのバックアップおよび復元操作の例を次に示します。操作の目的は次のとおりです。

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

ノート:

Azure AD またはアクセス キーを使用して Azure Blob Storage にデータをバックアップする場合は、 send-credentials-to-tikv = true (既定ではtrue ) を設定する必要があります。そうしないと、バックアップ タスクが失敗します。

このセクションでは、Azure AD を使用してデータをバックアップおよび復元する方法について説明します。バックアップまたは復元を実行する前に、環境変数を構成する必要があります。

環境変数の構成

BR と TiKV の動作環境で、環境変数$AZURE_CLIENT_ID$AZURE_TENANT_ID 、および$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が動作環境で構成されているかどうかを確認するだけで済みます。

    echo $AZURE_CLIENT_ID echo $AZURE_TENANT_ID echo $AZURE_CLIENT_SECRET

環境変数の詳細については、 Azblob URL パラメーターを参照してください。

バックアップする

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

  • URL のパラメーターとしてaccount-nameaccess-tierを指定します。

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

    access-tierが設定されていない (値が空である) 場合、値はデフォルトでHotになります。

  • コマンドライン パラメータとしてaccount-nameaccess-tierを指定します。

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

戻す

バックアップするaccount-nameを指定する方法と同様に、URL またはコマンドライン パラメーターを使用してデータを復元できます。

  • URL のパラメーターとしてaccount-nameを指定します。

    tiup br restore db --db test -u 127.0.0.1:2379 -s 'azure://test/t1?account-name=devstoreaccount1'
  • コマンドライン パラメータとしてaccount-nameを指定します。

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

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

Azure AD を使用したデータのバックアップと復元に比べて、アクセス キーを使用したバックアップと復元は、環境変数を構成する必要がないため簡単です。その他の手順は、Azure AD を使用する場合と同様です。

バックアップする

  • URL のパラメーターとしてaccount-nameaccount-key 、およびaccess-tierを指定します。

    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'
  • コマンドライン パラメータとしてaccount-nameaccount-key 、およびaccess-tierを指定します。

    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

戻す

  • URL のパラメーターとしてaccount-nameaccount-keyを指定します。

    tiup br restore db --db test -u 127.0.0.1:2379 -s 'azure://test/t1?account-name=devstoreaccount1&account-key=Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw=='
  • コマンドライン パラメータとしてaccount-nameaccount-keyを指定します。

    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==

互換性

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

こちらもご覧ください