第13章 バックアップと移行
13.1. Red Hat Virtualization Manager のバックアップと復元
13.1.1. Red Hat Virtualization Manager のバックアップ
engine-backup
ツールを使用して、Red Hat Virtualization Manager を定期的にバックアップします。このツールは、ovirt-engine
サービスを中断せずに、engine データベースと設定ファイルを単一のファイルにバックアップすることができます。
13.1.2. engine-backup コマンドの構文
engine-backup
コマンドは、2 つの基本モードのいずれかで機能します。
# engine-backup --mode=backup
# engine-backup --mode=restore
これらの 2 つのモードは、バックアップのスコープや engine データベースの異なる認証情報を指定することができる一連のパラメーターにより、さらに拡張されます。パラメーターとその機能の完全な一覧については、
engine-backup --help
を実行します。
基本オプション
--mode
- コマンドがバックアップ操作と復元操作のどちらを実行するかを指定します。
backup
とrestore
の 2 つのオプションが利用可能です。これは必須のパラメーターです。 --file
- バックアップモードでは、バックアップ対象ファイルのパスと名前を指定します。リストアモードでは、バックアップデータの読み取り先ファイルのパスと名前を指定します。これは、バックアップモードとリストアモードの両方で必須のパラメーターです。
--log
- バックアップまたは復元操作のログの書き込み先ファイルのパスと名前を指定します。このパラメーターはバックアップモードとリストアモードの両方で必須のパラメーターです。
--scope
- バックアップおよび復元操作のスコープを指定します。
all
(全データベースと設定データをバックアップ/復元)、files
(システム上のファイルのみをバックアップ/復元)、db
(Manager データベースのみをバックアップ/復元)、dwhdb
(Data Warehouse データベースのみをバックアップ/復元) の 4 つのオプションがあります。デフォルトのスコープはall
です。--scope
パラメーターは、同じengine-backup
コマンドで複数回指定することができます。
Manager データベースのオプション
以下のオプションは、
engine-backup
コマンドを restore
モードで使用する場合にのみ利用可能です。以下に示したオプションの構文は、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
- データベースユーザーのパーミッションを復元します (--no-restore-permissions の場合は復元させません)。バックアップの復元の際には、いずれかのパラメーターが必要です。
注記
追加のデータベースユーザーのアクセス許可がバックアップに含まれている場合には、--restore-permissions
および--provision-db
(または--provision-dwh-db
) のオプションを指定してそのバックアップを復元すると、追加のユーザーが作成され、無作為なパスワードが設定されます。復元したシステムに追加のユーザーがアクセスする必要がある場合には、これらのパスワードを変更する必要があります。https://access.redhat.com/articles/2686731 の記事を参照してください。
13.1.3. engine-backup コマンドを使用したバックアップの作成
Red Hat Virtualization Manager は、
engine-backup
コマンドを使用して Manager がアクティブな状態の時にバックアップすることができます。--scope
に以下のオプションのいずれかを追加して、実行するバックアップを指定します。
all
: Manager 上の全データベースと設定ファイルの完全なバックアップfiles
: システム上のファイルのみのバックアップdb
: Manager データベースのみのバックアップdwhdb
: Data Warehouse データベースのみのバックアップ
重要
Red Hat Virtualization Manager の新規インストールにデータベースを復元するには、データベースのバックアップだけでは不十分です。Manager は設定ファイルにもアクセスする必要があります。デフォルトの
all
以外の範囲を指定するバックアップは、files
の範囲または filesystem バックアップと共に復元する必要があります。
手順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
Data Warehouse データベースまたは Reports データベースをバックアップするには、db
オプションをdwhdb
に置き換えます。指定したパスとファイル名で、バックアップが含まれたtar
ファイルが作成されます。
バックアップが含まれた
tar
ファイルを環境の復元に使用できるようになりました。
13.1.4. engine-backup コマンドを使用したバックアップの復元
engine-backup コマンドを使用したバックアップの復元では、復元先によっては、バックアップの作成以外のステップも必要となります。たとえば、
engine-backup
コマンドを使用して、ローカルまたはリモートのデータベースを使用する既存の Red Hat Virtualization インストール上に、Red Hat Virtualization の新規インストールを復元することが可能です。
重要
バックアップは、そのバックアップと同じメジャーリリースの環境に対してのみ復元することが可能です。たとえば、Red Hat Virtualization version 4.1 環境のバックアップは、別の Red Hat Virtualization version 4.1 環境に対してのみ復元することができます。バックアップファイルに格納されている Red Hat Virtualization のバージョンを確認するには、そのバックアップファイルを展開し、そのファイルの root ディレクトリーにある
version
ファイルの値を読み取ってください。
13.1.5. 新規インストールへのバックアップ復元
engine-backup
コマンドを使用して、Red Hat Virtualization Manager の新規インストールにバックアップを復元することができます。以下の手順は、ベースオペレーティングシステムと Red Hat Virtualization Manager の必須パッケージがインストール済みで、かつ engine-setup
コマンドがまだ実行されていないマシンで実行する必要があります。この手順は、バックアップを復元するマシンからバックアップファイル (単一または複数) にアクセスできることを前提としています。
手順13.2 新規インストールへのバックアップ復元
- Manager マシンにログインします。engine データベースをリモートのホストに復元する場合には、そのホストにログオンして、適切な操作を実行する必要があります。また同様に、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-engine-rename ツール」を参照してください。
13.1.6. バックアップの復元による既存インストールの上書き
engine-backup
コマンドで Red Hat Virtualization Manager がすでにインストール/設定されているマシンにバックアップを復元することができます。この方法は、インストールのバックアップを取得済みで、そのインストールに対して変更を加えた後にバックアップからインストールを復元する場合に有用です。
重要
バックアップを復元して既存インストールを上書きする場合は、
engine-backup
コマンドを使用する前に engine-cleanup
コマンドを実行して既存インストールをクリーンアップしておく必要があります。engine-cleanup
コマンドは、engine データベースをクリーンアップするのみで、データベースをドロップしたり、データベースを所有するユーザーを削除したりはしません。このため、ユーザーとデータベースはすでに存在しているので、新規データベース作成やデータベース認証情報の指定は必要ありません。
手順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
コマンドは、engine データベースをクリーンアップするのみで、データベースをドロップしたり、データベースを所有するユーザーを削除したりはしません。このため、ユーザーとデータベースはすでに存在しているので、新規データベース作成やデータベース認証情報の指定は必要ありません。ただし、engine データベースの所有者の認証情報が不明の場合には、バックアップを復元する前に変更しておく必要があります。
手順13.4 異なる認証情報を使用したバックアップの復元
- Red Hat Virtualization Manager がインストールされているマシンにログインします。
- 以下のコマンドを実行し、プロンプトに従って 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
オプションを使用しており、データベースごとにパスワードが要求されます。これらのオプションに対して、コマンド自体でパスワードを指定することも可能ですが、パスワードが shell の履歴に保存されてしまうため、この方法は推奨していません。代わりに、各データベースに対して--*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. engine データベースをリモートサーバーのデータベースへ移行する手順
Red Hat Virtualization Manager の初期設定の後に
engine
データベースをリモートのデータベースサーバーに移行することができます。データベースのバックアップの作成や、新規データベースサーバーへのバックアップのリストアは、engine-backup
を使用します。以下の手順では、新規データベースサーバーに、Red Hat Enterprise Linux 7 がインストールされており、適切なサブスクリプションが設定されていることが前提となっています。『インストールガイド』の 「必要なエンタイトルメントのサブスクライブ」を参照してください。
手順13.5 データベースの移行
- Red Hat Virtualization Manager のマシンにログインし、engine のバックアップを干渉しないように
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