4 Private Automation Hubのバックアップとリストア
次の章では、Private Automation Hubのバックアップとリストアについて説明します。関連するすべてのサービスを停止し、バックアップ時にデータが変更されていない状態でオフライン・バックアップを実行します。このバックアップは、定義上、一貫性が保たれます。
Private Automation Hubのオフライン・バックアップ
Private Automation Hubのオフライン・バックアップを実行するには、次の手順を実行します:
- バックアップ・ディレクトリを作成します。十分なディスク容量があることを確認し、ディレクトリを永続化することを検討します。
ノート:
このドキュメントでは、安全ではないホーム・ディレクトリ内のフォルダを使用します。sudo mkdir -p ~/backup/etc/pulp ~/backup/var/lib/pulp ~/backup/etc/nginx/pulp ~/backup/var/lib/pgsql/data
- 次のサービスを次の順序で停止します:
sudo systemctl stop pulpcore sudo systemctl stop nginx sudo systemctl stop postgresql
- 次のフォルダバックアップ・ディレクトリにコピーします:
ノート:
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/
- サービスを次の順序で再起動します:
sudo systemctl start postgresql sudo systemctl start pulpcore* --all sudo systemctl start nginx
ノート:
バックアップが期待どおりに動作することを確認するために、テストを行うことを検討してください。詳細は、「Private Automation Hubのオフラインのリストア」を参照してください。
リモート・データベースを使用したPrivate Automation Hubのオフライン・バックアップ
リモート・データベースを使用したPrivate Automation Hubのオフライン・バックアップを実行するには、次の手順を実行します:
- Private Automation Hubサーバー上で、バックアップ・ディレクトリを作成します。十分なディスク容量があることを確認し、ディレクトリを永続化することを検討します。
ノート:
このドキュメントでは、安全ではないホーム・ディレクトリ内のフォルダを使用します。sudo mkdir -p ~/backup/etc/pulp ~/backup/var/lib/pulp ~/backup/etc/nginx/pulp
- データベース・サーバーで、次のフォルダのバックアップ・ディレクトリを作成します。十分なディスク容量があることを確認し、ディレクトリを永続化することを検討します。
sudo mkdir -p ~/backup/var/lib/pgsql/data
- Private Automation Hubサーバーで次のサービスを次の順序で停止します:
sudo systemctl stop pulpcore sudo systemctl stop nginx
- データベース・サーバーで次のサービスを停止します:
sudo systemctl stop postgresql
- 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/
- データベース・サーバーから次のフォルダをバックアップ・ディレクトリにコピーします。
sudo cp -rp /var/lib/pgsql/data ~/backup/var/lib/pgsql/
- データベース・サーバーでサービスを再起動します:
sudo systemctl start postgresql
- Private Automation Hubで次の順序でサービスを再起動します:
sudo systemctl start pulpcore* --all sudo systemctl start nginx
ノート:
バックアップが期待どおりに動作することを確認するために、テストを行うことを検討してください。詳細は、「Private Automation Hubのオフラインのリストア」を参照してください。
Private Automation Hubのオフライン・リストア
Private Automation Hubのオフライン・リストアを実行するには、次の手順を実行します:
ノート:
オフライン・バックアップを作成した後に入力されたすべてのデータは、バックアップをリストアすると失われます。- 実行中の場合は、次のサービスを次の順序で停止します:
sudo systemctl stop pulpcore sudo systemctl stop nginx sudo systemctl stop postgresql
- バックアップ・ディレクトリから次のフォルダを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/
- サービスを次の順序で再起動します:
sudo systemctl daemon-reload sudo systemctl start postgresql sudo systemctl start pulpcore* --all sudo systemctl start nginx
リモート・データベースを使用したPrivate Automation Hubのオフライン・リストア
リモート・データベースを使用してPrivate Automation Hubのオフライン・リストアを実行するには、次の手順を実行します:
ノート:
オフライン・バックアップを作成した後に入力されたすべてのデータは、バックアップをリストアすると失われます。- Private Automation Hubサーバーで次のサービスを次の順序で停止します:
sudo systemctl stop pulpcore sudo systemctl stop nginx
- データベース・サーバーで次のサービスを停止します:
sudo systemctl stop postgresql
- バックアップ・ディレクトリから次のフォルダを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/
- データベース・サーバーでサービスを再起動します:
sudo systemctl daemon-reload sudo systemctl start postgresql
- Private Automation Hubで次の順序でサービスを再起動します:
sudo systemctl daemon-reload sudo systemctl start pulpcore* --all sudo systemctl start nginx
新しいホストへのPrivate Automation Hubのオフライン・リストア
新しいホストへのPrivate Automation Hubのオフライン・リストアを実行するには、次の手順を実行します:
ノート:
オフライン・バックアップを作成した後に入力されたすべてのデータは、バックアップをリストアすると失われます。- 新しいホストが、バックアップを作成した元のホストと同じ構成と設定でインストールされていることを確認します。これには、同一のインストーラ・プレイブックとソフトウェア・バージョン(例: 同じデータベースバージョンとPrivate Automation Hubバージョン)を実行することが含まれます。プレイブック実行時に変更する必要があるパラメータは、ホストとIPアドレスのみです。詳細は、「Private Automation Hubのインストール」を参照してください。
- 元のホストで次のサービスが実行中の場合は、次の順序で停止します:
sudo systemctl stop pulpcore sudo systemctl stop nginx sudo systemctl stop postgresql
- 必要な方法を使用して、次のフォルダをバックアップ・ディレクトリから新しい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/
- 新しいホストの/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>はデータベースのパスワードです。
- サービスを次の順序で再起動します:
sudo systemctl daemon-reload sudo systemctl start postgresql sudo systemctl start pulpcore* --all sudo systemctl start nginx
リモート・データベースを使用したPrivate Automation Hubの新しいホストへのオフライン・リストア
リモート・データベースを使用して新しいホストへのPrivate Automation Hubのオフライン・リストアを実行するには、次の手順を実行します:
ノート:
オフライン・バックアップを作成した後に入力されたすべてのデータは、バックアップをリストアすると失われます。- 新しいホストが、バックアップを作成した元のホストおよびリモート・データベースと同じ構成と設定でインストールされていることを確認します。これには、同一のインストーラ・プレイブックとソフトウェア・バージョン(例: 同じデータベースバージョンとPrivate Automation Hubバージョン)を実行することが含まれます。プレイブック実行時に変更する必要があるパラメータは、ホストとIPアドレスのみです。詳細は、「Private Automation Hubのインストール」を参照してください。
- 実行中の場合、Private Automation Hubサーバーで次のサービスを次の順序で停止します:
sudo systemctl stop pulpcore sudo systemctl stop nginx
- 実行中の場合、データベース・サーバーで次のサービスを停止します:
sudo systemctl stop postgresql
- 必要な方法を使用して、次のフォルダをバックアップ・ディレクトリから新しい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/
- 新しい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>はデータベースのパスワードです。
- 必要な方法を使用して、次のフォルダをバックアップ・ディレクトリから新しいデータベース・サーバーにコピーします。バックアップ・ファイルを次のディレクトリにコピーします:
sudo cp -rp ~/backup/var/lib/pgsql/data /var/lib/pgsql/
- データベース・サーバーでサービスを再起動します:
sudo systemctl daemon-reload sudo systemctl start postgresql
- Private Automation Hubで次の順序でサービスを再起動します:
sudo systemctl daemon-reload sudo systemctl start pulpcore* --all sudo systemctl start nginx