Show Table of Contents
第8章 データベースの移行
8.1. セルフホストエンジンのデータベースをリモートサーバーのデータベースへ移行する手順
Red Hat Virtualization Manager の初回設定後に、セルフホストエンジンの
engine データベースをリモートのデータベースサーバーに移行することができます。
このタスクは 2 つの手順で構成されます。1 番目の手順は、リモートの PostgreSQL データベースの準備で、これは移行自体の必須条件です。また、サーバーには Red Hat Enterprise Linux をインストール済みで、適切なサブスクリプションで設定が完了していることを前提とします。
2 番目の手順はデータベースの移行で、
pg_dump および pg_restore コマンドを使用してデータベースのバックアップと復元を処理します。そのため、/etc/ovirt-engine/engine.conf.d/10-setup-database.conf ファイルを編集して情報を更新する必要があります。少なくとも、新規データベースサーバーの場所を更新してください。新規データベースサーバーのデータベース名、ロール名、またはパスワードが更新されている場合には、これらの値も 10-setup-database.conf ファイルで更新する必要があります。以下の手順では、このファイルの変更を最小限に抑えるために、デフォルトの engine データベースの設定を使用しています。
手順8.1 リモートの PostgreSQL データベースを Red Hat Virtualization Manager で使用するための準備
- リモートのデータベースサーバーにログインして、PostgreSQL サーバーパッケージをインストールします。
# yum install postgresql-server
- PostgreSQL データベースを初期化し、
postgresqlサービスを起動してブート時に起動されるように設定します。# service postgresql initdb # service postgresql start # chkconfig postgresql on
postgresユーザーとして、psql コマンドラインインターフェースに接続します。# su - postgres $ psql
- データベースの読み取り/書き込み時に使用する Manager のユーザーを作成します。Manager のデフォルトユーザー名は
engineです。postgres=# create role user_name with login encrypted password 'password';
注記
engineユーザーのパスワードは、/etc/ovirt-engine/engine.conf.d/10-setup-database.confにプレーンテキストで保存されています。新規サーバーでロールを作成する際にどのようなパスワードを指定することも可能ですが、別のパスワードを使用した場合には、新しいパスワードに変更して、このファイルを更新してください。 - Red Hat Virtualization 環境についてのデータを保管するデータベースを作成します。Manager のデフォルトのデータベース名も、デフォルトのユーザー名も
engineです。postgres=# create database database_name owner user_name template template0 encoding 'UTF8' lc_collate 'en_US.UTF-8' lc_ctype 'en_US.UTF-8';
- md5 クライアントの認証を有効にして、データベースにリモートからアクセスできるようにします。
/var/lib/pgsql/data/pg_hba.confファイルを編集して、ファイルの一番下にあるlocalで始まる行のすぐ下に以下の行を追加します。X.X.X.X は、お使いの Manager の IP アドレスに置き換えてください。host database_name user_name X.X.X.X/32 md5
- データベースへの TCP/IP 接続を許可します。
/var/lib/pgsql/data/pg_hba.confファイルを編集して、以下の行を追加します。listen_addresses='*'
上記の例では、全インターフェースの接続をリッスンするようにpostgresqlを設定しています。IP アドレスを指定して、特定のインターフェースをリッスンするように設定することもできます。 - PostgreSQL データベース接続に使用するデフォルトのポートを開放して、更新したファイアウォールルールを保存します。
# iptables -I INPUT 5 -p tcp --dport 5432 -j ACCEPT # service iptables save
postgresqlサービスを再起動します。# service postgresql restart
オプションで、http://www.postgresql.org/docs/8.4/static/ssl-tcp.html#SSL-FILE-USAGE の手順に従って、SSL を設定してデータベース接続をセキュリティー保護します。
手順8.2 データベースの移行
- ホストエンジンホストの 1 つにログインして、環境を
globalメンテナンスモードに指定します。これにより、高可用性のエージェントを無効化して、この手順の実行中に Manager 用仮想マシンが移行されないようにします。# hosted-engine --set-maintenance --mode=global
- Manager 用仮想マシンにログインし、engine のバックアップを干渉しないように
ovirt-engineサービスを停止します。# service ovirt-engine stop
- PostgreSQL
pg_dumpコマンドを使用して、engineデータベースのバックアップを作成します。# su - postgres -c 'pg_dump -F c engine -f /tmp/engine.dump'
- バックアップファイルを新規データベースサーバーにコピーします。ターゲットのディレクトリーでは、
postgresユーザーの書き込みアクセスを許可しておく必要があります。# scp /tmp/engine.dump root@new.database.server.com:/tmp/engine.dump
- 新しいデータベースサーバーにログインして、PostgreSQL の
pg_restoreコマンドを使用してデータベースを復元します。# su - postgres -c 'pg_restore -d engine /tmp/engine.dump'
- Manager 用仮想マシンにログインして
/etc/ovirt-engine/engine.conf.d/10-setup-database.confを更新します。ENGINE_DB_HOSTのlocalhostの値は、新規データベースサーバーの IP アドレスに置き換えます。新規データベースサーバーのエンジン名、ロール名、パスワードが異なる場合は、このファイルでこれらの値を更新してください。 - データベースが移行されたので、
ovirt-engineサービスを起動します。# service ovirt-engine start
- ホストエンジンのホストにログインして、メンテナンスモードをオフにして、高可用性エージェントを有効にします。
# hosted-engine --set-maintenance --mode=none

Where did the comment section go?
Red Hat's documentation publication system recently went through an upgrade to enable speedier, more mobile-friendly content. We decided to re-evaluate our commenting platform to ensure that it meets your expectations and serves as an optimal feedback mechanism. During this redesign, we invite your input on providing feedback on Red Hat documentation via the discussion platform.