9.2. Subscription Asset Manager の復元

警告

Subscription Asset Manager を復元すると、Subscription Asset Manager インスタンスのすべての既存データが上書きされます。
復元する Subscription Asset Manager インスタンスを間違えないようにしてください。

重要

この手順では、Subscription Asset Manager サーバーが以前にインストールされてバックアップを作成した同じマシンで復元されることを前提としています。
Subscription Asset Manager インスタンスを別のホストで復元する場合は、そのシステムが同じホスト名および IP アドレスなど、元のシステムと同じ設定になっている必要があります。
復元操作はすべて、root で実行する必要があります。
  1. 設定のバックアップからのファイルを使って、元のインスタンスと同じオプションで設定ファイルを作成します。それから、katello-configure スクリプトを実行します。
    [root@server ~]# katello-configure --answer-file=/etc/katello/katello-configure.conf
  2. バックアップファイルを格納しているディレクトリーを開きます。例を示します。
    [root@server ~]# cd backup/
  3. データベース名を確認します。デフォルトのデータベース名は katelloschemacandlepin になります。Subscription Asset Manager インスタンスでデフォルト名が使用されていない場合は、カスタム値は katello-configure.conf ファイルの db_name パラメーターになります。
    [root@server backup]# grep db_name /etc/katello/katello-configure.conf
  4. データベースを復元する前にすべてのサービスを停止します。
    [root@server backup]# katello-service stop
  5. アーカイブ化されたファイルおよびディレクトリーを抽出してシステムファイルを復元します。例を示します。
    [root@server backup]# tar --selinux -xzvf config_files.tar.gz -C /
    [root@server backup]# tar --selinux -xzvf elastic_data.tar.gz -C /
  6. 既存の Subscription Asset Manager PostgreSQL データベースがある場合は、それらをドロップします。
    [root@server backup]# service postgresql start
    [root@server backup]# su postgres -c "dropdb katelloschema"
    [root@server backup]# su postgres -c "dropdb candlepin"
    すべてのプロセスが先に停止されていない場合は、データベースドロップ操作で以下のエラーが返されます。
    database xxx is being accessed by other users (他のユーザーがデータベース xxx にアクセスしています)
  7. postgres ユーザーとして pg_restore コマンドを実行し、データベースを復元します。
    [root@server backup]# su postgres -c "pg_restore -C -d postgres /backup/katello.dump"
    [root@server backup]# su postgres -c "pg_restore -C -d postgres /backup/candlepin.dump"
    PostgreSQL 復元操作についての詳細は、pg_dump man ページまたは PostgreSQL documentation を参照してください。
  8. Subscription Asset Manager の全プロセスを再起動します。
    [root@server backup]# katello-service restart
  9. /var/log/katello/production.log ログファイルでエラーを、/var/log/candlepin/audit.log ファイルで拒否をチェックして、すべてのサービスが適切に応答していることを確認します。
    Subscription Asset Manager インスタンス への ping を試みます。
    [root@server backup]# katello -u admin -p admin ping
    --------------------------------------------------------------------------------
                                     Katello Status
    
    Status Service        Result Duration Message
    --------------------------------------------------------------------------------
    OK
    candlepin      OK     74ms
    candlepin_auth OK     38ms
    elasticsearch  OK     37ms
    katello_jobs   OK     39ms