Anypoint Platform PCE でのバックアップおよび復元の設定

万一システム障害やパッチ設定やアップグレードの実行などの他の操作の問題が発生してもデータが保持されるように、システムが自動的にバックアップされるようにします。定期的なバックアップは、障害回復手順においてきわめて重要です。少なくとも 1 日 1 回実行されるようにバックアップを設定してください。または、要件に応じて 1 日 2 回以上に設定します。Anypoint Platform クラスターの外部にある外部ストレージにバックアップアーカイブを保存します。

Anypoint Platform Private Cloud Edition (Anypoint Platform PCE) では、NFS サーバーをインストールして設定し、管理する必要があります。必ず、このサーバーのバックアップを設定して頻繁に実行してください。

Anypoint Monitoring および Anypoint Visualizer のバックアップおよび復元は Gravity の通常のバックアップおよび復元メカニズム以外で実行されるため、別の手順が必要です。

バックアップを作成する

バックアップを作成するには、クラスター内の任意のノードで次のコマンドを実行します。

gravity backup /var/lib/gravity/planet/share/backup.tar.gz

このコマンドにより、現在のシステム状態のアーカイブが ​/var/lib/gravity/planet/share/backup.tar.gz​ に作成されます。次の省略可能なパラメーターを gravity バックアップコマンドに渡すことができます。

  • --follow

    バックアップジョブのログを stdout に出力します。次の例では、​tee​ によって stdout とファイルに同時に出力することができます。

gravity backup /var/lib/gravity/planet/share/backup.tar.gz --follow | tee -a /var/lib/gravity/planet/share/backup.log
  • --timeout

    バックアップジョブの期限を指定します (例: 30 秒、5 分など)。デフォルトは 20 分です。

バックアップコンテンツ:

Table 1. バックアップコンテンツ
情報 PCE バックアップに含まれるかどうか

データベース

Y

設定

Y

シークレット

Y

オブジェクトストア

Y

免責事項設定

Y

SMTP 設定

Y

DNS 設定

N

プラットフォーム証明書

N

オペレーションセンター証明書

N

NFS 設定

N

NFS ファイル

N

ドライブ

N

ランタイム*

N

Anypoint Monitoring メトリクス

N

*Anypoint Platform PCE には、名前や状況など、ランタイムに関する情報のみが含まれます。

システムの復元を実行する

バックアップアーカイブからシステムを復元するには、元のクラスターを使用するか、新しいクラスターを作成します。

NFS、証明書、DNS など、一部の設定はバックアップされないため、復元を実行する前に、復元を実行する環境でそれらの設定を定義する必要があります。

Anypoint Platform PCE の異なるバージョン間でバックアップを実行することはできません。作成する新しいインストールでは、バックアップと同じバージョンの Anypoint Platform PCE を使用する必要があります。

  1. クラスター内のいずれかのノードにログインします。

  2. 圧縮されたバックアップアーカイブファイルを、復元する環境の任意のメインノードのフォルダーに移動します。このファイルは次のコマンドを使用して安全に転送できます。

    scp /backup-path/to-restore.tar.gz your_username@remotehost.edu:/var/lib/gravity/planet/share
  3. バックアップアーカイブからクラスターを復元します。

    sudo gravity restore /var/lib/gravity/planet/share/to-restore.tar.gz

    次の省略可能なパラメーターを渡すことができます。

    • --follow

      復元ジョブのログを stdout に出力します。

    • --timeout

      復元操作の最大許容時間を指定します (例: 30 秒、5 分など)。デフォルト値は ​80m​ です。非常に多くのアプリケーションとファイルがある場合、​--timeout​ 値として最小でも ​160m​ を使用します。

  4. 操作が完了するまで待機します。通常は 40 ~ 60 分です。

  5. 元の NFS を再利用しない場合、NFS ファイルを手動で復元します。

Anypoint Monitoring および Anypoint Visualizer

Anypoint Monitoring および Anypoint Visualizer を有効にしている場合は、次の手順に従ってバックアップおよび復元を実行します。

Anypoint Monitoring および Anypoint Visualizer のバックアップおよび復元は Gravity の通常のバックアップおよび復元メカニズムに含まれないため、追加の手順が必要です。これらのコンポーネントでは、メトリクスと他の情報は保存されますが、プラットフォームの設定は保存されません。プラットフォームの設定情報はシステムのバックアップおよび復元手順により処理されます。

Anypoint Monitoring および Anypoint Visualizer では、コンポーネント InfluxDB (​dias-prov-k8s-am-influxdb-comp​) のデータをバックアップする必要があります。Anypoint Monitoring および Anypoint Visualizer では、設定データは Postgres データベースに保存されます。デフォルトの Gravity メカニズムでは、このデータベースがバックアップおよび復元されます。

Anypoint Monitoring および Anypoint Visualizer では、​amv​ ノード用に 4 TB のボリュームが必要です。InfluxDB のフルバックアップは最大 8 TB のデータになる可能性があります。(2 つのデータノードのみが機能します)。対象ディレクトリにバックアップ全体に対応する十分な空き容量を提供する必要があります。

復元時間はバックアップのサイズに比例します。復元中に対象クラスターの既存のデータがバックアップされます。このデータはユーザーの承認により消去されます。

バックアップおよび復元スクリプトはメインノードで実行する必要があります。また、​kubectl​ を使用するため、​sudo​ アクセス権が必要です。スクリプトでは、復元ディスクサイズ、データベース、測定値、保持ポリシー、各データベース内のすべての測定値の一連のカーディナリティが検証されます。

手順

InfluxDB のバックアップおよび復元スクリプトは Anypoint Platform PCE 環境にあります: /var/lib/gravity/site/packages/unpacked/gravitational.io/anypoint/3.2.0*/resources/kubernetes/amv-backup-restore/amv-backup-restore.sh

スクリプトには次のパラメーターがあります。

 -a : (Required) action to perform : backup or restore. [string].
        Default NO DEFAULT ACTION.
 -va : (optional) verbose output.
        Default non-verbose.
 -f : (Required) name of the tar file.
        Default for backup : dias-prov-k8s-am-influxdb-comp_YYYYMMD.  [string].
        Default for restore : /var/lib/data/influxdb/backup/dias-prov-k8s-am-influxdb-comp_YYYYMMDD.tar.gz.  [Full Path].
 -d : (Required for backup) full path to location where backup tar file is stored.
        Default for backup : /var/lib/data/influxdb/backup. [Full Path].
        Default for restore : same as tar file path. [Full Path].
 -s : (optional) Optional sub-component filter, use only for backup of only meta or only data.
 -h : Print HELP.

冗長バックアップ: sudo bash amv-backup-restore.sh -va backup -f 2020-01-01-influxdb-backup -d path/to/backup/dir

非冗長バックアップ: sudo bash amv-backup-restore.sh -a restore -f /var/lib/data/influxdb/backup/dias-prov-k8s-am-influxdb-comp_YYYYMMDD.tar.gz