Red Hat Training

A Red Hat training course is available for Red Hat Virtualization

付録E 手動設定のローカル PostgreSQL データベースの準備

オプションで、Manager マシン上のローカルの PostgreSQL データベースを Manager データベースとして使用するように設定することができます。デフォルトでは、Red Hat Virtualization Manager の設定スクリプト engine-setup は、Manager マシンのローカルに Manager データベースを作成/設定します。データベースの自動設定については、「Red Hat Virtualization Manager の設定」を参照してください。

Manager のインストール先とは別のマシンに Manager データベースを設定する方法については、「付録D リモートの PostgreSQL データベースの準備」を参照してください。

以下の手順により、カスタムの値を使用して Manager データベースを設定します。engine-setup の実行中に、データベースの認証情報を提示する必要があるため、このデータベースを設定してから、Manager を設定するようにしてください。データベースを設定するには、まず Manager マシンに rhvm パッケージをインストールします。postgresql-server パッケージは依存関係としてインストールされます。

注記

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 リポジトリーを有効にします。

手順

  1. コンテンツ配信ネットワークにシステムを登録します。プロンプトが表示されたら、カスタマーポータルのユーザー名とパスワードを入力します。

    # subscription-manager register
  2. Red Hat Enterprise Linux Server および Red Hat Virtualization のサブスクリプションプールを探し、プール ID を書き留めておきます。

    # subscription-manager list --available
  3. 上記のプール ID を使用して、サブスクリプションをシステムにアタッチします。

    # subscription-manager attach --pool=pool_id
    注記

    現在アタッチされているサブスクリプションを確認するには、以下のコマンドを実行します。

    # subscription-manager list --consumed

    有効化されたリポジトリーを一覧表示するには、以下のコマンドを実行します。

    # yum repolist
  4. すべての既存リポジトリーを無効にします。

    # subscription-manager repos --disable=*
  5. 必要なリポジトリーを有効にします。

    # 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 データベースの初期化

  1. PostgreSQL サーバーパッケージをインストールします。

    # yum install rh-postgresql95 rh-postgresql95-postgresql-contrib
  2. PostgreSQL データベースを初期化し、postgresql サービスを起動し、さらにブート時に起動されるように設定します。

    # scl enable rh-postgresql95 -- postgresql-setup --initdb
    # systemctl enable rh-postgresql95-postgresql
    # systemctl start rh-postgresql95-postgresql
  3. postgres ユーザーとして、psql コマンドラインインターフェースに接続します。

    su - postgres -c 'scl enable rh-postgresql95 -- 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. 新しいデータベースに接続します。

    postgres=# \c database_name
  7. uuid-ossp エクステンションを追加します。

    database_name=# CREATE EXTENSION "uuid-ossp";
  8. 言語に plpgsql がなければ、それを追加します。

    database_name=# CREATE LANGUAGE plpgsql;
  9. md5 クライアントの認証を有効にして、データベースにリモートからアクセスできるようにします。/var/opt/rh/rh-postgresql95/lib/pgsql/data/pg_hba.conf ファイルを編集して、ファイルの一番下にある local で始まる行のすぐ下に以下の行を追加します。::0/32 または ::0/128 は、Manager の IP アドレスに置き換えてください。

    host    [database name]    [user name]    0.0.0.0/0  md5
    host    [database name]    [user name]    ::/32      md5
    host    [database name]    [user name]    ::/128     md5
  10. 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'
  11. postgresql サービスを再起動します。

    # systemctl rh-postgresql95-postgresql restart

オプションで、PostgreSQL のドキュメント の手順に従って、SSL を設定してデータベース接続をセキュリティー保護します。