附录 B. 准备本地手动配置 PostgreSQL 数据库

使用这个步骤设置 Manager 数据库。在配置管理器前设置这个数据库;您必须在 engine-setup 中提供数据库凭证。

注意

engine-setupengine-backup --mode=restore 命令只支持 en_US.UTF8 区域中的系统错误消息,即使系统区域设置不同。

postgresql.conf 文件中的区域设置必须设置为 en_US.UTF8

重要

数据库名称必须包含数字、下划线和小写字母。

启用 Red Hat Virtualization Manager 存储库

您需要使用 Red Hat Subscription Manager 登录并注册 Manager 机器,附加 Red Hat Virtualization Manager 订阅并启用 Manager 存储库。

流程

  1. 使用 Content Delivery Network 注册您的系统,在提示时输入您的客户门户网站用户名和密码:

    # subscription-manager register
    注意

    如果您使用 IPv6 网络,请使用 IPv6 转换机制来访问 Content Delivery Network 和 subscription Manager。

  2. 查找 Red Hat Virtualization Manager 订阅池并记录池 ID:

    # subscription-manager list --available
  3. 使用池 ID 将订阅附加到系统:

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

    查看当前附加的订阅:

    # subscription-manager list --consumed

    列出所有启用的软件仓库:

    # dnf repolist
  4. 配置存储库:

    # subscription-manager repos \
        --disable='*' \
        --enable=rhel-8-for-x86_64-baseos-eus-rpms \
        --enable=rhel-8-for-x86_64-appstream-eus-rpms \
        --enable=rhv-4.4-manager-for-rhel-8-x86_64-rpms \
        --enable=fast-datapath-for-rhel-8-x86_64-rpms \
        --enable=jb-eap-7.4-for-rhel-8-x86_64-rpms \
        --enable=openstack-16.2-cinderlib-for-rhel-8-x86_64-rpms \
        --enable=rhceph-4-tools-for-rhel-8-x86_64-rpms \
        --enable=rhel-8-for-x86_64-appstream-tus-rpms \
        --enable=rhel-8-for-x86_64-baseos-tus-rpms
  5. 将 RHEL 版本设置为 8.6:

    # subscription-manager release --set=8.6
  6. 启用 postgresql 模块的版本 12。

    # dnf module -y enable postgresql:12
  7. 启用 nodejs 模块的版本 14:

    # dnf module -y enable nodejs:14
  8. 同步安装的软件包,将它们更新至最新可用版本。

    # dnf distro-sync --nobest

其它资源

有关模块和模块流的详情,请参考安装、管理和删除用户空间组件中的以下部分

初始化 PostgreSQL 数据库

  1. 安装 PostgreSQL 服务器软件包:

    # dnf install postgresql-server postgresql-contrib
  2. 初始化 PostgreSQL 数据库实例:

    # postgresql-setup --initdb
  3. 启动 postgresql 服务,并确保这个服务在引导时启动:

    # systemctl enable postgresql
    # systemctl start postgresql
  4. postgres 用户身份连接到 psql 命令行界面:

    # su - postgres -c psql
  5. 创建默认用户。Manager 的默认用户是 engine,Data Warehouse 的默认用户是 ovirt_engine_history

    postgres=# create role user_name with login encrypted password 'password';
  6. 创建数据库。Manager 的默认数据库名称为 engine,Data Warehouse 的默认数据库名称为 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';
  7. 连接到新数据库:

    postgres=# \c database_name
  8. 添加 uuid-ossp 扩展:

    database_name=# CREATE EXTENSION "uuid-ossp";
  9. 如果 plpgsql 语言不存在,请添加 plpgsql 语言:

    database_name=# CREATE LANGUAGE plpgsql;
  10. 退出 psql 接口:

    database_name=# \q
  11. 编辑 /var/lib/pgsql/data/pg_hba.conf 文件以启用 md5 客户端身份验证,以便引擎在本地访问数据库。在文件底部以 local 开头的行下添加以下行:

    host    database_name    user_name    0.0.0.0/0    md5
    host    database_name    user_name    ::0/0   md5
  12. 更新 PostgreSQL 服务器配置。编辑 /var/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
  13. 重启 postgresql 服务:

    # systemctl restart postgresql
  14. (可选)将 SSL 设置为安全数据库连接。

返回 配置管理器, 并在系统询问有关数据库时回答 LocalManual