Red Hat Training

A Red Hat training course is available for Red Hat Virtualization

附录 E. 为 Red Hat Virtualization Manager 在本地手工配置一个 PostgreSQL 数据库

另外,用户也可以选择在 Manger 所在的机器上配置一个本地 PostgreSQL 数据库作为 Manager 的数据库。默认情况下,Red Hat Virtualization Manager 的配置脚本(engine-setup)会在 Manager 所在的本地机器上自动配置一个 Manager 数据库。如需了解与自动配置的数据库相关的信息,请参阅 第 3.3 节 “配置 Red Hat Virtualization Manager”;如需了解在与 Manager 所在机器不同的机器上配置 Manager 数据库的信息,请参阅 附录 D, 为 Red Hat Manager 准备远程 PostgreSQL 数据库
在配置 Manager 前,使用以下方法配置带有自定义值的 Manager 数据库。当运行 engine-setup 时,需要提供数据库的验证信息。为了配置数据库,需要首先在 Manager 所在机器上安装 rhevm 软件包,postgresql-server 会作为一个依赖的软件包被同时安装。

注意

engine-setupengine-backup --mode=restore 命令只支持 en_US.UTF8 格式的系统错误信息(即使系统的语言设置与此不同)。
postgresql.conf 文件的语言设置必须为 en_US.UTF8

重要

数据库名只能包含数字、下划线和小写字母。

过程 E.1. 为 Red Hat Virtualization Manager 在本地手工配置一个 PostgreSQL 数据库

  1. 初始化 PostgreSQL 数据库,启动 postgresql 服务,把它设置为在系统引导时自动启动:
    # su -l postgres -c "/usr/bin/initdb --locale=en_US.UTF8 --auth='ident' --pgdata=/var/lib/pgsql/data/"
    # service postgresql start
    # chkconfig postgresql on
  2. 使用 postgres 用户连接到 psql 命令行界面:
    # su - postgres
    $ psql
  3. 为 Manager 读写数据库创建一个用户。Manager 的默认用户名是 engine
    postgres=# create role user_name with login encrypted password 'password';
  4. 创建一个用来保存 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';
  5. 连接到新数据库并添加 plpgsql 语言:
    postgres=# \c database_name
    database_name=# CREATE LANGUAGE plpgsql;
  6. 启用 md5 客户验证机制来允许对数据库进行远程访问。编辑 /var/lib/pgsql/data/pg_hba.conf 文件,在文件底部的、以 local 开头的行下面添加以下内容:
    host    [database name]    [user name]    0.0.0.0/0  md5
    host    [database name]    [user name]    ::0/0      md5
  7. 重启 postgresql 服务:
    # service postgresql restart
另外,可以设置 SSL 来进行安全的数据库连接(请参阅 http://www.postgresql.org/docs/8.4/static/ssl-tcp.html#SSL-FILE-USAGE)。