付録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 で使用するための準備
- PostgreSQL サーバーパッケージをインストールします。
# yum install postgresql-server
- 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
postgres
ユーザーとして、psql コマンドラインインターフェースに接続します。# su - postgres $ psql
- データベースの読み取り/書き込み時に使用する Manager のユーザーを作成します。Manager のデフォルトユーザー名は
engine
です。postgres=# create role user_name with login encrypted password 'password';
- 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';
- 新規データベースに接続して
plpgsql
言語を追加します。postgres=# \c database_name database_name=# CREATE LANGUAGE plpgsql;
- 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 データベース接続に使用するデフォルトのポートを開放して、更新したファイアウォールルールを保存します。
# yum install iptables-services # iptables -I INPUT 5 -p tcp --dport 5432 -j ACCEPT # service iptables save
postgresql
サービスを再起動します。# systemctl restart postgresql.service
オプションで、http://www.postgresql.org/docs/8.4/static/ssl-tcp.html#SSL-FILE-USAGE の説明に従い、SSL を設定してデータベース接続のセキュリティーを保護します。