付録D リモートの PostgreSQL データベースを Red Hat Virtualization Manager で使用するための準備

オプションで、PostgreSQL データベースを Red Hat Enterprise Linux 7 のマシンに設定して、Manager データベースとして使用することができます。デフォルトでは、Red Hat Virtualization Manager の設定スクリプト engine-setup は、Manager マシンのローカルに Manager データベースを作成/設定します。データベースの自動設定は、「Red Hat Virtualization Manager の設定」を参照してください。また、Manager マシンでカスタムの値を使用した Manager データベースの設定方法については、「付録E Red Hat Virtualization Manager で使用するための手動設定のローカル PostgreSQL データベースの準備」を参照してください。
以下の手順を使用して、Manager がインストールされているマシンとは別のマシンでデータベースを設定します。engine-setup の実行中に、データベースの認証情報を提示する必要があるため、このデータベースを設定してから、Manager を設定するようにしてください。

注記

engine-setup および engine-backup --mode=restore コマンドは、システムロケールが違っていても en_US.UTF8 ロケールのシステムエラーメッセージしかサポートしません。
postgresql.conf ファイルのロケール設定は en_US.UTF8 に設定する必要があります。

重要

データベース名には、数字、アンダースコア、小文字しか使用できません。

手順D.1 リモートの PostgreSQL データベースを Red Hat Virtualization Manager で使用するための準備

  1. PostgreSQL サーバーパッケージをインストールします。
    # yum install postgresql-server
  2. PostgreSQL データベースを初期化し、postgresql サービスを起動してブート時に起動されるように設定します。
    # su -l postgres -c "/usr/bin/initdb --locale=en_US.UTF8 --auth='ident' --pgdata=/var/lib/pgsql/data/"
    # systemctl start postgresql.service
    # systemctl enable postgresql.service
  3. postgres ユーザーとして、psql コマンドラインインターフェースに接続します。
    # su - postgres
    $ psql
  4. データベースの読み取り/書き込み時に使用する Manager のユーザーを作成します。Manager のデフォルトユーザー名は engine です。
    postgres=# create role user_name with login encrypted password 'password';
  5. 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';
  6. 新規データベースに接続して plpgsql 言語を追加します。
    postgres=# \c database_name
    database_name=# CREATE LANGUAGE plpgsql;
  7. 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
  8. データベースへの TCP/IP 接続を許可します。/var/lib/pgsql/data/pg_hba.conf ファイルを編集して、以下の行を追加します。
    listen_addresses='*'
    上記の例では、全インターフェースの接続をリッスンするように postgresql を設定しています。IP アドレスを指定することで (リッスンする) インターフェースの指定も可能です。
  9. PostgreSQL データベース接続に使用するデフォルトのポートを開放して、更新したファイアウォールルールを保存します。
    # yum install iptables-services
    # iptables -I INPUT 5 -p tcp --dport 5432 -j ACCEPT
    # service iptables save
  10. postgresql サービスを再起動します。
    # systemctl restart postgresql.service
オプションで、http://www.postgresql.org/docs/8.4/static/ssl-tcp.html#SSL-FILE-USAGE の説明に従い、SSL を設定してデータベース接続のセキュリティーを保護します。