Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

バックアップと復元

このトピックでは、Paragon Automationで使用できるバックアップおよびリストア機能について説明します。Paragon AutomationはGUIベースのアプリケーションですが、バックアップと復元の操作はParagon Insights cMGD CLIから管理されます。Postgresは、マイクロサービス用の主要な永続ストレージデータベースです。バックアップファイルは、クラスターノード上のローカル永続ボリュームに保存されます。バックアップ手順は、マイクロサービスの実行中に実行でき、クラスターの動作には影響しません。ただし、復元手順では、マイクロサービスが停止され、データベースが復元されるまでクラスターは機能しません。

現在、バックアップおよび復元するアプリケーションをカスタム選択することはできません。バックアップと復元できるのは、 表1に示すように、各コンポーネントに対して事前に構成された固定されたアプリケーションと管理設定のセットのみです。

表1:バックアップ構成設定の固定セット

デバイス

アラート/アラーム設定

管理グループ

トピック

プロット設定

ユーザー定義のアクションと機能

プレイブック

概要プロファイル

監査ログ

デバイスグループ

取り込み設定

トポロジーフィルター設定

ネットワークグループ

SNMPプロキシの設定

パスファインダー設定

通知設定

IAM設定

LSP ポリシーとプロファイル

アイテム保持ポリシー

ワークフロー

レポート生成設定(宛先、レポート、スケジューラ設定)

バックアップ手順には、以下の制限があります。

  • テレメトリデータ—デフォルトでは、デバイスからキャプチャされたデータはバックアップされません。テレメトリデータは手動でバックアップする必要があります。

    詳細については、「 TSDBのバックアップと復元」を参照してください。

  • 一時データおよびロギングデータ—処理中のデータや期限切れのイベントデータはバックアップされません。例えば:

    • 生成されたアラートとアラーム

    • コミットされていない設定変更

    • ほとんどのアプリケーションログ

  • Paragon-自動化設定—Paragon Automationがサポートするサードパーティサービスで行われた設定はバックアップされません。例えば:

    • LDAPユーザーの詳細

  • トポロジーの取り込み設定 - トポロジー情報を得るためにBGP-LSルーターとピアリングするためのcRPD設定はバックアップされません。これは、必要に応じて手動で再設定する必要があります。詳細については、「cRPD設定の変更」を参照してください。

Kubernetesジョブを介して呼び出されるコンテナ化されたスクリプトを使用して、バックアップおよびリストア手順を実装します。

設定のバックアップで説明されている手順を使用して、クラスターを手動でバックアップ できます。また、バックアップスクリプトを使用して、「 バックアップスクリプトと復元スクリプト」で説明されている手順を使用して、クラスターをバックアップすることもできます。

同様に、 設定の復元で説明されている手順を使用して、バックアップされた設定を手動で復元することもできます。また、復元スクリプトを使用して、バックアップスクリプトと 復元スクリプトで説明されている手順を使用して、バックアップされた設定を復元することもできます。

図1:バックアップと復元のプロセス System architecture diagram for Kubernetes backup and restore workflow: cmgd creates backup and restore K8s jobs; Backup jobs write to Local Persistent Volume; Restore jobs read from it; Paragon Microservices use Postgres database; Arrows show data flow and interactions.

Paragon Automationリリース23.2では、新しいリリース23.2インストールのダミーバックアップを実行した後にのみ、以前のリリースのParagon Automationからバックアップされた設定を復元できます。リリース 23.2 クラスターで復元操作を使用するには、以下のことを推奨します。

  1. 現在のParagon Automationクラスターをリリース23.1にアップグレードします。

  2. リリース23.1設定をバックアップします。

  3. リリース23.2のクラスターをインストールします。

  4. 23.2 クラスターをバックアップします。

  5. リリース23.1の設定をバックアップされたリリース23.2の場所にコピーします。

  6. コピーしたバックアップ設定を復元します。

設定をバックアップする

ほとんどのParagon Automationアプリケーションのデータは、主にPostgresに保存されています。設定をバックアップすると、システムによって決定された事前定義されたデータがバックアップされます。バックアップを実行しても、運用システムとマイクロサービスは影響を受けません。バックアップの実行中も、Paragon Automationを引き続き使用できます。バックアップは、Paragon Insights(旧Healthbot)が管理する管理されたデーモン(MGD)CLIを使用します。

現在のParagon Automation設定をバックアップするには、次の手順に従います。

  1. MGD Kubernetesポッドの名前を決定し、この名前を使用してcMGD CLIに接続します。

    例えば:

    注:

    KubernetesのメインCLIツールはkubectlで、プライマリノードにインストールされます。プライマリ ノード以外のノードを使用できますが、 必ず admin.conf ファイルをコピーして kubeconfig 環境変数を設定する必要があります。または、 export KUBECONFIG=config-dir/admin.conf コマンドを使用することもできます。

    また、制御ホストを含む、クラスターにアクセスできる任意のノードからKubernetes APIにアクセスすることもできます。

  2. request system backup path path-to-backup-folder コマンドを入力して、コマンドを実行した瞬間まですべてのデータベースをバックアップするバックアップジョブを開始します。

    例えば:

    このコマンドは、対応するKubernetes db-backup-hello-world ジョブを作成します。Kubernetesジョブは、事前定義されたデータのバックアップを作成します。ファイルはローカル永続ボリュームに保存されます。

  3. バックアップが完了したら、kubectlを使用してベースプラットフォームリソースを明示的かつ手動でバックアップする必要があります。
    1. jobmanager-identitysrvcredsdevicemodel-connector-default-scope-id をバックアップします。
    2. (オプション)SMTPがParagon Automationクラスターで設定されている場合は、使用可能なiam-smtp-configシークレットをバックアップします。

      このコマンドが失敗した場合、SMTPはクラスターで設定されていないため、エラーは無視できます。

バックアップの詳細を表示するために頻繁に使用されるkubectlコマンド

バックアップのステータスやバックアップファイルの場所を表示したり、バックアップファイルに関する詳細情報を表示したりするには、次のコマンドを使用します。

  • バックアップ ジョブは共通の名前空間に存在し、 common=db-backup ラベルを使用します。すべてのバックアップジョブを表示するには:

  • 特定のKubernetesジョブの詳細を表示するには:

  • 特定のKubernetesジョブのログを表示するには:

  • バックアップファイルの場所を特定するには:

    この出力は、ローカル永続ボリュームを指します。その永続ボリュームを使用して、バックアップ ファイルが保存されているノードを特定します。

    すべてのバックアップファイルを表示するには、ノードにログインし、バックアップフォルダの場所に移動します。

よく見られるバックアップと復元の失敗シナリオを表示するには、「 一般的なバックアップと復元の問題」を参照してください。

設定を復元する

以前にバックアップした設定フォルダーからParagon Automation設定を復元できます。復元操作では、バックアップされたすべての設定情報でデータベースが書き換えられます。データベースを選択的にリストアすることはできません。復元操作を実行すると、Kubernetesジョブが生成され、影響を受けるマイクロサービスが停止します。ジョブにより、バックアップされた設定が復元され、マイクロサービスが再起動されます。復元手順が完了するまで、Paragon Automationは機能しないままになります。

Kubernetesジョブは復元プロセス中にマイクロサービスを停止するため、複数の復元ジョブを同時に実行することはできません。また、バックアップと復元の両方のプロセスを同時に実行することはできません。

注:

メンテナンス期間中に設定を復元することを強くお勧めします。そうしないと、システムが一貫性のない状態になる可能性があります。

Paragon Automationの設定を以前にバックアップした設定に復元するには:

  1. MGD Kubernetesポッドの名前を決定し、この名前を使用してcMGD CLIに接続します。

    例えば:

  2. request system restore path path-to-backup-folder コマンドを入力して、永続ボリューム上の指定されたバックアップフォルダ内のファイルで設定を復元します。

    例えば:

    対応するKubernetes db-restore-hello-world ジョブが作成されます。Kubernetesジョブが停止し、マイクロサービスが再起動するため、復元プロセスにはバックアッププロセスよりも時間がかかります。復元が完了しても、Paragon Automationシステムはすぐには動作しません。システムが安定して完全に機能するまで、約 10 分待つ必要があります。

    注:

    復元プロセス中にログインしている場合は、ログアウトし、復元プロセスの完了後に再度ログインする必要があります。

  3. 復元プロセスが完了したら、以前に手動でバックアップしたベースプラットフォームバックアップファイルを使用して、ベースプラットフォームリソースを明示的に復元する必要があります。
    1. jobmanager-identitysrvcreds および devicemodel-connector-default-scope-id base-platform シークレットリソースを削除します。
    2. 以前にバックアップしたベースプラットフォームリソースを復元します。
    3. jobmanagerを再起動し、ベースプラットフォームサービスをdevicemodel-connectorします。
    4. (オプション)Paragon AutomationクラスターでSMTPが設定されている場合は、現在のSMTPシークレットファイルを削除し、以前にバックアップしたファイルから復元します。
    5. (オプション)手動でバックアップしたファイルを削除します。夜間のバックアップスケジュールがある場合、または特定のファイルからすでに復元していて不要になった場合は、手動でバックアップしたファイルを削除できます。

復元の詳細を表示するために頻繁に使用されるkubectlコマンド

詳細情報と復元プロセスのステータスを表示するには、以下のコマンドを使用します。

  • 復元ジョブは共通の名前空間に存在し、 common=db-restore ラベルを使用します。すべての復元ジョブを表示するには:

  • 特定のKubernetesジョブの詳細を表示するには:

  • 特定のKubernetesジョブのログを表示するには:

よく見られるバックアップと復元の失敗シナリオを表示するには、「 一般的なバックアップと復元の問題」を参照してください。

バックアップスクリプトと復元スクリプト

また、Paragon Automationのバックアップおよびリストアスクリプトを使用して、バックアップとリストアの操作を簡略化することもできます。このトピックでは、バックアップと復元スクリプトの操作、およびスクリプトの使用に関する注意事項について説明します。

バックアップスクリプト操作

バックアップスクリプトは、現在の設定を自動的にバックアップします。バックアップスクリプトの主な利点は、定期的なバックアップをスケジュールするために、必要な頻度でcronジョブとして実行できることです。さらに、バックアップスクリプトは、識別可能な日付スタンプ付きのバックアップフォルダを作成し、スクリプトが異なる日に実行されてもフォルダが上書きされることはありません。

バックアップスクリプトを使用して設定をバックアップするには、次の手順に従います。

  1. プライマリノードのいずれか1つにログインします。

  2. バックアップスクリプトを実行します。

スクリプトはバックアップジョブを実行して、現在の設定をバックアップします。バックアップフォルダが作成され、クラスターノードの1つのローカル永続ボリュームに保存されます。フォルダー名は <name>-year_month_day 形式です。クラスターノードのフォルダーには、バックアップされたすべての設定メタデータが含まれています。

また、このスクリプトは、プライマリ ノードの現在のパスに同じ名前のフォルダーを作成します。プライマリ ノードのバックアップ フォルダーには、バックアップされた設定を復元する際に使用するベース プラットフォームに必要な JSON ファイルが含まれています。

スクリプトが実行されると、バックアップの概要が生成され、画面に表示されます。概要には、バックアップ ファイルのノードと場所が含まれています。例えば:

この例では、すべてのバックアップメタデータを含むバックアップフォルダが、IPアドレス10.16.18.20のクラスターノードの /export/local-volumes/pv1 フォルダに保存されています。

スクリプト操作の復元

復元スクリプトは、バックアップされた設定を自動的に復元します。

復元スクリプトを使用して設定を復元するには:

  1. プライマリノードのいずれか1つにログインします。

  2. MGDコンテナ名を取得する:

  3. 復元コマンドを実行します。

  4. 共通の名前空間で復元ポッドを見つけます。

  5. 復元ポッドからログを確認します。

  6. ログをたどり、ログの最後に [Restore Complete] を探して更新します。

  7. リリース23.2 UIにログインし、復元されたデータを確認します。

バックアップスクリプトと復元スクリプトに関する注意事項

バックアップスクリプトと復元スクリプトの注意点は次のとおりです。

  • スクリプトは、週単位または1日1回だけ実行できます。24時間以内に複数回実行すると、その日のバックアップフォルダがすでに <name>-year_month_dayがあるため、エラーが返されます。同じ 24 時間以内に手動バックアップを作成する必要がある場合は、 kubectl delete -n common jobs コマンドを使用してジョブを削除する必要があります。例えば:

    # kubectl delete -n common jobs db-backup-paa-2023_20_04

  • スクリプトは、バックアップファイルの頻度とサイズに応じて、バックアップファイルでディスク領域を埋めます。ディスク領域を解放するために、古いバックアップ メタデータとファイルを削除することを検討してください。 kubectl delete -n common jobs コマンドを使用して、Kubernetesメタデータを削除できます。例えば:

    # kubectl delete -n common jobs db-backup-paa-2023_20_04

    バックアップスクリプトの実行時にサマリーに表示されるローカルボリュームパスの/root/フォルダに作成された<name>-year-month-dayフォルダを削除することで、バックアップファイルを削除できます。