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データベースへのデータを復元します。 
方法1:Azure ADを使用してバックアップと復元(推奨)
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_SECRETをclient_secretします。
$AZURE_CLIENT_ID 、および$AZURE_TENANT_IDが操作環境にあることを確認する方法、またはこれらの環境変数をパラメーターとして構成する場合は、 $AZURE_CLIENT_SECRETを参照して環境変数をパラメーターとして構成する 。
バックアップ
Azure ADを使用してデータをバックアップする場合は、 account-nameとaccess-tierを指定する必要があります。 access-tierが設定されていない(値が空の)場合、値はデフォルトでHotです。
ノート:
Azure Blob Storageを外部ストレージとして使用する場合は、
send-credentials-to-tikv = true(デフォルトで設定)を設定する必要があります。そうしないと、バックアップタスクが失敗します。
このセクションでは、データをcool tierにバックアップする方法を示します。つまり、アップロードされたオブジェクトのアクセス層はCoolです。 account-nameとaccess-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-tier 。 access-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-nameとaccount-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を使用してデータをバックアップおよび復元できます。
このノードのTiKVポートが
24000であると仮定します。つまり、「systemd」サービスの名前は「tikv-24000」です。systemctl edit tikv-24000環境変数情報を入力します。
[Service] Environment="AZURE_CLIENT_ID=aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa" Environment="AZURE_TENANT_ID=aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa" Environment="AZURE_CLIENT_SECRET=aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"構成を再ロードし、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以降のバージョンとのみ互換性があります。