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-Automation以外の設定-Paragon Automationがサポートするサードパーティサービスで行われた設定はバックアップされません。例えば:

    • LDAPユーザーの詳細

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

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

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

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

図1:バックアップと復元のプロセス Backup and Restore Process

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オートメーションを使い続けることができます。バックアップを実行するには、Paragon Insights(旧Healthbot)によって管理される管理デーモン(MGD)CLIを使用します。

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

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

    例えば:

    手記:

    Kubernetes のメイン CLI ツールは kubectl で、プライマリ ノードにインストールされます。1 次ノード以外のノードを使用することもできますが、 必ず 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. (オプション)Paragon AutomationクラスタでSMTPが設定されている場合、使用可能な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-identitysrvcredsdevicemodel-connector-default-scope-id ベース プラットフォームのシークレット リソースを削除します。
    2. 以前にバックアップしたベース プラットフォーム リソースを復元します。
    3. jobmanagerを再起動し、基本プラットフォーム サービスdevicemodel-connectorします。
    4. (オプション)Paragon AutomationクラスタでSMTPが設定されている場合、現在のSMTPシークレットファイルを削除し、以前にバックアップしたファイルから復元します。
    5. (オプション)手動でバックアップしたファイルを削除します。夜間のバックアップ スケジュールがある場合、または特定のファイルから既に復元していて不要になった場合は、手動でバックアップしたファイルを削除できます。

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

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

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

  • 特定の Kubernetes ジョブの詳細を表示するには、以下を行います。

  • 特定の Kubernetes ジョブのログを表示するには、次のようにします。

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

バックアップおよび復元スクリプト

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

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

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

バックアップスクリプトを使用して設定をバックアップするには:

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

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

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

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

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

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

スクリプトの復元操作

復元スクリプトは、バックアップした構成を自動的に復元します。

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

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

  2. MGD コンテナー名を取得します。

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

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

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

  6. ログをフォローし、ログの最後にある [復元の完了] を探して更新します。

  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 フォルダーを削除します。