第13章 バックアップおよび移行
13.1. Red Hat Virtualization Manager のバックアップおよび復元
13.1.1. Red Hat Virtualization Manager のバックアップ - 概要
engine-backup ツールを使用して、Red Hat Virtualization Manager の定期的なバックアップを作成します。このツールは、エンジンデータベースと設定ファイルを単一のファイルにバックアップし、ovirt-engine サービスを中断せずに実行できます。
13.1.2. engine-backup コマンドの構文
engine-backup コマンドは、次の 2 つの基本モードのいずれかで機能します。
# engine-backup --mode=backup
# engine-backup --mode=restore
これらの 2 つのモードは、バックアップの範囲とエンジンデータベースのさまざまな認証情報を指定できる一連のパラメーターによってさらに拡張されます。パラメーターとその機能の完全なリストについては、engine-backup --help を実行します。
Basic Options
--mode
- コマンドがバックアップ操作を実行するか、復元操作を実行するかを指定します。
backup
とrestore
の 2 つのオプションを使用できます。これは必須パラメーターです。 --file
- バックアップモードでバックアップを取得するファイルのパスおよび名前、ならびに復元モードでバックアップデータを読み取るファイルのパスおよび名前を指定します。これは、バックアップモードと復元モードの両方で必須のパラメーターです。
--log
- バックアップまたは復元操作のログが書き込まれるファイルのパスおよび名前を指定します。このパラメーターは、バックアップモードと復元モードの両方で必要です。
--scope
- バックアップまたは復元操作の範囲を指定します。4 つのオプションがあります。
all
は、すべてのデータベースおよび設定データをバックアップまたは復元します。files
は、システム上のファイルのみをバックアップまたは復元します。db
は、Manager データベースのみをバックアップまたは復元します。dwhdb
は、Data Warehouse データベースのみをバックアップまたは復元します。デフォルトのスコープはall
です。--scope
パラメーターは、同じ engine-backup コマンドで複数回指定できます。
Manager Database Options
以下のオプションは、
restore
モードで engine-backup コマンドを使用する場合にのみ利用できます。以下のオプション構文は、Manager データベースの復元に適用されます。Data Warehouse データベースを復元するための同じオプションがあります。Data Warehouse オプションの構文は engine-backup --help を参照してください。
--provision-db
- 復元先の Manager データベースバックアップ用の PostgreSQL データベースを作成します。これは、PostgreSQL データベースがまだ設定されていないリモートホストまたは新規インストールでバックアップを復元する場合に必要なパラメーターです。
--change-db-credentials
- バックアップ自体に保存されている認証情報以外の認証情報を使用して、Manager データベースを復元するための代替認証情報を指定できます。このパラメーターで必要な追加パラメーターは、engine-backup --help を参照してください。
--restore-permissions
または--no-restore-permissions
- データベースユーザーの権限を復元します (または復元しません)。バックアップを復元するときは、これらのパラメーターの 1 つが必要です。注記バックアップに追加のデータベースユーザーの許可が含まれている場合、
--restore-permissions
および--provision-db
(または--provision-dwh-db
)オプションを使用してバックアップを復元すると、無作為にパスワードが設定された追加のユーザーが作成されます。追加のユーザーが復元したシステムにアクセスする必要がある場合は、これらのパスワードを手動で変更する必要があります。を参照してください https://access.redhat.com/articles/2686731。
13.1.3. engine-backup コマンドを使用したバックアップの作成
Red Hat Virtualization Manager は、Manager がアクティブなときに engine-backup コマンドを使用してバックアップできます。以下のオプションのいずれかを
--scope
に追加し、実行するバックアップを指定します。
all
: Manager 上のすべてのデータベースおよび設定ファイルの完全バックアップfiles
: システム上のファイルのみのバックアップdb
: Manager データベースのみのバックアップdwhdb
: データウェアハウスデータベースのみのバックアップ
重要
データベースを Red Hat Virtualization Manager の新規インストールに復元するには、データベースのバックアップだけでは不十分です。Manager では設定ファイルへのアクセスも必要です。デフォルト以外のスコープを指定するバックアップ。
all
は files
スコープまたはファイルシステムのバックアップを一緒に指定する必要があります。
手順13.1 engine-backup コマンドの使用例
- Red Hat Virtualization Manager を実行しているマシンにログインします。
- バックアップを作成します。
例13.1 完全バックアップの作成
# engine-backup --scope=all --mode=backup --file=file_name --log=log_file_name
例13.2 Manager データベースのバックアップの作成
# engine-backup --scope=files --scope=db --mode=backup --file=file_name --log=log_file_name
db
オプションは、Data Warehouse データベースをバックアップするdwhdb
に置き換えます。バックアップを含むtar
ファイルは、指定したパスとファイル名を使用して作成されます。
バックアップを含む
tar
ファイルを使用して、環境を復元できるようになりました。
13.1.4. engine-backup コマンドを使用したバックアップの復元
engine-backup コマンドを使用してバックアップを復元するには、復元先によっては、バックアップを作成するよりも多くの手順が必要です。たとえば、engine-backup コマンドを使用して、Red Hat Virtualization の既存インストールに加えて、ローカルまたはリモートのデータベースを使用して、Red Hat Virtualization の新規インストールにバックアップを復元できます。
重要
バックアップは、バックアップと同じメジャーリリースの環境にのみ復元できます。たとえば、Red Hat Virtualization バージョン 4.0 環境のバックアップは、別の Red Hat Virtualization バージョン 4.0 環境にのみ復元できます。バックアップファイルに含まれる Red Hat Virtualization のバージョンを表示するには、バックアップファイルを展開し、展開されたファイルのルートディレクトリーにある
version
ファイルの値を読み取ります。
13.1.5. バックアップを新規インストールに復元する
engine-backup コマンドを使用すると、Red Hat Virtualization Manager の新規インストールにバックアップを復元できます。以下の手順は、ベースオペレーティングシステムがインストールされており、Red Hat Virtualization Manager に必要なパッケージがインストールされていても、engine-setup コマンドがまだ実行されていないマシンで実行する必要があります。この手順は、バックアップを復元するマシンから 1 つまたは複数のバックアップファイルにアクセスできることを前提としています。
手順13.2 バックアップを新規インストールに復元する
- Manager マシンにログインします。エンジンデータベースをリモートホストに復元する場合は、そのホストにログオンして、関連するアクションを実行する必要があります。同様に、Data Warehouse をリモートホストにも復元する場合は、そのホストにログオンして、関連するアクションを実行する必要があります。
- 完全バックアップまたはデータベースのみのバックアップを復元します。
- 完全バックアップを復元します。
# engine-backup --mode=restore --file=file_name --log=log_file_name --provision-db --restore-permissions
完全バックアップの一部として Data Warehouse も復元される場合は、追加のデータベースをプロビジョニングします。engine-backup --mode=restore --file=file_name --log=log_file_name --provision-db --provision-dwh-db --restore-permissions
- 設定ファイルとデータベースバックアップを復元して、データベースのみのバックアップを復元します。
# engine-backup --mode=restore --scope=files --scope=db --file=file_name --log=log_file_name --provision-db --restore-permissions
上記の例では、Manager データベースのバックアップを復元します。# engine-backup --mode=restore --scope=files --scope=dwhdb --file=file_name --log=log_file_name --provision-dwh-db --restore-permissions
上記の例では、Data Warehouse データベースのバックアップを復元します。
成功すると、次の出力が表示されます。You should now run engine-setup. Done.
- 次のコマンドを実行し、プロンプトに従って復元された Manager を設定します。
# engine-setup
Red Hat Virtualization Manager は、バックアップに保存されているバージョンに復元されました。新しい Red Hat Virtualization システムの完全修飾ドメイン名を変更するには、「oVirt エンジンの名前変更ツール」 を参照してください。
13.1.6. バックアップを復元して既存のインストールを上書き
engine-backup コマンドは、Red Hat Virtualization Manager がすでにインストールおよび設定されているマシンにバックアップを復元できます。これは、インストールのバックアップを作成し、そのインストールの変更を実行してから、バックアップからインストールを復元する場合に便利です。
重要
バックアップを復元して既存のインストールを上書きする場合は、engine-backup コマンドを使用する前に、engine-cleanup コマンドを実行して既存のインストールをクリーンアップする必要があります。engine-cleanup コマンドはエンジンデータベースのみを消去し、データベースをドロップしたり、そのデータベースを所有するユーザーを削除したりしないため、ユーザーとデータベースがすでに存在しているため、新しいデータベースを作成したり、データベースの認証情報を指定する必要はありません。
手順13.3 バックアップを復元して既存のインストールを上書き
- Red Hat Virtualization Manager マシンにログインします。
- 設定ファイルを削除し、Manager に関連付けられているデータベースをクリーンアップします。
# engine-cleanup
- 完全バックアップまたはデータベースのみのバックアップを復元します。
- 完全バックアップを復元します。
# engine-backup --mode=restore --file=file_name --log=log_file_name --restore-permissions
- 設定ファイルおよびデータベースバックアップを復元して、データベースのみのバックアップを復元します。
# engine-backup --mode=restore --scope=files --scope=db --file=file_name --log=log_file_name --restore-permissions
上記の例では、Manager データベースのバックアップを復元します。必要に応じて、Data Warehouse データベースも復元します。# engine-backup --mode=restore --scope=dwhdb --file=file_name --log=log_file_name --restore-permissions
成功すると、次の出力が表示されます。You should now run engine-setup. Done.
- 次のコマンドを実行し、プロンプトに従ってファイアウォールを再設定し、
ovirt-engine
サービスが正しく設定されていることを確認します。# engine-setup
13.1.7. 異なる認証情報を使用したバックアップの復元
engine-backup コマンドは、Red Hat Virtualization Manager がすでにインストールおよび設定されているマシンにバックアップを復元できますが、バックアップ内のデータベースの認証情報は、バックアップを復元するマシンのデータベースの認証情報とは異なります。これは、インストールのバックアップを取り、バックアップから別のシステムにインストールを復元する場合に役立ちます。
重要
バックアップを復元して既存のインストールを上書きする場合は、engine-backup コマンドを使用する前に、engine-cleanup コマンドを実行して既存のインストールをクリーンアップする必要があります。engine-cleanup コマンドはエンジンデータベースのみを消去し、データベースをドロップしたり、そのデータベースを所有するユーザーを削除したりしないため、ユーザーとデータベースがすでに存在しているため、新しいデータベースを作成したり、データベースの認証情報を指定する必要はありません。ただし、エンジンデータベースの所有者の認証情報がわからない場合は、バックアップを復元する前に認証情報を変更する必要があります。
手順13.4 異なる認証情報を使用したバックアップの復元
- Red Hat Virtualization Manager がインストールされているマシンにログインします。
- 以下のコマンドを実行し、プロンプトに従って Manager に関連付けられたデータベースの設定ファイルを削除し、クリーンアップします。
# engine-cleanup
- engine データベースの所有者のパスワードが不明な場合は、そのユーザーのパスワードを変更します。
- postgresql コマンドラインを入力します。
# su postgres $ psql
engine
データベースを所有するユーザーのパスワードを変更します。postgres=# alter role user_name encrypted password 'new_password';
必要に応じて、ovirt_engine_dwh
データベースを所有するユーザーに対してこれを繰り返します。
--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 --no-restore-permissions
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 --no-restore-permissions
- 設定ファイルおよびデータベースバックアップを復元して、データベースのみのバックアップを復元します。
# engine-backup --mode=restore --scope=files --scope=db --file=file_name --log=log_file_name --change-db-credentials --db-host=database_location --db-name=database_name --db-user=engine --db-password --no-restore-permissions
上記の例では、Manager データベースのバックアップを復元します。# engine-backup --mode=restore --scope=files --scope=dwhdb --file=file_name --log=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 --no-restore-permissions
上記の例では、Data Warehouse データベースのバックアップを復元します。
成功すると、次の出力が表示されます。You should now run engine-setup. Done.
- 次のコマンドを実行し、プロンプトに従ってファイアウォールを再設定し、
ovirt-engine
サービスが正しく設定されていることを確認します。# engine-setup
13.1.8. エンジンデータベースのリモートサーバーデータベースへの移行
Red Hat Virtualization Manager の初期設定後に、
engine
データベースをリモートのデータベースサーバーに移行できます。engine-backup を使用してデータベースのバックアップを作成し、新しいデータベースサーバーで復元します。この手順は、新しいデータベースサーバーに Red Hat Enterprise Linux 7 がインストールされ、適切なサブスクリプションが設定されていることを前提としています。『インストールガイド』 の 必要なエンタイトルメントへのサブスクライブ を参照してください。
手順13.5 データベースの移行
- Red Hat Virtualization Manager マシンにログインし、
ovirt-engine
サービスを停止して、エンジンのバックアップに干渉しないようにします。# systemctl stop ovirt-engine.service
engine
データベースのバックアップを作成します。# engine-backup --scope=files --scope=db --mode=backup --file=file_name --log=log_file_name
- バックアップファイルを新規データベースサーバーにコピーします。
# scp /tmp/engine.dump root@new.database.server.com:/tmp
- 新しいデータベースサーバーにログインし、engine-backup をインストールします。
# yum install ovirt-engine-tools-backup
- 新しいデータベースサーバーでデータベースを復元します。FILE_NAME は、Manager からコピーしたバックアップファイルです。
# engine-backup --mode=restore --scope=files --scope=db --file=file_name --log=log_file_name --provision-db --no-restore-permissions
- データベースが移行されたので、
ovirt-engine
サービスを開始します。# systemctl start ovirt-engine.service