4 Private Automation Hubのバックアップとリストア

次の章では、Private Automation Hubのバックアップとリストアについて説明します。関連するすべてのサービスを停止し、バックアップ時にデータが変更されていない状態でオフライン・バックアップを実行します。このバックアップは、定義上、一貫性が保たれます。

Private Automation Hubのオフライン・バックアップ

Private Automation Hubのオフライン・バックアップを実行するには、次の手順を実行します:
  1. バックアップ・ディレクトリを作成します。十分なディスク容量があることを確認し、ディレクトリを永続化することを検討します。

    ノート:

    このドキュメントでは、安全ではないホーム・ディレクトリ内のフォルダを使用します。
    sudo mkdir -p ~/backup/etc/pulp ~/backup/var/lib/pulp ~/backup/etc/nginx/pulp ~/backup/var/lib/pgsql/data
  2. 次のサービスを次の順序で停止します:
    sudo systemctl stop pulpcore
    sudo systemctl stop nginx
    sudo systemctl stop postgresql
    
  3. 次のフォルダバックアップ・ディレクトリにコピーします:

    ノート:

    cpオプションrにより、すべてのサブディレクトリがバックアップに含まれ、pによりすべての権限が保持されます。
    sudo cp -rp /etc/pulp/ ~/backup/etc/
    sudo cp -rp /var/lib/pulp ~/backup/var/lib/
    sudo cp -rp /etc/nginx/pulp ~/backup/etc/nginx/
    sudo cp -rp /var/lib/pgsql/data ~/backup/var/lib/pgsql/
  4. サービスを次の順序で再起動します:
    sudo systemctl start postgresql
    sudo systemctl start pulpcore* --all
    sudo systemctl start nginx

    ノート:

    バックアップが期待どおりに動作することを確認するために、テストを行うことを検討してください。詳細は、「Private Automation Hubのオフラインのリストア」を参照してください。

リモート・データベースを使用したPrivate Automation Hubのオフライン・バックアップ

リモート・データベースを使用したPrivate Automation Hubのオフライン・バックアップを実行するには、次の手順を実行します:
  1. Private Automation Hubサーバー上で、バックアップ・ディレクトリを作成します。十分なディスク容量があることを確認し、ディレクトリを永続化することを検討します。

    ノート:

    このドキュメントでは、安全ではないホーム・ディレクトリ内のフォルダを使用します。
    sudo mkdir -p ~/backup/etc/pulp ~/backup/var/lib/pulp ~/backup/etc/nginx/pulp
  2. データベース・サーバーで、次のフォルダのバックアップ・ディレクトリを作成します。十分なディスク容量があることを確認し、ディレクトリを永続化することを検討します。
    sudo mkdir -p ~/backup/var/lib/pgsql/data
  3. Private Automation Hubサーバーで次のサービスを次の順序で停止します:
    sudo systemctl stop pulpcore
    sudo systemctl stop nginx
    
  4. データベース・サーバーで次のサービスを停止します:
    sudo systemctl stop postgresql
    
  5. Private Automation Hubサーバーから次のフォルダをバックアップ・ディレクトリにコピーします。

    ノート:

    cpオプションrにより、すべてのサブディレクトリがバックアップに含まれ、pによりすべての権限が保持されます。
    sudo cp -rp /etc/pulp/ ~/backup/etc/
    sudo cp -rp /var/lib/pulp ~/backup/var/lib/
    sudo cp -rp /etc/nginx/pulp ~/backup/etc/nginx/
    
  6. データベース・サーバーから次のフォルダをバックアップ・ディレクトリにコピーします。
    sudo cp -rp /var/lib/pgsql/data ~/backup/var/lib/pgsql/
  7. データベース・サーバーでサービスを再起動します:
    sudo systemctl start postgresql
  8. Private Automation Hubで次の順序でサービスを再起動します:
    sudo systemctl start pulpcore* --all
    sudo systemctl start nginx

    ノート:

    バックアップが期待どおりに動作することを確認するために、テストを行うことを検討してください。詳細は、「Private Automation Hubのオフラインのリストア」を参照してください。

Private Automation Hubのオフライン・リストア

Private Automation Hubのオフライン・リストアを実行するには、次の手順を実行します:

ノート:

オフライン・バックアップを作成した後に入力されたすべてのデータは、バックアップをリストアすると失われます。
  1. 実行中の場合は、次のサービスを次の順序で停止します:
    sudo systemctl stop pulpcore
    sudo systemctl stop nginx
    sudo systemctl stop postgresql
  2. バックアップ・ディレクトリから次のフォルダをPrivate Automation Hubサーバーにコピーします。

    ノート:

    cpオプションrにより、すべてのサブディレクトリがバックアップに含まれ、pによりすべての権限が保持されます。
    sudo cp -rp ~/backup/etc/pulp /etc/
    sudo cp -rp ~/backup/var/lib/pulp /var/lib/
    sudo cp -rp ~/backup/etc/nginx/pulp /etc/nginx/
    sudo cp -rp ~/backup/var/lib/pgsql/data /var/lib/pgsql/
  3. サービスを次の順序で再起動します:
    sudo systemctl daemon-reload
    sudo systemctl start postgresql
    sudo systemctl start pulpcore* --all
    sudo systemctl start nginx

リモート・データベースを使用したPrivate Automation Hubのオフライン・リストア

リモート・データベースを使用してPrivate Automation Hubのオフライン・リストアを実行するには、次の手順を実行します:

ノート:

オフライン・バックアップを作成した後に入力されたすべてのデータは、バックアップをリストアすると失われます。
  1. Private Automation Hubサーバーで次のサービスを次の順序で停止します:
    sudo systemctl stop pulpcore
    sudo systemctl stop nginx
  2. データベース・サーバーで次のサービスを停止します:
    sudo systemctl stop postgresql
  3. バックアップ・ディレクトリから次のフォルダをPrivate Automation Hubサーバーにコピーします。

    ノート:

    cpオプションrにより、すべてのサブディレクトリがバックアップに含まれ、pによりすべての権限が保持されます。
    sudo cp -rp ~/backup/etc/pulp /etc/
    sudo cp -rp ~/backup/var/lib/pulp /var/lib/
    sudo cp -rp ~/backup/etc/nginx/pulp /etc/nginx/
  4. バックアップ・ディレクトリからデータベース・サーバーに次のフォルダをコピーします。
    sudo cp -rp ~/backup/var/lib/pgsql/data /var/lib/pgsql/
  5. データベース・サーバーでサービスを再起動します:
    sudo systemctl daemon-reload
    sudo systemctl start postgresql
  6. Private Automation Hubで次の順序でサービスを再起動します:
    sudo systemctl daemon-reload
    sudo systemctl start pulpcore* --all
    sudo systemctl start nginx

新しいホストへのPrivate Automation Hubのオフライン・リストア

新しいホストへのPrivate Automation Hubのオフライン・リストアを実行するには、次の手順を実行します:

ノート:

オフライン・バックアップを作成した後に入力されたすべてのデータは、バックアップをリストアすると失われます。
  1. 新しいホストが、バックアップを作成した元のホストと同じ構成と設定でインストールされていることを確認します。これには、同一のインストーラ・プレイブックとソフトウェア・バージョン(例: 同じデータベースバージョンとPrivate Automation Hubバージョン)を実行することが含まれます。プレイブック実行時に変更する必要があるパラメータは、ホストとIPアドレスのみです。詳細は、「Private Automation Hubのインストール」を参照してください。
  2. 元のホストで次のサービスが実行中の場合は、次の順序で停止します:
    sudo systemctl stop pulpcore
    sudo systemctl stop nginx
    sudo systemctl stop postgresql
  3. 必要な方法を使用して、次のフォルダをバックアップ・ディレクトリから新しいPrivate Automation Hubサーバーにコピーします。バックアップ・ファイルを次のディレクトリにコピーします:

    ノート:

    cpオプションrにより、すべてのサブディレクトリがバックアップに含まれ、pによりすべての権限が保持されます。
    sudo cp -rp ~/backup/etc/pulp /etc/
    sudo cp -rp ~/backup/var/lib/pulp /var/lib/
    sudo cp -rp ~/backup/etc/nginx/pulp /etc/nginx/
    sudo cp -rp ~/backup/var/lib/pgsql/data /var/lib/pgsql/
  4. 新しいホストの/etc/pulp/settings.local.pyを次のパラメータで更新します:
    DATABASES = {'default': {'HOST': '<IP address or host name>', 'ENGINE': 'django.db.backends.postgresql', 'NAME': 'pulp', 'USER': 'pulp', 'PASSWORD': '<db_password>'}}
    TOKEN_SERVER = 'https://<<IP address or host name>>/token/'
    and
    CONTENT_ORIGIN = 'https://<IP address or host name>'

    前述の例では、<IP address or host name>はスタンドアロンのPrivate Automation HubサーバーのIPアドレスまたはホスト名、<db_password>はデータベースのパスワードです。

  5. サービスを次の順序で再起動します:
    sudo systemctl daemon-reload
    sudo systemctl start postgresql
    sudo systemctl start pulpcore* --all
    sudo systemctl start nginx

リモート・データベースを使用したPrivate Automation Hubの新しいホストへのオフライン・リストア

リモート・データベースを使用して新しいホストへのPrivate Automation Hubのオフライン・リストアを実行するには、次の手順を実行します:

ノート:

オフライン・バックアップを作成した後に入力されたすべてのデータは、バックアップをリストアすると失われます。
  1. 新しいホストが、バックアップを作成した元のホストおよびリモート・データベースと同じ構成と設定でインストールされていることを確認します。これには、同一のインストーラ・プレイブックとソフトウェア・バージョン(例: 同じデータベースバージョンとPrivate Automation Hubバージョン)を実行することが含まれます。プレイブック実行時に変更する必要があるパラメータは、ホストとIPアドレスのみです。詳細は、「Private Automation Hubのインストール」を参照してください。
  2. 実行中の場合、Private Automation Hubサーバーで次のサービスを次の順序で停止します:
    sudo systemctl stop pulpcore
    sudo systemctl stop nginx
  3. 実行中の場合、データベース・サーバーで次のサービスを停止します:
    sudo systemctl stop postgresql
  4. 必要な方法を使用して、次のフォルダをバックアップ・ディレクトリから新しいPrivate Automation Hubサーバーにコピーします。バックアップ・ファイルを次のディレクトリにコピーします:

    ノート:

    cpオプションrにより、すべてのサブディレクトリがバックアップに含まれ、pによりすべての権限が保持されます。
    sudo cp -rp ~/backup/etc/pulp /etc/
    sudo cp -rp ~/backup/var/lib/pulp /var/lib/
    sudo cp -rp ~/backup/etc/nginx/pulp /etc/nginx/
  5. 新しいPrivate Automation Hubサーバーの/etc/pulp/settings.local.pyを次のパラメータで更新します:
    DATABASES = {'default': {'HOST': '<database IP address or host name>', 'ENGINE': 'django.db.backends.postgresql', 'NAME': 'pulp', 'USER': 'pulp', 'PASSWORD': '<db_password>'}}
    TOKEN_SERVER = 'https://<<IP address or host name>>/token/'
    and
    CONTENT_ORIGIN = 'https://<IP address or host name>'

    前述の例では、<database IP address or host name>はデータベースのIPアドレスまたはホスト名、<IP address or host name>はスタンドアロンのPrivate Automation HubサーバーのIPアドレスまたはホスト名、<db_password>はデータベースのパスワードです。

  6. 必要な方法を使用して、次のフォルダをバックアップ・ディレクトリから新しいデータベース・サーバーにコピーします。バックアップ・ファイルを次のディレクトリにコピーします:
    sudo cp -rp ~/backup/var/lib/pgsql/data /var/lib/pgsql/
  7. データベース・サーバーでサービスを再起動します:
    sudo systemctl daemon-reload
    sudo systemctl start postgresql
  8. Private Automation Hubで次の順序でサービスを再起動します:
    sudo systemctl daemon-reload
    sudo systemctl start pulpcore* --all
    sudo systemctl start nginx