Red Hat Training

A Red Hat training course is available for Red Hat Virtualization

安装指南

Red Hat Virtualization 4.0

安装 Red Hat Virtualization

Red Hat Virtualization Documentation Team

Red Hat Customer Content Services

摘要

安装 Red Hat Virtualization 的详细介绍

部分 I. Red Hat Virtualization 介绍

第 1 章 Red Hat Virtualization 介绍

Red Hat Virtualization 是一个构建在 Red Hat Enterprise Linux 上的企业级服务器和桌面系统虚拟机平台。本指南包括了以下内容:
  • 安装和配置一个 Red Hat Virtualization Manager。
  • 安装并配置主机。
  • 把已有的 FCP 存储附加到 Red Hat Virtualization 环境中。如需了解更多与存储选项相关的信息,请参阅管理指南

表 1.1. Red Hat Virtualization 的核心组件

组件名描述
Red Hat Virtualization Manager管理并提供对环境中的资源进行访问的服务器。
主机为运行虚拟机提供计算处理能力以及内存资源的服务器。
存储保存与虚拟机相关的数据的存储系统。

重要

为了避免出现与时间或用户身份验证相关的问题,需要对主机、Manager 以及环境中的其它服务器的时钟进行同步。在每个系统上配置网络时间协议(Network Time Protocol,简称 NTP)来与相同的 NTP 服务器进行同步。

第 2 章 系统要求

2.1. Red Hat Virtualization Manager 的要求

以下列出的“最小配置”和“推荐配置”基于一个小到中型的标准环境。具体的硬件配置会根据实际情况有所不同。
Red Hat Virtualization Manager 需要运行在 Red Hat Enterprise Linux 系统上。如需确认所要使用的硬件是否已经被红帽认证可以在 Red Hat Enterprise Linux 系统上运行,请参阅 https://access.redhat.com/ecosystem/#certifiedHardware

表 2.1. Red Hat Virtualization Manager 硬件要求

资源最小配置推荐配置
CPU一个双核 CPU。一个 4 核 CPU 或多个双核 CPU。
内存4 GB 可用系统内存(不需要安装 Data Warehouse;内存没有被存在的进程使用)。16GB 系统内存。
硬盘25GB 本地可写磁盘空间。
50GB 本地可写磁盘空间。
您可以使用 RHEV Manager History Database Size Calculator 来计算 Manager 历史数据库所需要的磁盘空间。
网络接口一个带宽最少为 1 Gbps 的网卡(NIC)。一个带宽最少为 1 Gbps 的网卡(NIC)。
用户可以使用以下列出的网络浏览器来访问管理门户和用户门户。支持的浏览器被分为不同级别:
  • 级别 1(Tier 1):这一级的浏览器和操作系统组合被完全测试并完全支持。红帽会解决使用这一级中的系统进行访问所出现的问题。
  • 级别 2(Tier 2):这一级的浏览器和操作系统组合被部分测试,并应该可以正常工作。红帽会尽量解决使用这一级中的系统进行访问所出现的问题。
  • 级别 3(Tier 3):这一级的浏览器和操作系统组合没有被测试,但有可能会正常工作。红帽只会尽量解决使用这一级中的系统进行访问所出现的一些小问题。
虚拟机控制台只能通过 Red Hat Enterprise Linux 系统或 Windows 系统中支持的 Remote Viewer(virt-viewer)客户端进行访问。SPICE 控制台的访问只在其它操作系统上(如 OS X)可用,并只能通过不被支持的 SPICE HTML5 浏览器客户端进行访问。
Red Hat Enterprise Linux 和 Windows 7 系统中都包括了支持的 QXL 驱动。

表 2.2. 网络浏览器要求

支持级别操作系统网络浏览器门户访问
级别 1(Tier 1)Red Hat Enterprise LinuxMozilla Firefox Extended Support Release(ESR)版本管理门户和用户门户
级别 2(Tier 2)WindowsInternet Explorer 10 或更新版本管理门户和用户门户
所有当前版本的 Google Chrome 和 Mozilla Firefox管理门户和用户门户
级别 3(Tier 3)所有较早版本的 Google Chrome 和 Mozilla Firefox管理门户和用户门户
所有其它浏览器管理门户和用户门户
操作系统的要求

Red Hat Virtualization Manager 必须安装在一个基本安装的 Red Hat Enterprise Linux 7 系统上。在进行完基本安装后,请不要安装其它软件包,否则有可能会导致和 Mananger 所需软件包间的冲突。

2.2. Hypervisor 配置要求

2.2.1. CPU 要求

所有 CPU 都必须支持 Intel 64 或 AMD64 CPU 扩展,并启用 AMD-V 或 Intel VT 硬件虚拟化扩展。并且需要支持 No eXecute 标识(NX)。

表 2.3. 支持的 Hypervisor CPU 型号

AMDIntelIBM
AMD Opteron G1Intel ConroeIBM POWER8
AMD Opteron G2Intel Penryn
AMD Opteron G3Intel Nehalem
AMD Opteron G4Intel Westmere
AMD Opteron G5Intel Sandybridge
Intel Haswell

过程 2.1. 检查处理器是否支持所需要的标识(flag)

您需要在 BIOS 中启用虚拟化功能。请在修改这个设置后重新引导您的主机。
  1. 在 Red Hat Enterprise Linux 或 Red Hat Virtualization Host 的系统引导屏幕出现时点任意键,从列表中选择 BootBoot with serial console
  2. Tab 键进入编辑内核参数模式。
  3. 请确定在所列出的最后一个内核参数的后面有一个空格,然后添加 rescue 参数。
  4. Enter 键把系统启动到 rescue 模式。
  5. 当系统提示符出现时,输入以下命令:
    # grep -E 'svm|vmx' /proc/cpuinfo | grep nx
    如果以上命令有输出,则说明您的 CPU 具有相应的硬件虚拟化功能。如果没有输出,您的 CPU 也可能具有硬件虚拟化功能。在一些情况下,硬件厂商会在 BIOS 中禁用虚拟化扩展功能。请检查系统的 BIOS 设置,并参阅硬件厂商所提供的、与主板相关的文档来进一步确定您的系统是否具有相应的功能。

2.2.2. 内存要求

RAM 数量的要求会根据客户虚拟机操作系统的要求、虚拟机上所运行的应用的要求以及内存的操作和虚拟机的使用的不同而有所不同。另外,还需要考虑 KVM 为虚拟机“过度分配(over-commit)”物理内存的情况:分配给虚拟机的内存总量可以大于主机所具有的物理内存总量。这是基于,所有虚拟机不会在同一时间全部使用分配给它们的内存这一假设条件的。KVM 通过只在需要时才为虚拟机分配 RAM 实现这一功能。

表 2.4. 内存要求

最小最大
2 GB 内存2 TB 内存

2.2.3. 存储要求

主机需要本地的存储设备来保存配置、日志信息、内存 dump 以及交换空间。本节介绍了 Red Hat Virtualization Host 所需的最小存储配置要求,而 Red Hat Enterprise Linux 主机所需的存储空间会根据情况有所不同,但它们会比 Red Hat Virtualization Host 的存储配置要求更高。

表 2.5. Red Hat Virtualization Host 最小存储配置要求

//boot/varswap最小总计
6 GB1 GB15 GB1 GB23 GB

重要

如果还需要安装 RHV-M Virtual Appliance 用于自承载引擎的安装,/var 分区最小需要 60 GB。
对于交换分区(swap)的大小,请参阅 https://access.redhat.com/solutions/15244

2.2.4. PCI 设备要求

主机需要最少一个网卡(最小带宽是 1 Gbps)。我们推荐您在每台主机上配置 2 个网卡,其中的一个专门用来处理需要大量网络数据的操作(如迁移虚拟机)。这些操作的性能会受到网络带宽的限制。

2.2.5. 设备分配功能所需的硬件考虑因素

如果计划实现设备分配(device assignment)和 PCI 透传(PCI passthrough)来使虚拟机可以使用主机的特定设备,请确定满足以下要求:
  • CPU 需要支持 IOMMU(如 VT-d 或 AMD-Vi)。IBM POWER8 默认支持 IOMMU。
  • 固件需要支持 IOMMU。
  • 使用的 CPU root 端口需要支持 ACS( 或与 ACS 相应的功能)。
  • PCIe 设备需要支持 ACS( 或与 ACS 相应的功能)。
  • 另外,还推荐 PCIe 设备和 root 端口间的所有 PCIe 交换机和网桥都需要支持 ACS。如果一个交换机不支持 ACS,这个交换机后面的所有设备共享相同的 IOMMU 组,则只能分配到相同的虚拟机。
  • 对 GPU 的支持,Red Hat Enterprise Linux 7 支持 NVIDIA K-Series Quadro(model 2000 系列或更高)、GRID 和 Tesla 的 PCI 设备分配作为非 VGA 图形设备。当前,除了一个标准的仿真 VGA 接口外,还可以在虚拟机上附加不多于 2 个的 GPU。仿真的 VGA 在引导前以及安装过程中使用,当 NVIDIA 图形驱动被加载后,NVIDIA GPU 将会被使用。请注意,NVIDIA Quadro 2000 和 Quadro K420 卡不被支持。
请参照厂商的相应文档来决定硬件是否满足这些要求。在安装完一个主机后,请参阅 附录 G, 为 PCI 透传配置一个主机 来获得如何启用虚拟机监控程序硬件和软件来支持设备透传的信息。
使用 lspci -v 命令可以显示已在系统上安装的 PCI 设备信息。

2.3. 防火墙

2.3.1. Red Hat Virtualization Manager 对防火墙的要求

Red Hat Virtualization Manager 需要一些端口被打开,从而可以使用这些端口通过系统的防火墙。engine-setup 脚本会自动配置防火墙,但这会覆盖以前存在的防火墙配置。
当一个防火墙配置已经存在时,您必须根据 Manager 的要求手动添加防火墙规则。engine-setup 命令会在/usr/share/ovirt-engine/conf/iptables.example 文件中保存所需的防火墙规则列表。
这里所介绍的防火墙配置是根据一个默认的网络配置进行的。如果在安装时没有使用默认的 HTTPHTTPS 端口,请修改防火墙规则中的相应值来使用这些非默认的端口(这里所列出的 80443 是默认的端口)。

表 2.6. Red Hat Virtualization Manager 对防火墙的要求

端口协议原始点目标目的
-ICMP
Red Hat Virtualization Host
Red Hat Enterprise Linux 主机
Red Hat Virtualization Manager
当在 Red Hat Virtualization Manager 上进行注册时,虚拟主机会发送一个 ICMP ping 请求来确认 Manager 在线。
22TCP
用来维护 Manager(包括后台配置和软件升级)的系统。
Red Hat Virtualization Manager
SSH 访问。
可选。
2222TCP
客户访问虚拟机串口控制台。
Red Hat Virtualization Manager
启用提供 SSH 访问虚拟机串口控制台的功能。
80, 443TCP
管理门户客户端
用户门户客户端
Red Hat Virtualization Host
Red Hat Enterprise Linux 主机
REST API 客户端
Red Hat Virtualization Manager
提供到 Manager 的 HTTPHTTPS 访问。
6100TCP
管理门户客户端
用户门户客户端
Red Hat Virtualization Manager
当 websocket 代理在 Manager 上运行时,这个端口为基于 web 的控制台客户端(noVNCspice-html5)提供 websocket 代理访问。如果 websocket 代理运行于另外一台主机上,这个端口将不能使用。
7410UDP
Red Hat Virtualization Host
Red Hat Enterprise Linux 主机
Red Hat Virtualization Manager
必须打开来使 Manager 可以接收 Kdump 通知。

重要

当您的环境需要 Red Hat Virtualization Manager 导出 NFS 存储(如 ISO 存储域),防火墙必须允许数据使用一些额外的端口。您需要根据以下信息为 NFS 配置防火墙:

NFSv4

  • 允许 NFS 使用 TCP 端口 2049

NFSv3

  • 允许 NFS 使用 TCPUDP 端口 2049
  • TCPUDP 端口 111rpcbind/sunrpc)。
  • 使用 MOUNTD_PORT="port" 指定的 TCPUDP 端口
  • 使用 STATD_PORT="port" 指定的 TCPUDP 端口
  • 使用 LOCKD_TCPPORT="port" 指定的 TCP 端口
  • 使用 LOCKD_UDPPORT="port" 指定的 UDP 端口
MOUNTD_PORTSTATD_PORTLOCKD_TCPPORTLOCKD_UDPPORT/etc/sysconfig/nfs 文件中设置。

2.3.2. Hypervisor 的防火墙配置要求

Red Hat Enterprise Linux 主机和 Red Hat Virtualization Host(RHVH)需要一些端口被打开,从而可以使用这些端口通过系统的防火墙。对于 Red Hat Virtualization Host,这些防火墙规则会被自动配置,而对于 Red Hat Enterprise Linux 主机,需要对防火墙进行手动配置。

表 2.7. 虚拟主机的防火墙要求

端口协议原始点目标目的
22TCP
Red Hat Virtualization Manager
Red Hat Virtualization Host
Red Hat Enterprise Linux 主机
SSH 访问。
可选。
2223TCP
Red Hat Virtualization Manager
Red Hat Virtualization Host
Red Hat Enterprise Linux 主机
启用提供 SSH 访问虚拟机串口控制台的功能。
161UDP
Red Hat Virtualization Host
Red Hat Enterprise Linux 主机
Red Hat Virtualization Manager
SNMP。只在需要从主机发送 SNMP trap 到一个或多个外部 SNMP manager 时才需要。
可选。
5900 - 6923TCP
管理门户客户端
用户门户客户端
Red Hat Virtualization Host
Red Hat Enterprise Linux 主机
使用 VNCSPICE 的远程虚拟机控制台的访问。这些端口必须为客户端访问虚拟机而打开。
5989TCP, UDP
CIMOM
Red Hat Virtualization Host
Red Hat Enterprise Linux 主机
CIMOM 使用它来监测在虚拟主机上运行的虚拟机。只有在需要使用 CIMOM 监控虚拟环境中的虚拟机时才需要它。
可选。
16514TCP
Red Hat Virtualization Host
Red Hat Enterprise Linux 主机
Red Hat Virtualization Host
Red Hat Enterprise Linux 主机
使用 libvirt 进行虚拟机迁移。
49152 - 49216TCP
Red Hat Virtualization Host
Red Hat Enterprise Linux 主机
Red Hat Virtualization Host
Red Hat Enterprise Linux 主机
虚拟机的迁移和隔离(fencing)使用 VDSM。自动或手动虚拟机迁移都需要这个端口被打开。
54321TCP
Red Hat Virtualization Manager
Red Hat Virtualization Host
Red Hat Enterprise Linux 主机
Red Hat Virtualization Host
Red Hat Enterprise Linux 主机
VDSM 使用它与 Manager 和其它虚拟主机进行通讯。

2.3.3. 目录服务器的防火墙要求

Red Hat Virtualization 需要一个目录服务器来进行用户验证。Red Hat Virtualization Manager 使用 GSS-API 进行用户验证,因此目录服务器上的一些端口需要在防火墙中打开来支持它。

表 2.8. 主机防火墙的要求

端口协议原始点目标目的
88, 464TCP, UDP
Red Hat Virtualization Manager
目录服务器
Kerberos 验证。
389, 636TCP
Red Hat Virtualization Manager
目录服务器
LDAP 和 LDAP over SSL

2.3.4. 数据库服务器的防火墙要求

Red Hat Virtualization 支持使用远程数据库服务器的功能。如果计划使用远程数据库服务器,则需要保证远程数据库服务器可以被 Red Hat Virtualization Manager 访问。

表 2.9. 主机防火墙的要求

端口协议原始点目标目的
5432TCP, UDP
Red Hat Virtualization Manager
PostgreSQL 数据库服务器
PostgreSQL 数据库连接使用的默认端口。
如果准备把数据库安装在 Red Hat Enterprise Virtualization Manager 本身所在的系统上时(这是安装时的默认选项),就不需要配置额外的防火墙规则。

部分 II. 安装 Red Hat Virtualization Manager

第 3 章 Red Hat Virtualization Manager

3.1. 订阅所需的权利

在安装完 Red Hat Enterprise Linux 基本操作系统,并确保系统已满足前一章中所列出的要求后,就需要使用 Red Hat Subscription Manager 注册这个系统,并订阅所需的权利来安装 Red Hat Virtualization Manager 软件包。
  1. 在 Content Delivery Network 中注册您的系统,在出现提示时输入您的客户门户网站的用户名和密码:
    # subscription-manager register
  2. 找到 Red Hat Enterprise Linux ServerRed 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.0-rpms
    # subscription-manager repos --enable=jb-eap-7-for-rhel-7-server-rpms
您已为系统订阅了所需的权利。根据下一节介绍的内容安装 Red Hat Virtualization Manager 软件包。

3.2. 安装 Red Hat Virtualization Manager 软件包

在配置和使用 Red Hat Virtualization Manager 前,需要先安装 rhevm 以及它所依赖的软件包。

过程 3.1. 安装 Red Hat Virtualization Manager 软件包

  1. 为了确保所有软件包都是最新的,在安装 Red Hat Virtualization Manager 的系统上运行以下命令:
    # yum update
  2. 运行以下命令来安装 rhevm 软件包,以及它所依赖的软件包。
    # yum install rhevm
继续下面的过程来配置 Red Hat Virtualization Manager。

3.3. 配置 Red Hat Virtualization Manager

在安装完 rhevm 软件包和它所依赖的软件包后,需要使用 engine-setup 命令来配置 Red Hat Enterprise Manager。这个命令会要求输入一些信息,在提供了这些信息后,它会根据输入的信息对系统进行配置,并启动 ovirt-engine 服务。
在默认情况下,engine-setup 会在 Manager 所在机器的本地创建并配置 Manager 的数据库。您也可以配置 Manager 来使用远程的数据库;或使用手工配置的本地数据库,但是,这需要在运行 engine-setup 前设置好所需的数据库。如需了解设置远程数据库的信息,请参阅 附录 D, 为 Red Hat Manager 准备远程 PostgreSQL 数据库;如需了解手工配置本地数据库的信息,请参阅 附录 E, 为 Red Hat Virtualization Manager 在本地手工配置一个 PostgreSQL 数据库
在默认情况下,engine-setup 会在 Manager 中配置一个 websocket 代理。但是,出于安全以及性能的考虑,用户也可以选择在一台独立的主机上配置它。详情请参阅 附录 F, 在一个独立的机器上安装 Websocket 代理.

注意

engine-setup 命令会引导您经过几个不同的配置阶段,每个阶段都需要输入一些信息。系统推荐的默认信息会包括在方括号中,点 Enter 来接受这些值。

过程 3.2. 配置 Red Hat Virtualization Manager

  1. 运行 engine-setup 命令开始配置 Red Hat Virtualization Manager:
    # engine-setup
  2. Enter 来配置 Manager:
    Configure Engine on this host (Yes, No) [Yes]:
  3. 或者,选择让 engine-setup 命令配置一个 websocket 代理服务器,它允许用户使用 noVNC 或 HTML 5 控制台连接到虚拟机:
    Configure WebSocket Proxy on this machine? (Yes, No) [Yes]:
    如果需要在一台独立的机器上配置 websocket 代理,选 No。请参阅 附录 F, 在一个独立的机器上安装 Websocket 代理
  4. 选择是否在 Manager 机器上配置 Data Warehouse。
    Please note: Data Warehouse is required for the engine. If you choose to not configure it on this host, you have to configure it on a remote host, and then configure the engine on this host so that it can access the database of the remote Data Warehouse host.
    Configure Data Warehouse on this host (Yes, No) [Yes]:
  5. 另外,也可以允许通过命令行访问虚拟机串口控制台。
    Configure VM Console Proxy on this host (Yes, No) [Yes]:
    为了使用这个功能,还需要在客户端机器上进行额外配置。详情请参阅虚拟机管理指南中的 Opening a Serial Console to a Virtual Machine
  6. Enter 接受自动检测到的主机名(请注意,如果您使用的主机是虚拟机,自动检测到的主机名可能不正确);或输入一个不同的主机名后点 Enter
    Host fully qualified DNS name of this server [autodetected host name]:
  7. engine-setup 命令会检查您的防火墙配置,并可以根据 Manager 的需要修改防火墙的配置(如打开 TCP 端口 80 和 443)。如果您不希望 engine-setup 命令自动修改防火墙配置,则必须手工打开 Red Hat Enterprise Virtualization Manager 需要使用的端口。
    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
  8. 选择使用本地的 PostgreSQL 数据库或远程的 PostgreSQL 数据库作为 Data Warehouse 的数据库:
    Where is the DWH database located? (Local, Remote) [Local]:
    • 如果选择 Localengine-setup 命令会自动配置所需的数据库系统(包括添加一个用户和一个数据库);或连接到一个预配置的本地数据库:
      Setup can configure the local postgresql server automatically for the DWH to run. This may conflict with existing applications.
      Would you like Setup to automatically configure postgresql and create DWH database, or prefer to perform that manually? (Automatic, Manual) [Automatic]:
      1. 如果选择 Automatic(按 Enter),则不需要其它操作。
      2. 如果选择 Manual,输入手工配置的本地数据库的以下值:
        DWH database secured connection (Yes, No) [No]:
        DWH database name [ovirt_engine_history]:
        DWH database user [ovirt_engine_history]:
        DWH database password:

        注意

        当 Manager 数据库在下一步中被配置后,engine-setup 会需要这些值。
    • 如果选择 Remote,输入远程数据库主机的以下值:
      DWH database host [localhost]:
      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:

      注意

      当 Manager 数据库在下一步中被配置后,engine-setup 会需要这些值。
  9. 选择使用本地的 PostgreSQL 数据库或远程的 PostgreSQL 数据库作为 Manager 的数据库:
    Where is the Engine database located? (Local, Remote) [Local]:
    • 如果选择 Localengine-setup 命令会自动配置所需的数据库系统(包括添加一个用户和一个数据库);或连接到一个预配置的本地数据库:
      Setup can configure the local postgresql server automatically for the engine to run. This may conflict with existing applications.
      Would you like Setup to automatically configure postgresql and create Engine database, or prefer to perform that manually? (Automatic, Manual) [Automatic]:
      1. 如果选择 Automatic(按 Enter),则不需要其它操作。
      2. 如果选择 Manual,输入手工配置的本地数据库的以下值:
        Engine database secured connection (Yes, No) [No]:
        Engine database name [engine]:
        Engine database user [engine]:
        Engine database password:
    • 如果选择 Remote,输入远程数据库主机的以下值:
      Engine database host [localhost]:
      Engine database port [5432]:
      Engine database secured connection (Yes, No) [No]:
      Engine database name [engine]:
      Engine database user [engine]:
      Engine database password:
  10. 为自动创建的 Red Hat Virtualization Manager 管理用户设定密码:
    Engine admin password:
    Confirm engine admin password:
  11. 选择 GlusterVirtBoth
    Application mode (Both, Virt, Gluster) [Both]:
    Both 选项提供了最大的灵活性,在多数情况下可以选择它。Virt 应用模式允许用户在环境中运行虚拟机;Gluster 应用模式只允许通过管理门户管理 GlusterFS。
  12. wipe_after_delete 设置默认值,这会在删除磁盘后把虚拟磁盘的数据块清除。
    Default SAN wipe after delete (Yes, No) [No]:
  13. Manager 使用证书来和它所管理的主机进行安全的通讯。这个证书也可以被用来对 Manager 的 HTTPS 数据进行加密。您需要为证书提供机构名(organization name):
    Organization name for certificate [autodetected domain-based name]:
  14. 另外,engine-setup 还可以把 Manager 的起始页作为 Apache web 服务器的默认页:
    Setup can configure the default page of the web server to present the application home page. This may conflict with existing applications.
    Do you wish to set the application as the default web page of the server? (Yes, No) [Yes]:
  15. 在默认的情况下,外部到 Manager 的 SSLHTTPS)通讯使用在以前配置主机间的安全通讯时创建的自签发证书进行加密。或者,您也可以为外部的 HTTPS 连接选择使用其它证书,这将不会影响到 Manager 和虚拟主机间的通讯。
    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]:
  16. 另外,也可以在 Manager 上创建一个 NFS 共享来作为一个 ISO 存储域使用。本地的 ISO 域提供了一组可以在初始设置虚拟机时使用的镜像:
    1. Configure an NFS share on this server to be used as an ISO Domain? (Yes, No) [Yes]:
    2. 指定 ISO 域的路径:
      Local ISO domain path [/var/lib/exports/iso]:
    3. 指定需要访问 ISO 域的网络和主机:
      Local ISO domain ACL: 10.1.2.0/255.255.255.0(rw) host01.example.com(rw) host02.example.com(rw)
      在上面的例子中,一个 /24 网络和两个特定的主机可以访问 ISO 域。请参阅 exports(5) man page 来获得更详细的信息。
    4. 指定 ISO 域的显示名:
      Local ISO domain name [ISO_DOMAIN]:
  17. 选择 Data Warehouse 保留收集到的数据的时间:
    Please choose Data Warehouse sampling scale:
    (1) Basic
    (2) Full
    (1, 2)[1]:
    Full:使用 Data Warehouse Guide 中列出的数据存储设置的默认值。Basic:把 DWH_TABLES_KEEP_HOURLY 的值降为 720,把 DWH_TABLES_KEEP_DAILY 的值降为 0,这可以减轻 Manager 机器的负载(当 Manager 和 Data Warehouse 安装在同一台机器上时推荐使用这个设置)。当 Data Warehouse 安装在一台远程机器上时,Full 会被默认使用。
  18. 检查安装的设置,点 Enter 接受相关的值并继续安装过程:
    Please confirm installation settings (OK, Cancel) [OK]:
  19. 如果计划把 Red Hat Enterprise Virtualization 环境与一个目录服务器进行连接,则需要把时间设置为与目录服务器的时钟进行同步,否则会出现不可预见的帐号过期的错误。如需了解更多相关信息,请参阅 Red Hat Enterprise Linux System Administrator's Guide 中的 Network Time Protocol Setup
当环境被配置完成后,engine-setup 命令会显示如何访问您的环境的信息。如果选择手工配置防火墙,engine-setup 会根据在设置过程中所做的选择,提供一个需要被打开的端口列表。engine-setup 命令同时会把相关信息保存在一个应答文件中(您在以后可以使用它来以相同的值重新配置 Manager),并输出 Red Hat Virtualization Manager 配置过程的日志文件信息。
下一节介绍了如何以 admin@internal 用户身份登录到管理门户,然后进行设置主机和附加存储的操作。

3.4. 连接到管理门户

使用一个网络浏览器访问管理门户。
  1. 使用网络浏览器访问 https://your-manager-fqdn/ovirt-engine(把 your-manager-fqdn 替换为实际的 Manager 地址)。

    重要

    在第一次连接到管理门户时,会被提示接受 web 服务器所使用的证书。您需要接受这个证书。
  2. 管理门户
  3. 输入您的用户名密码。如果是第一次登录,使用 admin 用户,并使用在安装过程中设置的密码。
  4. 列表中选择相应的域。如果使用内部的 admin 用户进行登录,请选择 internal 域。
  5. 管理门户支持多种语言,它的默认语言会和网络浏览器所使用的语言相同。如需使用其它语言来访问管理门户,从列表中选择相关语言。
  6. 登录
下一章介绍了与 Manager 相关的任务。这些任务是可选的,如果不需要执行它们,请直接执行 第 III 部分 “安装主机” 中介绍的任务。

部分 III. 安装主机

第 5 章 主机介绍

Red Hat Virtualization 支持两类主机:Red Hat Virtualization Host(RHVH)和 Red Hat Enterprise Linux 主机。根据您的具体情况,可以选择在 Red Hat Virtualization 环境中只使用其中的一类主机,也可以两类主机都使用。

表 5.1. 主机

主机类型其它名称描述
Red Hat Virtualization Host
RHVH,“瘦”主机
基于 Red Hat Enterprise Linux 的精简操作系统。它通过客户门户网站(Customer Portal)以 ISO 文件的形式进行分发,其中只包括作为一个主机需要的软件包。
Red Hat Enterprise Linux 主机
基于 RHEL 的虚拟机监控程序(hypervisor),“厚” 主机
订阅了相关频道的 Red Hat Enterprise Linux 主机可以作为主机。

重要

我们推荐在 Red Hat Virtualization 环境中最少安装 2 台主机。如果只安装一台虚拟主机,则无法使用需要主机冗余的功能(如迁移功能和高可用性功能)。

5.1. 主机兼容性列表

下表包括了在 Red Hat Virtualization 中各个兼容版本所支持主机的版本。

注意

最新版本的 VDSM 具有向后兼容的功能,它与所有以前版本的 Red Hat Virtualization 都兼容。

表 5.2. 主机兼容性列表

支持的 RHEL 或 RHVH 的版本3.64.0
7.0
7.1
7.2
当创建数据中心时,需要设置兼容版本值。这个值需要和数据中心中的所有主机相匹配。在设置了这个值后,版本将无法降级。在一个全新的 Red Hat Virtualization 安装中,兼容版本在 Default 数据中心和 Default 集群中设置。如需使用老的兼容版本,则需要创建额外的数据中心和集群。

第 6 章 Red Hat Virtualization Host

Red Hat Virtualization 4.0 包括了 Red Hat Enterprise Virtualization Hypervisor 的一个升级版本。以前的 RHEV-H 本身是一个封闭的系统,它只有一个基本的文本用户接口用于安装和配置。现在,它的升级版本 Red Hat Virtualization Host(RHVH)可以通过 yum 进行更新,并使用 Red Hat Enterprise Linux 主机所基于的 Anaconda 安装接口。
RHVH 是一个基于 Red Hat Enterprise Linux 的操作系统,它可以简单地把一个物理机器设置为 Red Hat Virtualization 环境中的一个作为虚拟机监控程序(hypervisor)的机器。RHVH 只包括了作为 hypervisor 所需的软件包,并使用 Cockpit 用户接口对主机进行监控并执行管理任务。http://cockpit-project.org/running.html 包括了对浏览器的最低要求的信息。
在进行其它操作前,请确认要安装 RHVH 的主机硬件满足 第 2.2 节 “Hypervisor 配置要求” 中列出的硬件要求。
在一个物理机器上安装 RHVH 包括 3 个关键步骤:
  1. 从客户门户网站下载 RHVH 磁盘镜像。
  2. 把 RHVH 磁盘镜像写入到 USB、CD 或 DVD 中。
  3. 安装 RHVH。

重要

RHVH 当前还无法在一个 iSCSI LUN 上安装。

过程 6.1. 安装 Red Hat Virtualization Host

  1. 从客户门户网站下载 RHVH 磁盘镜像:
    1. 登录到客户门户网站 https://access.redhat.com
    2. 点菜单条中的下载
    3. Red Hat Enterprise Virtualization > Download Latest 来访问产品的下载页。
    4. 选择 RHEV-M 4.0 镜像并点 Download Now
  2. 把磁盘镜像写到一个存储设备:
    • 安装 livecd-tools 软件包,把磁盘镜像写到一个 USB 存储设备中。
      # yum install livecd-tools
      # livecd-iso-to-disk --format --reset-mbr /path/to/rhv-host.iso /dev/sdb
    • 安装 wodim 软件包,插入一个空白的 CD-ROM 或 DVD,把磁盘镜像写到光盘中。
      # yum install wodim
      # wodim dev=/dev/sr0 /path/to/rhv-host.iso

      注意

      运行以下命令可以找到写设备的名称:
      # less /proc/sys/dev/cdrom/info
  3. 使用准备的安装介质启动要安装 RHVH 的机器。
  4. 在引导菜单中,选择 Install,按 Enter

    注意

    您也可以按 Tab 键来编辑内核参数。不同的内核参数必须以空格分隔。在编辑了内核参数后,按 Enter 键来使用新的内核参数引导系统。按 Esc 键会清除您所做的内核参数修改,并返回引导菜单。
  5. 选择需要使用的语言,按 Continue
  6. Date & Time 界面中选择一个时区,点 Done
  7. Keyboard 界面中选择键盘的格式,点 Done
  8. Installation Destination 界面中选项要安装 RHVH 的设备。另外,还可以启用加密功能。点 Done

    重要

    红帽强烈推荐使用 Automatically configure partitioning 选项。
  9. Network & Host Name 界面中选择一个网络,点 Configure... 来配置网络的详情。在 Host name 项中输入主机名,点 Done
  10. 另外,还可以配置 Language SupportSecurity PolicyKdump。如需了解更多与 Installation Summary 界面中的每个项相关的信息,请参阅 Red Hat Enterprise Linux 7 安装指南 中的 Installing Using Anaconda
  11. Begin Installation
  12. 在 RHVH 安装过程中设置一个 root 密码,另外,还可以创建一个管理用户。
  13. Reboot 完成安装过程。
  14. 安装完成后,登录到 Cockpit 用户界面(https://HostFQDNorIP:9090),为主机订阅 Content Delivery Network。点 Tools > Subscriptions > Register System,输入您的客户门户网站的用户名和密码。系统会自动订阅 Red Hat Virtualization Host 权力。
  15. Terminal,启用 Red Hat Virtualization Host 7 软件仓库来允许以后对 Red Hat Virtualization Host 进行升级:
    # subscription-manager repos --enable=rhel-7-server-rhvh-4-rpms
现在,可以把主机添加到 Red Hat Virtualization 环境中。请参阅 第 8 章 为 Red Hat Virtualization Manager 添加一个主机

警告

当前,还不支持通过 NetworkManager(包括 nmclinmtui 和 Cockpit 用户界面)配置网络。如果在把主机添加到 Manager 前需要额外的网络配置,则需要手工编辑 ifcfg 文件。相关信息请参阅 Red Hat Enterprise Linux Networking Guide

第 7 章 Red Hat Enterprise Linux 主机

7.1. Red Hat Enterprise Linux 主机

Red Hat Enterprise Linux 主机也被称为基于 RHEL 的 hypervisor,它基于在一个物理服务器上的 Red Hat Enterprise Linux 标准安装,并带有 Red Hat Enterprise Linux ServerRed Hat Virtualization 权利。如需了解与安装 Red Hat Enterprise Linux 主机相关的信息,请参阅 Red Hat Enterprise Linux 7 安装指南
请参阅 附录 G, 为 PCI 透传配置一个主机 来获得如何启用主机硬件和软件来支持设备透传的信息。

重要

SELinux 在安装过程中被设置为“enforcing” 模式。运行 getenforce 对这一点进行确认。红帽只支持环境中的 SELinux 是 enforcing 模式。
如需把虚拟机从一个禁用了 SELinux 的主机实时迁移到一个启用了 SELinux 的主机,请参阅 https://access.redhat.com/solutions/1982023

重要

请确认虚拟化功能已在主机的 BIOS 设置中被启用。如需了解更多关于如何修改主机 BIOS 设置的信息,请参阅主机硬件的相关文档。

重要

不要在 Red Hat Enterprise Linux 主机上安装第三方的 watchdog,因为这会和 VDSM 提供的 watchdog 守护进程相冲突。

7.2. 订阅所需的权利

为了可以作为虚拟化主机使用,Red Hat Enterprise Linux 主机必须满足 第 2.2 节 “Hypervisor 配置要求” 中提到的硬件要求,并通过 Subscription Manage 注册和订阅了相应的权利。请按照以下步骤在 Content Delivery Network 中进行注册,并把 Red Hat Enterprise Linux ServerRed Hat Enterprise Virtualization 权利添加给主机。

过程 7.1. 使用 Subscription Manager 订阅所需的权利

  1. 在 Content Delivery Network 中注册您的系统,在出现提示时输入您的客户门户网站的用户名密码
    # subscription-manager register
  2. 找到 Red Hat Enterprise Linux ServerRed Hat Virtualization 订阅池,并记录下它们的 ID。
    # subscription-manager list --available
  3. 使用前一步获得的池 ID 为系统附加权利:
    # subscription-manager attach --pool=poolid

    注意

    运行以下命令可以显示当前附加的订阅:
    # 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-rhv-4-mgmt-agent-rpms
  6. 确认当前安装的软件包已被升级到最新版本:
    # yum update
当为主机订阅了所需的权利后,根据下一节的介绍把主机附加到 Red Hat Virtualization 环境中。

警告

当前,还不支持通过 NetworkManager(包括 nmclinmtui)配置网络。如果在把主机添加到 Manager 前需要额外的网络配置,则需要手工编辑 ifcfg 文件。相关信息请参阅 Red Hat Enterprise Linux Networking Guide

第 8 章 为 Red Hat Virtualization Manager 添加一个主机

向 Red Hat Virtualization 添加主机时需要完成以下操作:虚拟化检查、安装软件包、生成桥接,以及重启该主机,所以这个过程会需要一些时间来完成。当主机和管理系统间建立连接时,可以使用详情框监控它的进程。

过程 8.1. 为 Red Hat Virtualization Manager 添加一个主机

  1. 在管理门户中点主机资源标签页。
  2. 新建
  3. 使用数据中心主机集群下拉列表为这个新主机选择数据中心和主机集群。
  4. 输入新主机的名称地址。标准的 SSH 端口(22)会被自动填充到 SSH 端口项中。
  5. 选择 Manager 用来访问这个主机的身份验证方法。
    • 输入 root 用户的密码。
    • 或者,如果需要使用公共密钥进行验证,把 SSH 公共密钥项中的密钥复制到主机的 /root/.ssh/authorized_keys 文件中。
  6. 高级参数键可以进行其它的高级设置。
    1. 您可以禁用自动防火墙配置功能。
    2. 可以禁用 JSON 协议。
    3. 您可以添加一个主机 SSH 指纹来增加系统的安全性。您可以手工添加它,也可以使用自动获取功能来自动添加它。
  7. 如果主机中有被支持的电源管理卡,则可以配置电源管理功能。相关信息,请参阅管理指南中的 Host Power Management Settings Explained
  8. 确定
新主机会在主机列表中显示,状态是 Installing,您可以在详情框中查看安装的进程。当安装完成后,状态会变为 Up

部分 IV. 附加存储

第 9 章 存储

9.1. 存储介绍

存储域就是一组有一个公共存储接口的数据镜像,它包括了模板、虚拟机(包括快照)的数据镜像或 ISO 文件以及存储域本身的元数据。一个存储域可以由块设备(SAN - iSCSI 或 FCP)组成,也可以由文件系统(NAS - NFS,GlusterFS,或其它 POSIX 兼容的文件系统)组成。
存储域有 3 类:
  • 数据域:数据域包括所有虚拟机的虚拟磁盘和 OVF 文件,它不能被不同的数据中心共享。不同类型(iSCSI、NFS、FC、POSIX 和 Gluster)的存储域可以被添加到同一个数据中心中,并在这个数据中心中共享。

    重要

    在附加 ISO 域和导出域前,需要有一个主机处于 Up 的状态,并在数据中心中附加了一个数据域。
  • ISO 域:ISO 域包括了用来为虚拟机安装、启动操作系统和应用程序的 ISO 文件(或逻辑 CD),并可以被不同的数据中心共享。使用 ISO 域将使这个数据中心不再需要物理的安装介质。ISO 域必须是基于 NFS 的,一个数据中心只能附加一个 ISO 域。
  • 导出域: 导出域(Export Domain)是一个临时的存储库,它被用来在数据中心和 Red Hat Virtualization 环境间复制和迁移数据镜像。导出域可以被用来备份虚拟机。一个导出域可以在不同的数据中心间迁移,但它只能同时在一个数据中心中有效。导出域必须是基于 NFS 的,一个数据中心只能附加一个导出域。
下一节介绍了附加一个存在的 FCP 存储作为数据域的方法。如需了解更多与可用的存储选项相关的信息,请参阅管理指南

9.2. 添加 FCP 存储

Red Hat Virtualization 平台支持 SAN 存储。它通过一个由预先存在的 LUN 组成的卷组来创建一个存储域。卷组和 LUN 都不能被同时添加到多个存储域中。
为了配置存储局域网(SAN)存储,Red Hat Virtualization 系统管理员需要对 SAN 有一定的了解。SAN 通常在主机和共享外置存储间使用光纤通道协议(FCP),因此 SAN 有时也被称为 FCP 存储。
有关设置和配置 FCP 或为 Red Hat Enterprise Linux 配置多路径的详情,请参考 Storage Administration GuideDM Multipath Guide
以下介绍了把存在的 FCP 存储附加到 Red Hat Virtualization 环境中作为一个数据域的方法。如需了解更多与其它支持的存储类型相关的信息,请参阅管理指南中的 Storage

过程 9.1. 添加 FCP 存储

  1. 存储资源标签页列出所有存储域。
  2. 新建域打开新建域窗口。
  3. 为存储域输入名称
    添加 FCP 存储

    图 9.1. 添加 FCP 存储

  4. 使用数据中心下拉菜单选择一个 FCP 数据中心。
    如果系统中没有合适的 FCP 数据中心,选择 (none)
  5. 使用下拉菜单选择域功能存储类型。那些和所选数据中心的类型不兼容的存储域类型将无法使用。
  6. 使用主机项中选择一个活跃的主机。如果这不是数据中心的第一个数据域,您必须选择数据中心的 SPM 主机。

    重要

    所有与存储域之间的通信都是通过所选主机而不是直接通过 Red Hat Virtualization Manager 进行的。配置该存储前,系统中必须至少有一个活动主机,并附加到所选数据中心;所有主机也必须可以访问存储设备。
  7. 当选择 Data / Fibre Channel 作为存储类型后,新建域窗口会自动显示带有未使用的 LUN 的目标。使用 LUN ID 选项来选择所有可用的 LUN。
  8. 另外,您还可以配置高级参数。
    1. 高级参数
    2. 警告级低存储空间项中输入一个百分比值。当存储域中的空闲空间低于这个值时,用户登录时就会显示一个警告信息。
    3. 严重的空间操作限制阈值项中输入一个值(以 GB 为单位)。当存储域中的空闲空间低于这个值时,用户登录时会显示一个错误信息,任何需要使用存储空间的操作(包括临时使用存储空间的操作)都会被限制。
    4. 如果需要在删除虚拟磁盘后清除它上面的敏感数据,选择删除后清除选项。在域创建后,这个选项还可以被修改,但这不会改变已存在的、带有这个选项的存储的行为。
  9. 确定创建存储域并关闭窗口。
新的 FCP 数据域将在存储标签页中被显示。在准备的过程中,它的状态是 Locked,当准备完成后,它会被自动添加到数据中心中。

附录 A. 改变本地 ISO 域的权限

如果 Manager 在设置时配置了一个本地 ISO 域,则这个域就可以被附加到一个或多个数据中心来提供虚拟机镜像文件。在默认情况下,本地 ISO 域的访问控制列表(ACL)只允许 Manager 所在的机器进行读写访问。为了把 ISO 域附加到一个数据中心上,虚拟主机需要有对这个域的读写权限。如果在设置时还不知道网络或主机的详细信息,或您需要在以后的某个时间更新 ACL,请参照以下内容。
虽然您可以为整个网络分配读写权限,但是我们推荐只为需要的主机和子网提供相应的权限。

过程 A.1. 改变本地 ISO 域的权限

  1. 登录到 Manager 所在的机器。
  2. 编辑 /etc/exports 文件,在访问控制列表中添加主机或子网:
    /var/lib/exports/iso 10.1.2.0/255.255.255.0(rw) host01.example.com(rw) host02.example.com(rw)
    在上面的例子中,一个 /24 网络和两个特定的主机可以访问 ISO 域。/var/lib/exports/isoISO 域的默认文件目录。请参阅 exports(5) man page 来获得更详细的信息。
  3. 应用改变:
    # exportfs -ra
请注意,如果您在运行 engine-setup 命令后手工编辑了 /etc/exports 文件,再次运行 engine-cleanup 将不会取消已做的修改。

附录 B. 为数据中心附加本地 ISO 域

在安装 Manager 时创建的 ISO 域会在管理门户中以 Unattached 的形式出现,您需要把它附加到数据中心后才可以使用。ISO 域必须和数据中心有相同的存储类型,数据中心中的每个主机(特别是作为 SPM 的主机)都需要有对 ISO 域的读写访问权限。
一个数据中心只能有一个附加的 ISO 域。

过程 B.1. 为数据中心附加本地 ISO 域

  1. 在管理门户中点数据中心资源标签页,选择所需的数据中心。
  2. 在详情框中选存储标签页列出附加到这个数据中心中的存储域。
  3. 附加 ISO 打开附加 ISO 库窗口。
  4. 选择本地 ISO 域。
  5. 确定
ISO 域被附加到数据中心,并被自动激活。

附录 C. 在 Red Hat Gluster Storage 节点上启用 Gluster

  1. 在导航框中,选择集群标签页。
  2. 新建
  3. 选择“启用 Gluster 服务”选项,输入地址、SSH 指纹和密钥。地址和密钥项只有在导入现有的 gluster 配置选项被选中时才有效。
    Description

    图 C.1. 选择“启用 Gluster 服务”选项

  4. 确定
现在,Red Hat Gluster Storage 节点可以被添加到 Gluster 集群中,Gluster 卷可以被挂载作为存储域。iptables 规则将不会再阻止块存储域被添加到集群中。

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

重要

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

过程 D.1. 为 Red Hat Manager 准备远程 PostgreSQL 数据库

  1. 安装 PostgreSQL 服务器软件包:
    # yum install postgresql-server
  2. 初始化 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
  3. 使用 postgres 用户连接到 psql 命令行界面:
    # su - postgres
    $ 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. 连接到新数据库并添加 plpgsql 语言:
    postgres=# \c database_name
    database_name=# CREATE LANGUAGE plpgsql;
  7. 启用 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
  8. 允许 TCP/IP 到数据库的连接。编辑 /var/lib/pgsql/data/postgresql.conf 文件,添加以下行:
    listen_addresses='*'
    在这个例子中,postgresql 服务被配置为监听所有接口上的连接。您可以使用 IP 地址来指定只监听特定接口上的连接。
  9. 打开 PostgreSQL 数据库连接使用的默认端口,保存更新的防火墙规则:
    # iptables -I INPUT 5 -p tcp --dport 5432 -j ACCEPT
    # service iptables save
  10. 重启 postgresql 服务:
    # service postgresql restart
另外,可以设置 SSL 来进行安全的数据库连接(请参阅 http://www.postgresql.org/docs/8.4/static/ssl-tcp.html#SSL-FILE-USAGE)。

附录 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)。

附录 F. 在一个独立的机器上安装 Websocket 代理

websocket 代理允许用户通过 noVNC 和 SPICE HTML5 控制台连接到虚拟机。noVNC 客户端使用 websockets 传递 VNC 数据。但是,QEMU 中的 VNC 服务器并不支持 websocket,因此,需要在客户端和 VNC 服务器间使用一个 websocket 代理。这个代理可以运行在任何可以访问网络的机器上(包括 Manager 所在的机器)。
因为安全和性能的原因,用户可能会需要在一台独立的机器上配置 websocket 代理。

注意

对 SPICE HTML5 的支持现在还是一个技术预览(Technology Preview )。技术预览将不被 Red Hat Subscription Service Level Agreements(SLAs)所完全支持,也不能保证它的所有功能都可以正常运行。Technology Preview 功能并不是为当前的生产环境所提供的,但用户可以通过这些功能来尽早接触将来会被使用的新产品技术,同时可以反馈您的意见来完善产品的开发。
本节介绍了如何在一个没有运行 Manager 的机器上安装并配置 websocket 代理的方法。如需了解如何在运行 Manager 的机器上配置 websocket 代理的信息,请参阅 第 3.3 节 “配置 Red Hat Virtualization Manager”

过程 F.1. 在一台独立的机器上安装和配置 Websocket 代理

  1. 安装 websocket 代理:
    # yum install ovirt-engine-websocket-proxy
  2. 运行 engine-setup 命令来配置 websocket 代理。
    # engine-setup

    注意

    如果 rhevm 软件包也被安装,则在被询问是否在这个主机上配置引擎时选择 No
  3. Enter 来允许 engine-setup 在机器上配置一个 websocket 代理服务器。
    Configure WebSocket Proxy on this machine? (Yes, No) [Yes]:
  4. Enter 接受自动检测到的主机名(请注意,如果您使用的主机是虚拟机,自动检测到的主机名可能不正确);或输入一个不同的主机名后点 Enter
    Host fully qualified DNS name of this server [host.example.com]:
  5. Enter 允许 engine-setup 配置防火墙并打开外部通讯所需的端口。如果不允许 engine-setup 修改您的防火墙配置,则需要在以后手工打开所需的端口。
    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]:
  6. 输入 Manager 所在机器的完全限定 DNS 名并点 Enter
    Host fully qualified DNS name of the engine server []: engine_host.example.com
  7. Enter 允许 engine-setup 在 Manager 的机器上执行操作,或按 2 来手工执行这些任务。
    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]:
    1. Enter 接受默认的 SSH 端口号,或输入 Manager 机器的端口号。
      ssh port on remote engine server [22]:
      
    2. 输入登录到 Manager 机器的 root 密码并按 Enter
      root password on remote engine server engine_host.example.com:
      
  8. 选择是否复查 iptables 规则。
    Generated iptables rules are different from current ones.
    Do you want to review them? (Yes, No) [No]:
  9. Enter 确认配置。
    --== CONFIGURATION PREVIEW ==--
             
    Firewall manager                        : iptables
    Update Firewall                         : True
    Host FQDN                               : host.example.com
    Configure WebSocket Proxy               : True
    Engine Host FQDN                        : engine_host.example.com
             
    Please confirm installation settings (OK, Cancel) [OK]:
    如何配置 Manager 机器来使用设置的 websocket 代理的信息会被显示。
    Manual actions are required on the engine host
    in order to enroll certs for this host and configure the engine about it.
             
    Please execute this command on the engine host: 
       engine-config -s WebSocketProxy=host.example.com:6100
    and than restart the engine service to make it effective
  10. 登录到 Manager 的机器,运行以下命令:
    # engine-config -s WebSocketProxy=host.example.com:6100
    # service ovirt-engine restart
    

附录 G. 为 PCI 透传配置一个主机

通过启用 PCI 透传(PCI passthrough)功能,一个虚拟机可以象使用直接附加到这个虚拟机上的设备一样使用主机的设备。 为了启用 PCI 透传功能,您需要启用虚拟化扩展和 IOMMU 功能。以下步骤需要重新引导主机。如果这个主机已被附加到 Manager,请在执行以下操作时把主机设置为维护状态。

先决条件

过程 G.1. 为 PCI 透传配置一个主机

  1. 在 BIOS 中启用虚拟化扩展(例如,VT-d 或 AMD-Vi)。请参阅 Red Hat Enterprise Linux Virtualization and Administration Guide 中的 Enabling Intel VT-x and AMD-V virtualization hardware extensions in BIOS
  2. 编辑 grub 配置文件来启用 IOMMU。

    注意

    如果使用 IBM POWER8 硬件,则不需这一步,因为它已被默认启用。
    • 对于 Intel 系统,引导机器,把 intel_iommu=on 添加到 grub 配置文件的 GRUB_CMDLINE_LINUX 一行的最后。
      # vi /etc/default/grub
      ...
      GRUB_CMDLINE_LINUX="nofb splash=quiet console=tty0 ... intel_iommu=on
      ...
    • 对于 AMD 系统,引导机器,把 amd_iommu=on 添加到 grub 配置文件的 GRUB_CMDLINE_LINUX 一行的最后。
      # vi /etc/default/grub
      ...
      GRUB_CMDLINE_LINUX="nofb splash=quiet console=tty0 ... amd_iommu=on
      ...

    注意

    如果 intel_iommu=onamd_iommu=on 设置可以正常工作,您可以尝试把它们替换为 intel_iommu=ptamd_iommu=ptpt 选项只为使用透传功能的设备启用 IOMMU,并可以提供更好的功能。但不是所有硬件都支持这个选项。如果 pt 选项在您的主机上无法正常工作,请转换回使用前面的选项。
    如果因为硬件不支持中断重映射(interrupt remapping)导致透传失败,您可以在信任虚拟机的情况下启用 allow_unsafe_interrupts 选项。因为启用 allow_unsafe_interrupts 选项可能会存在通过虚拟机对主机进行 MSI 攻击的可能,因此这个选项在默认情况下没有被启用。使用以下方法启用这个选项:
    # vi /etc/modprobe.d
    options vfio_iommu_type1 allow_unsafe_interrupts=1
  3. 刷新 grub.cfg 文件并重启主机使这些改变生效:
    # grub2-mkconfig -o /boot/grub2/grub.cfg
    # reboot
对于 GPU 透传功能,您需要在主机和虚拟机系统上都进行额外的配置。相关信息,请参阅管理指南中的 Preparing Host and Guest Systems for GPU Passthrough
如果需要启用 SR-IOV 并为虚拟机分配专门的虚拟网卡,请参阅 https://access.redhat.com/articles/2335291

法律通告

Copyright © 2016 Red Hat.
This document is licensed by Red Hat under the Creative Commons Attribution-ShareAlike 3.0 Unported License. If you distribute this document, or a modified version of it, you must provide attribution to Red Hat, Inc. and provide a link to the original. If the document is modified, all Red Hat trademarks must be removed.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat Software Collections is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation's permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.