Google Cloud Backup Guide
Google Cloud Storage を使用するための OpenStack Block Storage バックアップの設定
概要
第1章 Google Cloud ストレージを使用するためのブロックストレージバックアップの設定について
Red Hat OpenStack Platform director は、完全な Red Hat OpenStack 環境のインストールおよび管理を行うためのツールセットです。これは、主に OpenStack プロジェクト TripleO(OpenStack onOpenStack)をベースにしています。director の主な目的は、最小限の手動設定で機能する、エンタープライズレベルの OpenStack デプロイメントをオーケストレーションすることです。director は、個別の OpenStack コンポーネントを手動で設定する際の多くの問題に対処します。
director を使用してデプロイする OpenStack 環境は、オーバークラウド と呼ばれます。オーバークラウドには、Block Storage を含むエンドユーザーにサービスを提供するすべてのコンポーネントが含まれます。本ガイドでは、オーバークラウドの Block Storage サービスにカスタムバックエンドをデプロイする方法について説明します。
Red Hat OpenStack Platform は、ブロックストレージバックエンドからデータ処理まで、複数のサードパーティーサービス、デバイス、アプリケーションをサポートします。Block Storage サービスが Google Cloud をバックアップストレージサービスとして使用するように設定できます。Google Cloud インテグレーションは、本リリースではテクノロジープレビュー機能として利用できます。
テクノロジープレビュー の機能は、Red Hat では全面的にはサポートしていません。本書で説明されているデプロイメントシナリオは、テスト目的にのみご利用いただく機能で、実稼働環境にデプロイすべきではありません。
テクノロジープレビュー機能についての詳しい情報は、「対象範囲の詳細」を参照してください。
本書では、オーバークラウドのデプロイメント上の Block Storage サービスが Google Cloud ストレージにボリュームをバックアップするように設定されたテストシナリオについて説明します。このテストシナリオには、以下の前提条件を満たす必要があります。
- オーバークラウドはすでに director を使用してデプロイされています。director のデプロイメントに関する詳しい情報は、『director の インストールと使用方法』 を参照してください。
-
昇格した特権を持つアカウントのユーザー名およびパスワードを所有している。オーバークラウドのデプロイには、作成したものと同じアカウントを使用することができます。『director のインストールと使用方法』 に記載の手順に従い、この目的のために
stack
という名前のユーザーを作成します。 - Block Storage サービスは、コントローラーノードまたは HA デプロイメントのすべてのコントローラーノードにインストールされます。
- Google Cloud Platform にアクセスできる Google アカウントがある。Block Storage サービスはこのアカウントを使用してアクセスし、Google Cloud を使用してバックアップを保存します。
1.1. 設定プロセスについて
Block Storage サービスを Google Cloud をバックアップサービスとして使用するように設定するには、以下の手順を行います。
- Google アカウントのサービスアカウントクレデンシャルを作成してダウンロードします。詳細は(2章GCS 認証情報ファイルの作成およびダウンロード)を参照してください。
- 必要な Block Storage 設定を定義するための環境ファイルの作成詳細は(3章Block Storage 環境ファイルを作成します。)を参照してください。この環境ファイルは、直前の手順で作成したサービスアカウントのクレデンシャルも使用します。
- 新たな環境ファイルを使用して、オーバークラウドを再デプロイします。詳細は(4章オーバークラウドの再デプロイ)を参照してください。
第2章 GCS 認証情報ファイルの作成およびダウンロード
バックアップに Google Cloud にアクセスし、使用するには、Block Storage サービスには Google 認証情報が必要です。サービスアカウントキーを作成して、これらの認証情報を Block Storage に提供することができます。
- Google アカウントを使用して Google 開発者コンソール(http://console.developers.google.com)にログインします。
Credentials
タブをクリックしてCreate credentials
をクリックし、Create credentials
ドロップダウンリストからService account key
を選択します。Create service account key
ページで、Block Storage サービスがService account
ドロップダウンリストから使用するサービスアカウントを選択します。Create service account key
ページで、Key type
セクションからJSON
ラジオボタンを選択し、Create
をクリックします。ブラウザーはキーをデフォルトのダウンロード場所にダウンロードします。
ファイルを開き、
project_id
パラメーターの値を書き留めておきます。{ "type": "service_account", "project_id": "cloud-backup-1370", ...
特に、3章Block Storage 環境ファイルを作成します。 の /etc/cinder/Cloud-Backup.json キー、
project_id
の値、およびファイルへの絶対パスを使用します。任意のコントローラーノードの /etc/cinder/ に鍵ファイルをコピーし、キーファイルのユーザー、グループ、パーミッションを変更して、/etc/cinder/cinder.conf の一致させます。これにより、Block Storage サービスがキーファイルを使用できるようになります。
# cp Cloud-Backup.json /etc/cinder/ # chown cinder:cinder /etc/cinder/Cloud-Backup.json # chmod 0600 /etc/cinder/Cloud-Backup.json
各コントローラーノードの
/etc/cinder/Cloud-Backup.json_
にキーファイルをコピーします。rsync -a
を使用してパーミッションおよび所有権の設定を保持します。# rsync -a /etc/cinder/Cloud-Backup.json root@CONTROLLERHOST:/etc/cinder/
CONTROLLERHOST をターゲットコントローラーのホスト名に置き換えます。
第3章 Block Storage 環境ファイルを作成します。
環境ファイルには、Block Storage サービスに適用する設定が含まれます。この場合、Block Storage サービスがボリュームのバックアップを Google Cloud に保存するように設定します。環境ファイルに関する詳しい情報は、『 director のインストールと使用方法』 を参照してください。
以下の形式で環境ファイルで各設定を定義します。
エントリーの形式
SECT/PARAM: # 1 value: CONFIG # 2
本書では、すべてのパラメーターが DEFAULT
セクションで宣言されています。以下の表は、Google Cloud Storage(GCS)をバックアップサービスとして設定するために必要な各設定について説明しています。
- Google Cloud のバックアップ設定
パラメーター | デフォルト | CONFIG Description |
backup_driver | cinder.backup.drivers.swift |
Block Storage サーバーが使用するバックアップドライバー。Google Cloud Storage の場合は、 |
backup_gcs_credential_file | 2章GCS 認証情報ファイルの作成およびダウンロード で先に作成したサービスアカウントキーファイルへの絶対パス。 | |
backup_gcs_bucket | 使用する GCS バケットまたはオブジェクトストレージリポジトリー。存在しないバケットを指定する場合、Google Cloud Storage バックアップドライバーはここで指定した名前を使用して作成します。詳細は「バケット および バケット名の要件」を参照してください。 | |
backup_gcs_bucket_location | US |
GCS バケットの場所。この値は、 詳細は、「バケットの場所」を 参照して ください。 |
backup_gcs_project_id |
2章GCS 認証情報ファイルの作成およびダウンロード のサービスアカウントキーの | |
backup_gcs_object_size | 52428800 | GCS バックアップオブジェクトのサイズ(バイト単位)。 |
backup_gcs_block_size | 32768 |
増分バックアップ用に変更が追跡されるサイズ(バイト単位)。この値は、 |
backup_gcs_user_agent | gcscinder | GCS API の HTTP ユーザーエージェント文字列。 |
backup_gcs_reader_chunk_size | 2097152 | GCS オブジェクトは、このサイズのチャンク(バイト単位)でダウンロードされます。 |
backup_gcs_writer_chunk_size | 2097152 |
GCS オブジェクトは、このサイズのチャンク(バイト単位)でアップロードされます。代わりに単一のチャンクとしてファイルをアップロードするには、値 |
backup_gcs_num_retries | 3 | 再試行の回数。 |
backup_gcs_storage_class | NEARLINE |
GCS バケットのストレージクラス。この値は |
backup_gcs_retry_error_codes | 429 | GCS エラーコードの一覧 |
backup_gcs_enable_progress_timer | True |
ボリュームのバックアップ中に Telemetry サービス( |
新規バケットを作成する場合、Google Cloud Storage は選択したストレージクラス(backup_gcs_storage_class
)に基づいて課金を行います。省略時の NEARLINE
クラスは、バックアップサービスに適しています。
バケットの作成後にバケットの場所またはクラスを編集することはできません。詳細は「バケットのストレージクラスまたは場所の管理」を参照してください。
以下の例は、GCS をバックアップサービスとして設定する環境ファイルの通常の内容を示しています。
/home/stack/templates/gcs-backup.yaml
parameter_defaults:
ControllerExtraConfig: # 1
cinder::config::cinder_config:
DEFAULT/backup_driver
value: cinder.backup.drivers.gcs.GoogleBackupDriver
DEFAULT/backup_gcs_credential_file
value: /etc/cinder/Cloud-Backup.json
DEFAULT/backup_gcs_bucket
value: mycinderbucket
DEFAULT/backup_gcs_project_id
value: cloud-backup-1370
DEFAULT/backup_gcs_user_agent
value: myuseragent
- 1
ControllerExtraConfig
は、全コントローラーノードに適用するカスタム設定を定義します。cinder::config::cinder_config
を指定して、Block Storage(cinder
)サービスに設定を適用します。
環境ファイルを作成したら、新しい設定でオーバークラウドを再デプロイします。詳細は、「4章オーバークラウドの再デプロイ」を参照してください。
第4章 オーバークラウドの再デプロイ
/home/stack/templates/
に 環境ファイル を作成したら、stack
ユーザーとしてログインします。次に openstack overcloud deploy
コマンドを実行して、新しい設定をデプロイします。
$ openstack overcloud deploy --templates -e /home/stack/templates/gcs-backup.yaml
オーバークラウドの作成時に追加の環境ファイルを渡した場合は、-e オプションを使用して再度渡します。これにより、オーバークラウドに望ましくない変更を防ぎます。
詳しい情報は、『オーバークラウドの 高度なカスタマイズ』 の「 デプロイメントコマンドのオプション 」を参照してください。