Documentation

18. Tower のバックアップおよび復元

システムのバックアップや復元機能が Tower の設定 Playbook に統合され、必要に応じて Tower インスタンスを簡単にバックアップ、複製できるようになりました。

注釈

復元するには、バックアップしたバージョンと同じバージョンに復元するようにしてください。ただし、Tower インストールのバージョンをバックアップおよび復元する場合は、最新のマイナーバージョンを必ず使用するようにしてください。たとえば、現在使用している Tower のバージョンが 3.0.0、3.0.1 または 3.0.2 の場合は、3.0.2 のインストーラーのみを使用してください。

Tower の設定 Playbook は、Tower のインストーラーの tar ファイルを解凍したパスから setup.sh として呼び出されます。このシェルは、Tower のインストールウィザードが記述する tower_setup_conf.yml および inventory ファイルを使用します。設定スクリプトでは、以下の引数を指定してバックアップと復元を行うことができます。

  • -b データベースのインストールではなくバックアップを実行します。
  • -r データベースのインストールではなく復元を実行します。

root ユーザーとして、適切なパラメーターを指定して setup.sh と設定通りに Tower のバックアップと復元を呼び出します。

root@localhost:~$ ./setup.sh -b
root@localhost:~$ ./setup.sh -r

以下のコード例に記載されているように、EXTRA_VARS でデフォルト以外のパスを指定しない限り、デフォルトの復元パスが使用されます。

root@localhost:~$ ./setup.sh -e 'restore_backup_file=/path/to/nondefault/location' -r

18.1. バックアップ/復元 Playbook

setup.sh の設定 Playbook が含まれる install.yml ファイルの他に、 バックアップや復元用の backup.ymlrestore.yml ファイルもあります。

これらの Playbook には 2 つの機能があります。

  • 設定ファイル、キー、その他の関連ファイル、Tower システム設定のデータベースをバックアップする機能
  • バックアップしたファイルおよびデータを新規インストールした Tower または 2 つ目の機能する Tower インスタンスに復元する機能

backup.yml ファイルは以下のようになります。

---
- hosts: primary
  gather_facts: yes
  roles:
    - backup

これは、setup.sh 内に以下のように呼び出されます。

b)
    PLAYBOOK="backup.yml"
    TEMP_LOG_FILE="backup.log"
    OPTIONS="$OPTIONS --force-handlers"
    ;;

restore.yml ファイルは以下のようになります。

---
- hosts: primary
  gather_facts: yes
  roles:
    - restore

これは、setup.sh 内に以下のように呼び出されます。

r)
    PLAYBOOK="restore.yml"
    TEMP_LOG_FILE="restore.log"
    OPTIONS="$OPTIONS --force-handlers"
    ;;

システムを復元する際には、Tower はバックアップファイルが存在するかどうか確認してから復元を開始します。バックアップファイルがない場合には、復元に失敗します。

注釈

ホストファイル内で SSH キーまたはユーザー/パスワード変数を指定して、Tower ホストが正しく設定されており、そのユーザーに sudo アクセスが設定されていることを確認します。

18.2. バックアップおよび復元に関する留意事項

  • ディスクの容量: 設定ファイル、キー、その他の関連ファイル、Tower システム設定のデータベースをバックアップするために必要な容量があるように、ディスク領域の要件を確認します。
  • システムの認証情報: ローカルデータベースまたはリモートデータベースを使用している場合には必要なシステムの認証情報があることを確認します。ローカルシステムでは、認証情報の設定方法によっては root または sudo アクセスが必要です。リモートシステムでは、バックアップまたは復元しようとしているリモートシステムへのアクセス権を授与するために異なる認証情報が必要になる場合があります。
  • Tower インストールのバージョンをバックアップおよび復元する場合は、最新のマイナーバージョンを必ず使用するようにしてください。たとえば、現在使用している Tower のバージョンが 3.0.0、3.0.1 または 3.0.2 の場合は、3.0.2 のインストーラーのみを使用してください。
  • setup.sh を使用して復元を行う場合には -r を指定して復元する必要がありますが、それ以上引数を受け入れなくなります。デフォルト以外の復元パスを指定する必要がある場合には、ユーザーは extra var として指定する必要があります (-e 'restore_backup_file=/path/to/nondefault)。