Red Hat Training
A Red Hat training course is available for Red Hat Virtualization
付録D リモートの PostgreSQL データベースの準備
デフォルトでは、Manager の設定スクリプト engine-setup
は、Manager マシンのローカルに Manager データベースを作成/設定します。データベースの自動設定については、「Red Hat Virtualization Manager の設定」を参照してください。
Manager マシンでカスタムの値を使用して Manager データベースを設定する場合は、「付録E 手動設定のローカル PostgreSQL データベースの準備」を参照してください。Manager を設定する前に Manager データベースを設定する必要があります。engine-setup
の実行中に、データベースの認証情報を提示する必要があるためです。
Data Warehouse の設定スクリプトでは、データベースをローカルまたはリモートに作成する選択が可能です。ただし、手動で Data Warehouse 用にリモートのデータベースを設定する状況が考えられます。
以下の手順を使用して、Manager のインストール先とは別のマシンにデータベースを設定します。
engine-setup
および engine-backup --mode=restore
コマンドは、システムロケールが違っていても en_US.UTF8
ロケールのシステムエラーメッセージしかサポートしません。
postgresql.conf
ファイルのロケール設定は en_US.UTF8
に設定する必要があります。
データベース名には、数字、アンダースコア、小文字しか使用できません。
Red Hat Virtualization Manager リポジトリーの有効化
Red Hat Subscription Manager でシステムを登録し、Red Hat Enterprise Linux Server
および Red Hat Virtualization
サブスクリプションをアタッチし、Manager リポジトリーを有効にします。
手順
コンテンツ配信ネットワークにシステムを登録します。プロンプトが表示されたら、カスタマーポータルのユーザー名とパスワードを入力します。
# subscription-manager register
Red Hat Enterprise Linux Server
およびRed Hat Virtualization
のサブスクリプションプールを探し、プール ID を書き留めておきます。# subscription-manager list --available
上記のプール ID を使用して、サブスクリプションをシステムにアタッチします。
# subscription-manager attach --pool=pool_id
注記現在アタッチされているサブスクリプションを確認するには、以下のコマンドを実行します。
# subscription-manager list --consumed
有効化されたリポジトリーを一覧表示するには、以下のコマンドを実行します。
# yum repolist
すべての既存リポジトリーを無効にします。
# subscription-manager repos --disable=*
必要なリポジトリーを有効にします。
# subscription-manager repos --enable=rhel-7-server-rpms # subscription-manager repos --enable=rhel-7-server-supplementary-rpms # subscription-manager repos --enable=rhel-7-server-rhv-4.2-manager-rpms # subscription-manager repos --enable=rhel-7-server-rhv-4-manager-tools-rpms # subscription-manager repos --enable=rhel-7-server-ansible-2-rpms # subscription-manager repos --enable=jb-eap-7-for-rhel-7-server-rpms
PostgreSQL データベースの初期化
PostgreSQL サーバーパッケージをインストールします。
# yum install rh-postgresql95 rh-postgresql95-postgresql-contrib
PostgreSQL データベースを初期化し、
postgresql
サービスを起動し、さらにブート時に起動されるように設定します。# scl enable rh-postgresql95 -- postgresql-setup --initdb # systemctl enable rh-postgresql95-postgresql # systemctl start rh-postgresql95-postgresql
postgres
ユーザーとして、psql
コマンドラインインターフェースに接続します。su - postgres -c 'scl enable rh-postgresql95 -- psql'
デフォルトユーザーを作成します。Manager および Data Warehouse のデフォルトユーザーは、それぞれ
engine
およびovirt_engine_history
です。postgres=# create role user_name with login encrypted password 'password';
データベースを作成します。Manager および Data Warehouse のデフォルトのデータベース名は、それぞれ
engine
およびovirt_engine_history
です。postgres=# create database database_name owner user_name template template0 encoding 'UTF8' lc_collate 'en_US.UTF-8' lc_ctype 'en_US.UTF-8';
新しいデータベースに接続します。
postgres=# \c database_name
uuid-ossp
エクステンションを追加します。database_name=# CREATE EXTENSION "uuid-ossp";
言語に
plpgsql
がなければ、それを追加します。database_name=# CREATE LANGUAGE plpgsql;
md5 クライアントの認証を有効にして、データベースにリモートからアクセスできるようにします。/var/lib/pgsql/data/pg_hba.conf ファイルを編集して、ファイルの一番下にある
local
で始まる行のすぐ下に以下の行を追加します。X.X.X.X
は、Manager または Data Warehouse マシンの IP アドレスに置き換えてください。host database_name user_name ::0/32 md5 host database_name user_name ::0/128 md5
データベースへの TCP/IP 接続を許可します。/var/opt/rh/rh-postgresql95/lib/pgsql/data/postgresql.conf ファイルを編集して、以下の行を追加します。
listen_addresses='*'
上記の例では、全インターフェースの接続をリッスンするように
postgresql
サービスを設定しています。IP アドレスを指定して、特定のインターフェースをリッスンするように設定することもできます。PostgreSQL サーバーの設定を更新します。/var/opt/rh/rh-postgresql95/lib/pgsql/data/postgresql.conf ファイルを編集して、以下の行を追加します。
autovacuum_vacuum_scale_factor='0.01' autovacuum_analyze_scale_factor='0.075' autovacuum_max_workers='6' maintenance_work_mem='65536' max_connections='150' work_mem='8192'
PostgreSQL データベースの接続に使用するデフォルトのポートを開放して、更新したファイアウォールルールを保存します。
# firewall-cmd --zone=public --add-service=postgresql # firewall-cmd --permanent --zone=public --add-service=postgresql
postgresql
サービスを再起動します。# systemctl rh-postgresql95-postgresql restart
オプションで、PostgreSQL のドキュメント の手順に従って、SSL を設定してデータベース接続をセキュリティー保護します。