5.4. 把 Data Warehouse 和 Reports 迁移到独立的机器上

把 Data Warehouse 服务、Reports 服务或全部两个服务从 Red Hat Enterprise Virtualization Manager 迁移到独立的机器上。在独立的机器上运行 Data Warehouse 服务和 Reports 服务会减轻单个机器的负载,并可以避免因为不同进程间的 CPU 和内存共享导致的不同服务间的相互影响。
迁移 Data Warehouse 服务,并把它和存在的 ovirt_engine_history 数据库进行连接;或在迁移 Data Warehouse 服务前,把 ovirt_engine_history 数据库迁移到一个新的数据库机器上。如果 ovirt_engine_history 数据库原来存在于 Manager 所在的机器上,迁移 Data Warehouse 服务的同时迁移这个数据库,可以进一步减轻 Manager 所在机器的负载。您可以把数据库迁移到 Data Warehouse 服务所在的机器上,也可以把它迁移到一个完全独立的机器上。

5.4.1. 把 Data Warehouse 数据库迁移到一个独立的机器上

在迁移 Data Warehouse 服务前,也可以选择迁移 ovirt_engine_history 数据库。使用 pg_dump 命令创建一个数据库备份,再使用 psql 命令在新数据库中恢复数据库备份。pg_dump 命令提供了一组灵活的备份和恢复数据库的选项,如需了解相关信息,请参阅 pg_dump 的 man 页。
以下过程假设一个 PostgreSQL 数据库已经在新机器上被配置。如果只需迁移 Data Warehouse 服务,请参阅 第 5.4.2 节 “把 Data Warehouse 服务迁移到一个独立的机器上”

重要

如果当前的 Data Warehouse 数据库还和 Reports 服务相连,您需要运行 engine-setup 命令来重新配置这个服务。在命令的相关提示中输入新的 Data Warehouse 数据库信息。如果您没有进行这个操作,Reports 服务会仍然和旧的数据库进行连接,并无法获得新数据。

过程 5.9. 把 Data Warehouse 数据库迁移到一个独立的机器上

  1. 在当前的数据库所在机器上,把 ovirt_engine_history 数据库输出到一个 SQL 脚本文件中:
    # pg_dump ovirt_engine_history > ovirt_engine_history.sql
  2. 把这个脚本文件从当前数据库所在的机器复制到新数据库所在的机器上。
  3. 在新数据库所在机器上恢复 ovirt_engine_history 数据库:
    # psql -d ovirt_engine_history -f ovirt_engine_history.sql
    以上命令假设新数据库已被命名为 ovirt_engine_history

5.4.2. 把 Data Warehouse 服务迁移到一个独立的机器上

把 Data Warehouse 服务从 Red Hat Enterprise Virtualization Manager 所在的机器迁移到一个专门的机器上。在一个独立的机器上运行 Data Warehouse 服务可以减少 Manager 所在机器的负载。请注意,这里介绍的过程只迁移 Data Warehouse 服务,如需在迁移 Data Warehouse 服务前迁移它的数据库(也被称为 ovirt_engine_history 数据库),请参阅 第 5.4.1 节 “把 Data Warehouse 数据库迁移到一个独立的机器上”
这个操作会涉及到 4 个关键步骤:
  1. 设置新的 Data Warehouse 机器。
  2. 在 Manager 所在的机器上停止 Data Warehouse 服务。
  3. 配置新的 Data Warehouse 机器。
  4. 从 Manager 所在的机器上删除 Data Warehouse 软件包。
先决条件

请确认您已经满足了以下前提条件。

  1. 您已经在同一台机器上安装并配置了 Manager 和 Data Warehouse。
  2. 为了设置新的 Data Warehouse 机器,您需要:
    • 安装了 Red Hat Enterprise Linux 6.6 或 6.7 的虚拟机或物理机。
    • 订阅了 Red Hat Enterprise Linux ServerRed Hat Enterprise Virtualization 权利池。
    • Manager 的 /etc/ovirt-engine/engine.conf.d/10-setup-database.conf 文件中的密码。.
    • 允许从 Data Warehouse 所在机器上访问 Manager 数据库所在机器的 TCP 端口 5432。
    • Manager 所在系统上的 /etc/ovirt-engine-dwh/ovirt-engine-dwhd.conf.d/10-setup-database.conf 文件中的 ovirt_engine_history 数据库凭证。如果您根据 第 5.4.1 节 “把 Data Warehouse 数据库迁移到一个独立的机器上” 的介绍迁移了 ovirt_engine_history 数据库,则需要获得在设置数据库时设定的用户凭证。

过程 5.10. 第 1 步:设置新的 Data Warehouse 机器

  1. 在 Content Delivery Network 中注册您的系统,在出现提示时输入您的 Customer Portal 用户名和密码:
    # subscription-manager register
  2. 找到 Red Hat Enterprise Linux ServerRed Hat Enterprise Virtualization 订阅池,并记录下它们的 ID。
    # subscription-manager list --available
  3. 使用前一步获得的池 ID 为系统附加权利:
    # subscription-manager attach --pool=pool_id
  4. 禁用所有存在的软件仓库:
    # subscription-manager repos --disable=*
  5. 启用所需的频道:
    # subscription-manager repos --enable=rhel-6-server-rpms
    # subscription-manager repos --enable=rhel-6-server-supplementary-rpms
    # subscription-manager repos --enable=rhel-6-server-rhevm-3.6-rpms
    # subscription-manager repos --enable=jb-eap-6-for-rhel-6-server-rpms
  6. 确认当前安装的软件包已被升级到最新版本:
    # yum update
  7. 安装 rhevm-dwh-setup 软件包:
    # yum install rhevm-dwh-setup

过程 5.11. 第 2 步:在 Manager 的机器上停止 Data Warehouse 服务

  1. 停止 Data Warehouse 服务:
    # service ovirt-engine-dwhd stop
  2. 如果 ovirt_engine_history 数据库、Manager 数据库或这两个数据库都运行在 Manager 所在的机器上,而且是由一个较早版本的系统(Red Hat Enterprise Virtualization 3.4 或更早版本)所配置,然后进行了升级,则需要保证新的 Data Warehouse 机器可以访问它们。打开 /var/lib/pgsql/data/postgresql.conf 文件并把 listen_addresses 行的内容修改为:
    listen_addresses = '*'
    如果这行没有存在或被注释掉,您需要手工添加它。
    如果数据库位于远程的机器上,您需要手工配置访问权限(编辑每台机器上的 postgres.conf 文件,根据上面的介绍添加 listen_addresses 行)。如果两个数据库都位于 Manager 所在的机器上,并通过 Red Hat Enterprise Virtualization Manager 3.5 进行了全新设置,则相关的访问权限会被默认设置。
  3. 重启 postgresql 服务:
    # service postgresql restart

过程 5.12. 第 3 步:配置新的 Data Warehouse 机器

  1. 运行 engine-setup 命令在机器上开始配置 Data Warehouse:
    # engine-setup
  2. Enter 配置 Data Warehouse:
    Configure Data Warehouse on this host (Yes, No) [Yes]:
  3. Enter 自动配置防火墙,或输入 No 并点 Enter 来保持存在的设置:
    Setup can automatically configure the firewall on this system.
    Note: automatic configuration of the firewall may overwrite current settings.
    Do you want Setup to configure the firewall? (Yes, No) [Yes]:
    如果选择了自动配置防火墙,但还没有激活的防火墙管理器,您将会被提示从一个列表中选择需要使用的防火墙管理器。输入防火墙管理器的名称后按 Enter
  4. Enter 接受自动检测到的主机名,或输入一个不同的主机名后点 Enter
    Host fully qualified DNS name of this server [autodetected host name]:
  5. 输入 ovirt_engine_history 数据库的以下位置信息:
    Where is the DWH database located? (Local, Remote) [Local]: Remote
    输入您的选择后点 Enter
  6. 输入 ovirt_engine_history 数据库主机的完全限定域名。点 Enter 接受每个项的默认值:
    DWH database host []: dwh-db-fqdn
    DWH database port [5432]: 
    DWH database secured connection (Yes, No) [No]: 
    DWH database name [ovirt_engine_history]: 
    DWH database user [ovirt_engine_history]: 
    DWH database password: password
  7. 输入 Manager 数据库所在机器的完全限定域名和密码。点 Enter 接受每个项的默认值:
    Engine database host []: engine-db-fqdn
    Engine database port [5432]: 
    Engine database secured connection (Yes, No) [No]: 
    Engine database name [engine]: 
    Engine database user [engine]: 
    Engine database password: password
  8. Enter 为已存在的 Data Warehouse 数据库创建一个备份:
    Would you like to backup the existing database before upgrading it? (Yes, No) [Yes]:
    创建备份所需的时间以及存储空间取决于数据库的大小,它可能会需要几个小时来完成。备份文件的位置出现在设置脚本的后面。如果您在这一步没有选择备份数据库,当因为某些原因 engine-setup 运行失败,您将无法恢复数据库或其中的任何数据。
  9. 确认您将永久地把 Data Warehouse 服务与 Manager 断开:
    Do you want to permanently disconnect this DWH from the engine? (Yes, No) [No]:
  10. 确认您的安装设置:
    Please confirm installation settings (OK, Cancel) [OK]:

过程 5.13. 第 4 步:在 Manager 的机器上删除 Data Warehouse 软件包

  1. 删除 Data Warehouse 软件包:
    # yum remove rhevm-dwh
    这一步操作会防止 Data Warehouse 服务在一个小时后自动重启。
  2. 删除 Data Warehouse 文件:
    # rm -rf /etc/ovirt-engine-dwh /var/lib/ovirt-engine-dwh
现在,Data Warehouse 服务运行于一个和 Manager 所在机器不同的机器上。

5.4.3. 把 Reports 服务迁移到一个独立的机器上

把 Reports 服务从 Red Hat Enterprise Virtualization Manager 所在的机器迁移到一个专门的机器上。在一个独立的机器上运行 Reports 服务可以减少 Manager 所在机器的负载。请注意,这里介绍的过程只迁移 Reports 服务,Reports 数据库(也被称为 ovirt_engine_reports 数据库)不能被迁移,您需要在新的机器上设置 Reports 时创建一个新的 ovirt_engine_reports 数据库。那些已被保存的、特设的(ad hoc)报表可以从 Manager 所在的机器迁移到新的 Reports 机器上。请只在配置完 Manager 和 Data Warehouse 后再迁移 Reports 服务。
安装这种配置包括 3 个关键的步骤:
  1. 配置新的 Reports 机器。
  2. 把已保存的报表迁移到新的 Reports 机器上。
  3. 从 Manager 所在的机器上删除 Reports 服务。
先决条件

请确认您已经满足了以下先决条件:

  1. 您已经在同一台机器上安装并配置了 Manager 和 Reports。
  2. 您已经在 Manager 所在的机器上,或一台独立的机器上,安装并配置了 Data Warehouse。
  3. 为了设置新的 Reports 机器,您需要:
    • 安装了 Red Hat Enterprise Linux 6.6 或 6.7 的虚拟机或物理机
    • 订阅了 Red Hat Enterprise Linux ServerRed Hat Enterprise Virtualization 权利池
    • Data Warehouse 所在机器的 /etc/ovirt-engine-dwh/ovirt-engine-dwhd.conf.d/10-setup-database.conf 文件中的密码
    • 允许从 Reports 所在机器上访问 Manager 数据库所在机器的 TCP 端口 5432。

过程 5.14. 第 1 步:配置新的 Reports 机器

  1. 在 Content Delivery Network 中注册您的系统,在出现提示时输入您的 Customer Portal 用户名和密码:
    # subscription-manager register
  2. 找到 Red Hat Enterprise Linux ServerRed Hat Enterprise Virtualization 订阅池,并记录下它们的 ID。
    # subscription-manager list --available
  3. 使用前一步获得的池 ID 为系统附加权利:
    # subscription-manager attach --pool=pool_id
  4. 禁用所有存在的软件仓库:
    # subscription-manager repos --disable=*
  5. 启用所需的频道:
    # subscription-manager repos --enable=rhel-6-server-rpms
    # subscription-manager repos --enable=rhel-6-server-supplementary-rpms
    # subscription-manager repos --enable=rhel-6-server-rhevm-3.6-rpms
    # subscription-manager repos --enable=jb-eap-6-for-rhel-6-server-rpms
  6. 确认当前安装的软件包已被升级到最新版本:
    # yum update
  7. 安装 rhevm-reports-setup 软件包:
    # yum install rhevm-reports-setup
  8. 运行 engine-setup 命令在机器上开始配置 Reports:
    # engine-setup
  9. Enter 配置 Reports:
    Configure Reports on this host (Yes, No) [Yes]:
    
  10. Enter 自动配置防火墙,或输入 No 并点 Enter 来保持存在的设置:
    Setup can automatically configure the firewall on this system.
    Note: automatic configuration of the firewall may overwrite current settings.
    Do you want Setup to configure the firewall? (Yes, No) [Yes]:
    如果选择了自动配置防火墙,但还没有激活的防火墙管理器,您将会被提示从一个列表中选择需要使用的防火墙管理器。输入防火墙管理器的名称后按 Enter
  11. Enter 接受自动检测到的主机名,或输入一个不同的主机名后点 Enter
    Host fully qualified DNS name of this server [autodetected host name]:
  12. 输入 Manager 所在机器的完全限定域名并点 Enter
    Host fully qualified DNS name of the engine server []:
  13. 输入 ovirt_engine_reports 数据库的以下信息。点 Enter 来创建并配置一个本地数据库:
    Where is the Reports database located? (Local, Remote) [Local]:
    Setup can configure the local postgresql server automatically for the Reports to run. This may conflict with existing applications.
    Would you like Setup to automatically configure postgresql and create Reports database, or prefer to perform that manually? (Automatic, Manual) [Automatic]:
  14. 输入 ovirt_engine_history 数据库主机的完全限定域名。点 Enter 接受每个项的默认值:
    DWH database host []: dwh-db-fqdn
    DWH database port [5432]: 
    DWH database secured connection (Yes, No) [No]: 
    DWH database name [ovirt_engine_history]: 
    DWH database user [ovirt_engine_history]: 
    DWH database password: password
  15. Enter 允许通过 SSH 在 Manager 上签发 Reports 证书和 Apache 证书:
    Setup will need to do some actions on the remote engine server. Either automatically, using ssh as root to access it, or you will be prompted to manually perform each such action.
    Please choose one of the following:
    1 - Access remote engine server using ssh as root
    2 - Perform each action manually, use files to copy content around
    (1, 2) [1]:
  16. Enter 接受默认的 SSH 端口,或输入另外一个端口号后点 Enter
    ssh port on remote engine server [22]:
  17. 输入 Manager 机器的 root 密码:
    root password on remote engine server manager-fqdn.com:
  18. Enter 允许在 Apache 上自动配置 SSL
    Setup can configure apache to use SSL using a certificate issued from the internal CA.
    Do you wish Setup to configure that, or prefer to perform that manually? (Automatic, Manual) [Automatic]:
    
  19. 为 Reports 管理用户(adminsuperuser)设置一个密码。请注意,Reports 系统会有一组和 Manager 不同的用户验证信息:
    Reports power users password:
    您需要再次输入用户密码来确认它。
  20. 确认您的安装设置:
    Please confirm installation settings (OK, Cancel) [OK]:

过程 5.15. 第 2 步:把保存的报表迁移到新的 Reports 机器上

  1. 在 Manager 机器上运行 ovirt-engine-reports-tool 命令:
    # ovirt-engine-reports-tool
  2. 输入相关导出域的编号并按 Enter:
    (2) Export Jasperreports saved reports to a zip file
    (1, 2, 3) []: 2
  3. 输入用来导出保存报告的 zip 文件的绝对路径,按 Enter
    Filename to export saved reports to: /tmp/saved-reports.zip
  4. 把 zip 文件复制到新的 Reports 的机器上:
    # scp /tmp/saved-reports.zip reports-machine-fqdn:/tmp/
  5. 在新的 Reports 机器上运行 ovirt-engine-reports-tool 命令:
    # ovirt-engine-reports-tool
  6. 输入相关导入域的编号并按 Enter:
    (3) Import a saved reports zip file to Jasperreports
    (1, 2, 3) []: 3
  7. 输入用于导入的 zip 文件的绝对路径,按 Enter
    Filename to import saved reports from: /tmp/saved-reports.zip
当命令运行完后,保存的报表会出现在新的 Reports 机器的 Reports 门户中。

过程 5.16. 第 3 步:从 Manager 机器上删除 Reports 服务

  1. 停止 Reports 服务:
    # service ovirt-engine-reportsd stop
  2. 删除 Reports 软件包:
    # yum remove rhevm-reports
  3. 删除 Reports 文件:
    # rm -rf /etc/ovirt-engine-reports /var/lib/ovirt-engine-reports
  4. 删除 Reports 数据库和用户。它们的默认名是 ovirt_engine_reports
    # su - postgres
    $ psql
    postgres=# drop database ovirt_engine_reports;
    postgres=# drop user ovirt_engine_reports;

注意

您可以配置多个 Reports 实例,并继续从一个较老的实例中登录并查看报表。但是,Manager 会直接连接到使用 engine-setup 配置的、最新的 Reports 实例上(并使用 SSO 的功能)。这意味着,管理门户只会包括最新安装的 Reports 的 dashboard。