6.2.3. セルフホストエンジンマネージャーの手動復元
以下の手順では、バックアップされたセルフホストエンジンマネージャー仮想マシンの設定およびデータベースコンテンツを手動で復元する方法を説明します。
手順6.6 セルフホストエンジンマネージャーの復元
- 空のデータベースを手動で作成し、バックアップ内のデータベースコンテンツを復元できます。以下の手順は、データベースをホストするマシンで実行する必要があります。
- データベースを Manager 用仮想マシン以外のマシンでホストする場合は、postgresql-server パッケージをインストールします。このステップは、データベースが Manager 用仮想マシンでホストされる場合は不要です。これは、このパッケージは次のパッケージに含まれて いる ためです。
# yum install postgresql-server
postgresql
データベースを初期化し、postgresql
サービスを開始して、このサービスが起動時に開始されることを確認します。# postgresql-setup initdb # systemctl start postgresql.service # systemctl enable postgresql.service
- postgresql コマンドラインを入力します。
# su postgres $ psql
engine
ユーザーを作成します。postgres=# create role engine with login encrypted password 'password';
Data Warehouse も復元する場合は、該当するホストにovirt_engine_history
ユーザーを作成します。postgres=# create role ovirt_engine_history with login encrypted password 'password';
- 新しいデータベースを作成します。
postgres=# create database database_name owner engine template template0 encoding 'UTF8' lc_collate 'en_US.UTF-8' lc_ctype 'en_US.UTF-8';
Data Warehouse も復元する場合は、該当するホストにデータベースを作成します。postgres=# create database database_name owner ovirt_engine_history template template0 encoding 'UTF8' lc_collate 'en_US.UTF-8' lc_ctype 'en_US.UTF-8';
- postgresql コマンドラインを終了し、postgres ユーザーからログアウトします。
postgres=# \q $ exit
- 以下のように
/var/lib/pgsql/data/pg_hba.conf
ファイルを編集します。- 各ローカルデータベースについて、ファイルの下部にある
local
で始まる セクションの既存のディレクティブを、以下のディレクティブに置き換えます。host database_name user_name 0.0.0.0/0 md5 host database_name user_name ::0/0 md5
- リモートデータベースごとに以下を行います。
- ファイルの下部にある
Local
で始まる行のすぐ下に以下の行を追加します。X.X.X.X は Manager の IP アドレスに置き換えます。host database_name user_name X.X.X.X/32 md5
- データベースへの TCP/IP 接続を許可します。
/var/lib/pgsql/data/postgresql.conf
ファイルを編集し、以下の行を追加します。listen_addresses='*'
この例では、postgresql
サービスがすべてのインターフェイスの接続をリッスンするように設定します。IP アドレスを指定してインターフェイスを指定できます。 - PostgreSQL データベースの接続に使用するデフォルトのポートを開放して、更新したファイアウォールルールを保存します。
# iptables -I INPUT 5 -p tcp -s Manager_IP_Address --dport 5432 -j ACCEPT # service iptables save
postgresql
サービスを再起動します。# systemctl restart postgresql.service
- バックアップファイルを新しい Manager 仮想マシンへセキュアにコピーします。この例では、「セルフホストエンジンマネージャー仮想マシンのバックアップ」 でファイルがコピーされたネットワークストレージサーバーからファイルをコピーします。この例では、Storage.example.com はストレージサーバーの完全修飾ドメイン名で、/backup/EngineBackupFiles はストレージサーバー上のバックアップファイルの指定のファイルパスで、/backup/ は新しい Manager でファイルをコピーするパスです。
# scp -p Storage.example.com:/backup/EngineBackupFiles /backup/
--change-db-credentials
パラメーターを使用して完全バックアップまたはデータベースのみのバックアップを復元し、新しいデータベースの認証情報を渡します。Manager にローカルなデータベースの database_location はlocalhost
です。注記以下の例では、パスワードを指定せずにデータベースごとに--*password
オプションを使用します。これにより、各データベースのパスワードの入力が求められます。コマンド自体でこれらのオプションにパスワードを指定できますが、パスワードはシェル履歴に保存されるため、この方法は推奨されません。または、各データベースに--*passfile=
password_file オプションを使用して、対話式プロンプトなしに、パスワードをengine-backup
ツールに安全に渡すことができます。- 完全バックアップを復元します。
# engine-backup --mode=restore --file=file_name --log=log_file_name --change-db-credentials --db-host=database_location --db-name=database_name --db-user=engine --db-password
Data Warehouse も完全バックアップの一部として復元される場合は、追加のデータベースの改訂された認証情報を含めます。engine-backup --mode=restore --file=file_name --log=log_file_name --change-db-credentials --db-host=database_location --db-name=database_name --db-user=engine --db-password --change-dwh-db-credentials --dwh-db-host=database_location --dwh-db-name=database_name --dwh-db-user=ovirt_engine_history --dwh-db-password
- 設定ファイルとデータベースのバックアップを復元するデータベースのみのバックアップを復元します。
# engine-backup --mode=restore --scope=files --scope=db --file=file_name --log=file_name --change-db-credentials --db-host=database_location --db-name=database_name --db-user=engine --db-password
上記の例では、Manager データベースのバックアップを復元します。# engine-backup --mode=restore --scope=files --scope=dwhdb --file=file_name --log=file_name --change-dwh-db-credentials --dwh-db-host=database_location --dwh-db-name=database_name --dwh-db-user=ovirt_engine_history --dwh-db-password
上記の例では、Data Warehouse データベースのバックアップを復元します。
成功すると、次の出力が表示されます。You should now run engine-setup. Done.
- 復元された Manager 仮想マシンを設定します。このプロセスは、既存の設定設定およびデータベースの内容を特定します。設定を確認します。設定が完了すると、SSH フィンガープリントと内部認証局ハッシュが提供されます。
# engine-setup
[ INFO ] Stage: Initializing [ INFO ] Stage: Environment setup Configuration files: ['/etc/ovirt-engine-setup.conf.d/10-packaging.conf', '/etc/ovirt-engine-setup.conf.d/20-setup-ovirt-post.conf'] Log file: /var/log/ovirt-engine/setup/ovirt-engine-setup-20140304075238.log Version: otopi-1.1.2 (otopi-1.1.2-1.el6ev) [ INFO ] Stage: Environment packages setup [ INFO ] Yum Downloading: rhel-65-zstream/primary_db 2.8 M(70%) [ INFO ] Stage: Programs detection [ INFO ] Stage: Environment setup [ INFO ] Stage: Environment customization --== PACKAGES ==-- [ INFO ] Checking for product updates... [ INFO ] No product updates found --== NETWORK CONFIGURATION ==-- Setup can automatically configure the firewall on this system. Note: automatic configuration of the firewall may overwrite current settings. Do you want Setup to configure the firewall? (Yes, No) [Yes]: [ INFO ] iptables will be configured as firewall manager. --== DATABASE CONFIGURATION ==-- --== OVIRT ENGINE CONFIGURATION ==-- Skipping storing options as database already prepared --== PKI CONFIGURATION ==-- PKI is already configured --== APACHE CONFIGURATION ==-- --== SYSTEM CONFIGURATION ==-- --== END OF CONFIGURATION ==-- [ INFO ] Stage: Setup validation [ INFO ] Cleaning stale zombie tasks --== CONFIGURATION PREVIEW ==-- Database name : engine Database secured connection : False Database host : X.X.X.X Database user name : engine Database host name validation : False Database port : 5432 NFS setup : True Firewall manager : iptables Update Firewall : True Configure WebSocket Proxy : True Host FQDN : Manager.example.com NFS mount point : /var/lib/exports/iso Set application as default page : True Configure Apache SSL : True Please confirm installation settings (OK, Cancel) [OK]:
復元された環境からのホストの削除
復元されたセルフホストエンジンのデプロイメントがバックアップエンジンに一意の名前を持たない新しいハードウェア上にある場合は、この手順を省略します。この手順は、フェイルオーバーホストhosted_engine_1
で発生したデプロイメントにのみ適用されます。このホストはバックアップの作成時に環境に存在していたため、復元されたエンジンで存在を維持し、最終的な同期が行われる前に環境から最初に削除する必要があります。- 管理ポータルにログインします。
- Hosts タブをクリックします。フェイルオーバーホスト
hosted_engine_1
は、バックアップの準備方法であったため、メンテナーンスモードと仮想負荷のない状態になります。
ホストと Manager の同期
ホストに戻り、オプション 1 を選択して hosted-engine デプロイメントスクリプトを続行します。(1) Continue setup - engine installation is complete
[ INFO ] Engine replied: DB Up!Welcome to Health Status! [ INFO ] Waiting for the host to become operational in the engine. This may take several minutes... [ INFO ] Still waiting for VDSM host to become operational...
この時点で、hosted_engine_1
が管理ポータルに表示され、Non Operational 状態になる前に Installing および Initializing 状態が表示されます。ホストは、最終的にタイムアウトするまで VDSM ホストが動作しなくなるのを待機します。これは、SPM ホストが Non Responsive 状態であるため、環境内の別のホストが Storage Pool Manager (SPM)のロールとhosted_engine_1
がストレージドメインと対話できないために発生します。このプロセスがタイムアウトすると、デプロイメントを完了するために仮想マシンをシャットダウンするように求められます。デプロイメントが完了すると、ホストは手動でメンテナーンスモードに切り替え、管理ポータルからアクティベートできます。[ INFO ] Still waiting for VDSM host to become operational... [ ERROR ] Timed out while waiting for host to start. Please check the logs. [ ERROR ] Unable to add hosted_engine_2 to the manager Please shutdown the VM allowing the system to launch it as a monitored service. The system will wait until the VM is down.
- 新しい Manager 仮想マシンをシャットダウンします。
# shutdown -h now
- ホストに戻り、Manager 用仮想マシンが停止していることを検出していることを確認します。
[ INFO ] Enabling and starting HA services Hosted Engine successfully set up [ INFO ] Stage: Clean up [ INFO ] Stage: Pre-termination [ INFO ] Stage: Termination
- ホストをアクティブ化します。
- 管理ポータルにログインします。
- Hosts タブをクリックします。
hosted_engine_1
を選択し、Maintenance ボタンをクリックします。ホストがメンテナーンスモードに移行するまでに数分かかる場合があります。
アクティブになると、SPM のhosted_engine_1
がすぐに処理され、ストレージドメインとデータセンターがアクティブになります。 - Non Responsive ホストを手作業でフェンシングして、仮想マシンをアクティブなホストに移行します。管理ポータルでホストを右クリックし、Confirm 'Host has been Rebooted' を選択します。バックアップ時にそのホストで実行されていた仮想マシンはそのホストから削除され、Unknown 状態から Down 状態に移行します。これらの仮想マシンは
hosted_engine_1
で実行できるようになりました。フェンシングされたホストは、REST API を使用して強制的に削除できるようになりました。
環境は
hosted_engine_1
がアクティブであり、復元された環境で仮想マシンを実行できるポイントに復元されました。Non operational 状態の残りのセルフホストエンジンノードは、「復元されたセルフホストエンジン環境からの非操作ホストの削除」 の手順に従い、7章追加ホストのセルフホストエンジンへのインストール の手順にしたがって環境に再度インストールすることで削除できるようになりました。
注記
Manager データベースが正常に復元されたものの、Manager 用仮想マシンが Down であると表示され、別のセルフホスト型エンジンノードに移行できない場合は、に記載 https://access.redhat.com/solutions/1517683 の手順に従って、新しい Manager 仮想マシンを有効にし、環境からデッド Manager 仮想マシンを削除できます。