Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Contrail Service Orchestration(CSO)データベースのバックアップと復元

このドキュメントでは、Contrail Service Orchestration(CSO)で使用可能なバックアップおよび復元機能について説明します。概念、コマンド オプション、およびこれらの機能を管理する方法の例の概要を示します。CSO は GUI ベースのアプリケーションですが、バックアップと復元の操作は、インストーラー仮想マシン(installer-vm)の CLI からのみ管理できます。詳細については、 運用 を参照してください。

CSOデータベースのバックアップと復元

Contrail サービス オーケストレーション(CSO)アーキテクチャは、複数の仮想マシンで構成されており、CSO を機能させるために必要なワークロードを処理します。これらの仮想マシンは、それらの作業データをさまざまなデータベースに保存してアクセスします。CSO が正しく機能するためには、実行中のすべてのデータベースが正しく機能している必要があります。この重要なデータのバックアップと復元は、CSOインストールを最適な状態で実行するために重要です。すべてのプラットフォーム、OpCo、テナント、顧客データの完全バックアップは手動または定期的に実行でき、必要に応じてバックアップからデータを復元できます。

図 1:バックアップと復元の概念 Backup and Restore Concept

図 1 は、CSO 4.1 でのバックアップと復元の実装方法の概念イメージを示しています。フレームワーク内で現在バックアップされているデータベースシステムは、MariaDB、Cassandra、ElasticSearch、ArangoDB、Zookeeper、ETCDです。また、システムは暗号化されたパスワードとシステム証明書をバックアップするため、特定のバックアップからデータを復元すると、CSOはそのバックアップ時の状態に戻されます。

最後のバックアップと現在の復元の間で行われた変更はすべて失われます。通常、バックアップはシステム全体で行われます。つまり、個々の運用データやテナント データを、残りのシステム データとは別にバックアップまたは復元することはできません。

メモ:

個々のデータベースをバックアップおよび復元することは可能ですが、復元されたデータベースが既存のデータベースの現在の状態と完全に同期できなくなる可能性があるため、この作業を行う際のリスクがあります。これは、バックアップ操作と復元操作の間に長時間が発生する場合に特に当てはまります。

バックアップおよび復元操作は、HA(高可用性)の有無にかかわらず、小規模、中規模、大規模の導入環境で動作します。このドキュメントでは、CSOにおけるバックアップおよび復元手順の設定、スケジューリング、運用について説明します。

構成

バックアップと復元は、CSOが使用するすべてのデータストレージシステムに触れる重要なタスクです。ジュニパーは、インストールプロセス中にCSOのバックアップと復元に必要なすべてを自動的に設定することで、バックアップの詳細を設定する負担を軽減します。設定は必要ありません。

主要コンポーネント

ユーザーとバックアップ フレームワークを構成する基盤のコンポーネントとの間に大きなやり取りはありませんが、各コンポーネントが実行する機能を知ると便利です。 表 1 は、主なコンポーネントと各コンポーネントの簡単な説明を示しています。

表 1:主要コンポーネント

コンポーネント

説明

コントローラのバックアップと復元

  • 管理者からのバックアップ呼び出しまたは復元呼び出しを処理します。呼び出しは、インストーラー vm にのみ存在するcso_backupnrestore スクリプトを使用して行われます。

  • 個々のプラグインに要求を伝え、委任します。

  • プリフック、バックアップとリストア、ポストフックなど、バックアップおよび復元操作のライフサイクルを管理します。

  • Salt マスター

プラグイン フレームワーク

  • 複数の異なるデータベースに対応するためのバックアップと復元を可能にするフレームワーク。

  • 将来的に他のデータベースを含めることを可能にします。

  • 塩の手下

プラグイン

  • 新しいプラグインの追加は、標準に準拠する必要があります。

  • すべてのプラグインは、バックアップおよび復元コントローラによってトリガーされます。

  • プリフック、ポストフック、バックアップまたは復元操作は、個々のプラグインによって実装されます。

操作

すべてのバックアップおよび復元操作は、インストーラー vm マシンの CLI(コマンド ライン インターフェイス)を使用して実行されます。操作を担当するユーザーはssh経由でインストーラ-vmにログインし、必要な操作を実行します。 図 2 は、バックアップおよび復元操作のフローを示しています。

図 2:バックアップと復元の操作 Backup and Restore Operations

バックアップ操作の場合は、個々の cso_backupnrestore データベースまたはすべてのデータベースのバックアップに適切な引数を使用して、installer-vm で コマンドを実行します。この場合、バックアップおよび復元コントローラは、SaltStack メッセージ バスを使用してバックアップ要求を個々のプラグインに伝えます。さまざまな中央および地域の vm に存在するプラグインは、メッセージを受信し、必要なアクションをトリガーします。

バックアップはインストーラー vm の /backups/ ディレクトリに格納されます。この場所を変更することはできません。バックアップ データを保存するのに十分なストレージ領域がインストーラー vm または起動サーバーに存在することを確認します。

復元操作の場合、同じ cso_backupnrestore コマンドを、以下の 表 2 に記載されているさまざまなオプションと共に使用します。バックアップから復元する場合、CSOはそれ自体をメンテナンスモードにして、変更を加えないようにします。システムの安定性が確認され、必要に応じて必要な復元コマンドが各データベースのプラグインに送信されます。復元が完了すると、CSOはシステムの安定性を確認し、必要なクリーンアップを行い、それ自体を動作モードに戻します。

コマンドの使用

バックアップの作成またはバックアップからのファイルの復元に使用される CLI コマンドの名前 cso_backupnrestoreは です。

コマンドで使用可能なオプションを cso_backupnrestore表 2 に示します。任意のオプションで使用できる引数は 1 つだけです。

表 2:cso_backupnrestore コマンド オプション

オプション

目的

引数

-b

操作を指定します(必須)

バックアップ、復元、ヘルスチェック、再インデックス、バックアップの詳細、リストバックアップ、スケジュールされたバックアップ

-s

バックアップ操作またはリストア操作によって作成されたスナップショットの名前を指定します。

バックアップ名

-c

バックアップまたは復元するデータベースを指定します。[default '*'](オプション)

バックアップの場合: '*' のみが許可されます。

復元用:cassandra、elasticsearch、zookeeper、mariadb、etcd、arrangodbの任意またはすべてでコンマ区切りリスト。「*」はすべてのデータベースを復元します

-r

復元操作をディザスター リカバリーに使用するかどうかを指定します。[デフォルト no]

イエスかノーか答えてください

-z

バックアップ操作用にcronジョブパラメータを設定します。

オプションの引数-bschedulebackup組み合わせてのみ有効です。

デフォルトでは、このオプションは オプションを -m no に設定します。

m-h-dom-mon-dow-m [-m yes]

  • m–分(0~59)

  • h–hour(0-23)

  • dom-day of month(1~31)

  • 月(1~12 日)

  • ダウデイ・オブ・ウィーク(0~6)

m yes オプションはデフォルトを上書きし、cSO をcronベースのバックアップのメンテナンスモードにします。

バックアップと復元の例

要件

  • CSOインスタンスのインストーラ仮想マシン(installer-vm)のIPアドレス

  • sshプロトコルを使用したインストーラ-vmへのルートアクセス

次のコマンドは、CSOのインストーラ-vmのコマンドラインインターフェイスで実行する必要があります。CSO インストールでインストーラー VM にアクセスするために必要な場所とアクセス認証情報は、ユーザーまたは CSO をインストールした個人またはグループが認識する必要があります。

バックアップ

この例では、すべてのCSOデータベースの単純なバックアップを/backup/MAR09/ ディレクトリに実行します。

クロロンジョブを使用したスケジュールされたバックアップ

この例では、毎週日曜日の午後 1:00 PM に保守モードで実行され、バックアップを /bakups/DAILY/<timestamp>/ ディレクトリに保存するスケジュールされたバックアップを作成します。バックアップの開始時にタイムスタンプディレクトリが作成されます。

復元

この例では 、/backups/DAILY-09/2019-03-16T04/ ディレクトリにあるバックアップを復元します。

この例では、 /backup/DAILY-09/2019-03-16T04/ ディレクトリにあるバックアップから災害復旧操作を実行します。

ヘルスチェックの例

この例では、CSOインストールでヘルスチェックを実行します。

インデックスの再構築の例

この例では、Elasticsearch データベースのインデックスの再構築を実行します。