Red Hat Training
A Red Hat training course is available for Red Hat Virtualization
附录 D. 为 Red Hat Manager 准备远程 PostgreSQL 数据库
用户可以选择在一个远程的 Red Hat Enterprise Linux 7 机器上配置一个 PostgreSQL 数据库作为 Manager 的数据库。在默认情况下,Red Hat Virtualization Manager 的配置脚本(
engine-setup
)会在 Manager 所在的本地机器上自动配置一个 Manager 数据库。如需了解与自动配置的数据库相关的信息,请参阅 第 3.3 节 “配置 Red Hat Virtualization Manager”;如需了解在 Manager 所在机器上使用自定义值配置 Manager 数据库的信息,请参阅 附录 E, 为 Red Hat Virtualization Manager 在本地手工配置一个 PostgreSQL 数据库。
使用以下方法在 Manager 所在机器以外的机器上配置数据库。在配置 Manager 前,需要先设置这个数据库,并需要在
engine-setup
中的相关步骤中输入这个数据库的验证信息。
注意
engine-setup
和 engine-backup --mode=restore
命令只支持 en_US.UTF8
格式的系统错误信息(即使系统的语言设置与此不同)。
postgresql.conf
文件的语言设置必须为 en_US.UTF8
。
重要
数据库名只能包含数字、下划线和小写字母。
过程 D.1. 为 Red Hat Manager 准备远程 PostgreSQL 数据库
- 安装 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
开头的行下面添加以下内容(使用 Manager 的 IP 地址替换 X.X.X.X 的值):host database_name user_name X.X.X.X/32 md5
- 允许 TCP/IP 到数据库的连接。编辑
/var/lib/pgsql/data/postgresql.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
另外,可以设置 SSL 来进行安全的数据库连接(请参阅 http://www.postgresql.org/docs/8.4/static/ssl-tcp.html#SSL-FILE-USAGE)。