第 3 章 管理环境

3.1. 管理自托管引擎

3.1.1. 维护自托管引擎

3.1.1.1. 自托管引擎维护模式解释

通过维护模式,您可以启动、停止和修改 Manager 虚拟机,而不影响高可用性代理,以及重启和修改环境中的自托管引擎节点,而无需与 Manager 干扰。

有三种维护模式:

  • 全局 - 集群中的所有高可用性代理都禁止监控 Manager 虚拟机的状态。对于需要停止 ovirt-engine 服务的任何设置或升级操作,必须应用全局维护模式,比如升级到更新的 Red Hat Virtualization 版本。
  • local - 发布命令的节点上的高可用性代理在监控 Manager 虚拟机的状态被禁用。在处于本地维护模式时,该节点无法托管管理器虚拟机;如果托管了 Manager 虚拟机,则管理器将迁移到另一节点,提供有一个可用的节点。在对自托管引擎节点应用系统更改或更新时,建议使用本地维护模式。
  • none - 禁用维护模式,确保高可用性代理正在运行。

3.1.1.2. 设置本地维护模式

启用本地维护模式可在单个自托管引擎节点上停止高可用性代理。

从管理门户设置本地维护模式

  1. 将自托管引擎节点设置为本地维护模式:

    1. 在管理门户中,单击 ComputeHosts 并选择自托管引擎节点。
    2. ManagementMaintenanceOK。该节点会自动触发本地维护模式。
  2. 完成任何维护任务后,禁用维护模式:

    1. 在管理门户中,单击 ComputeHosts 并选择自托管引擎节点。
    2. ManagementActivate

通过命令行设置本地维护模式

  1. 登录到自托管引擎节点并将其设置为本地维护模式:

    # hosted-engine --set-maintenance --mode=local
  2. 完成任何维护任务后,禁用维护模式:

    # hosted-engine --set-maintenance --mode=none

3.1.1.3. 设置全局维护模式

启用全局维护模式可在集群中的所有自托管引擎节点上停止高可用性代理。

从管理门户设置全局维护模式

  1. 将所有自托管引擎节点设置为全局维护模式:

    1. 在管理门户中,单击 ComputeHosts 并选择任何自托管引擎节点。
    2. More Actions ( moreactions ),然后点 Enable Global HA Maintenance
  2. 完成任何维护任务后,禁用维护模式:

    1. 在管理门户中,单击 ComputeHosts 并选择任何自托管引擎节点。
    2. More Actions ( moreactions ),然后点 Disable Global HA Maintenance

从命令行设置全局维护模式

  1. 登录到任何自托管引擎节点并将其设置为全局维护模式:

    # hosted-engine --set-maintenance --mode=global
  2. 完成任何维护任务后,禁用维护模式:

    # hosted-engine --set-maintenance --mode=none

3.1.2. 管理 Manager 虚拟机

hosted-engine 实用程序提供了多个命令来帮助管理 Manager 虚拟机。您可以在任何自托管引擎节点上运行 hosted-engine。要查看所有可用命令,请运行 hosted-engine --help。有关特定命令的附加信息,请运行 hosted-engine --命令 --help

3.1.2.1. 更新自托管引擎配置

若要更新自托管引擎配置,请使用 hosted-engine --set-shared-config 命令。此命令会在初始部署后,更新共享存储域中的自托管引擎配置。

要查看当前的配置值,请使用 hosted-engine --get-shared-config 命令。

要查看所有可用配置密钥及其对应类型的列表,请输入以下命令:

# hosted-engine --set-shared-config key --type=type --help

其中 type 是以下之一:

he_local

在本地主机上 /etc/ovirt-hosted-engine/hosted-engine.conf 的本地实例中设置值,以便只有该主机使用新值。要启用新值,请重启 ovirt-ha-agent 和 ovirt-ha-broker 服务。

he_shared

共享存储上的 /etc/ovirt-hosted-engine.conf 中设置值,以便在配置更改后部署的所有主机。要在主机上启用新值,请重新部署该主机。

ha

在本地存储的 /var/lib/ovirt-hosted-engine-ha/ha.conf 中设置值。新设置立即生效。

broker

在本地存储的 /var/lib/ovirt-hosted-engine-ha/broker.conf 中设置值。重启 ovirt-ha-broker 服务以启用新设置。

3.1.2.2. 配置电子邮件通知

您可以使用 SMTP 在自托管引擎节点上发生任何 HA 状态配置电子邮件通知。可更新的密钥包括: smtp-serversmtp-portsource-emaildestination-emailsstate_transition

配置电子邮件通知:

  1. 在自托管引擎节点上,将 smtp-server 密钥设置为所需的 SMTP 服务器地址:

    # hosted-engine --set-shared-config smtp-server smtp.example.com --type=broker
    注意

    要验证自托管引擎配置文件是否已更新,请运行:

    # hosted-engine --get-shared-config smtp-server --type=broker
    broker : smtp.example.com, type : broker
  2. 检查是否已配置默认 SMTP 端口(端口 25):

    # hosted-engine --get-shared-config smtp-port --type=broker
    broker : 25, type : broker
  3. 指定您希望 SMTP 服务器用于发送电子邮件通知的电子邮件地址。只能指定一个地址。

    # hosted-engine --set-shared-config source-email source@example.com --type=broker
  4. 指定接收电子邮件通知的目标电子邮件地址。要指定多个电子邮件地址,使用逗号分隔每个地址。

    # hosted-engine --set-shared-config destination-emails destination1@example.com,destination2@example.com --type=broker

要验证是否已为您的自托管引擎环境正确配置了 SMTP,请更改自托管引擎节点上的 HA 状态,并检查电子邮件通知是否已发送。例如,您可以通过将 HA 代理置于维护模式来更改 HA 状态。如需更多信息 ,请参阅维护自托管引擎

3.1.3. 在附加主机上为自托管引擎配置 Memory Slots 保留

如果 Manager 虚拟机关闭或需要迁移,则必须在自托管引擎节点上有足够的内存供 Manager 虚拟机重新启动或迁移到该虚拟机。可以使用调度策略在多个自托管引擎节点上保留此内存。在启动或迁移任何虚拟机之前,调度策略会检查足够的内存来启动 Manager 虚拟机是否保留在指定数量上。如需有关调度策略的更多信息,请参阅管理指南中的创建调度策略

要在 Red Hat Virtualization Manager 中添加更多的自托管引擎节点,请参阅将自托管引擎节点添加到 Manager 中。

在附加主机上为自托管引擎配置 Memory Slots 保留

  1. ComputeClusters 并选择包含自托管引擎节点的集群。
  2. Edit
  3. 单击 Scheduling Policy 选项卡。
  4. 单击 +,然后选择 HeSparesCount
  5. 输入可保留足够可用内存的额外自托管引擎节点数量,以启动 Manager 虚拟机。
  6. 点击 OK

3.1.4. 在 Red Hat Virtualization Manager 中添加自托管引擎节点

添加自托管引擎节点的方式与标准主机相同,另外一步用于将主机部署为自托管引擎节点。可自动检测共享存储域,并在需要时将节点用作故障转移主机来托管管理器虚拟机。您还可以将标准主机附加到自托管引擎环境中,但不能托管管理器虚拟机。至少有两个自托管引擎节点,以确保 Manager 虚拟机高度可用。您还可以使用 REST API 添加其他主机。请参阅 REST API 指南中的主机

前提条件

  • 所有自托管引擎节点必须位于同一群集中。
  • 如果您要重复使用自托管引擎节点,请删除其现有的自托管引擎配置。请参阅从自托管引擎环境中删除主机

流程

  1. 在管理门户中,点 ComputeHosts
  2. New

    有关其他主机设置的详情,请参考管理指南中的新主机和编辑主机 Windows 中的设置和控制说明

  3. 使用下拉列表为新主机选择 Data CenterHost Cluster
  4. 输入新主机的名称地址。标准 SSH 端口(端口 22)在 SSH Port 字段中自动填充。
  5. 选择用于管理器以访问主机的身份验证方法。

    • 输入 root 用户的密码以使用密码身份验证。
    • 或者,将 SSH PublicKey 字段中显示的密钥复制到主机上的 /root/.ssh/authorized_keys 以使用公钥身份验证。
  6. (可选)配置电源管理,其中主机具有受支持的电源管理卡。有关电源管理配置的详情,请参阅管理指南中的主机电源管理设置说明
  7. 托管引擎选项卡。
  8. 选择 Deploy
  9. 点击 OK

3.1.5. 将现有主机重新安装为自托管引擎节点

您可以将自托管引擎环境中的现有标准主机转换为能够托管 Manager 虚拟机的自托管引擎节点。

警告

安装或重新安装主机的操作系统时,红帽强烈建议您先分离附加到主机的任何现有非 OS 存储,以避免意外初始化这些磁盘,从而避免意外初始化这些磁盘,并可能会丢失数据。

流程

  1. 单击 ComputeHosts,再选择 主机。
  2. ManagementMaintenanceOK
  3. InstallationReinstall
  4. 单击 Hosted Engine 选项卡,再从下拉菜单中选择 DEPLOY
  5. 点击 确定

主机通过自托管引擎配置重新安装,并使用管理门户中的 crown 图标标记。

3.1.6. 在救援模式中引导 Manager 虚拟机

这部分论述了如何在 Manager 虚拟机启动时将 Manager 虚拟机引导至救援模式。如需更多信息,请参阅 Red Hat Enterprise Linux 系统管理员指南 中的 引导至救援模式

  1. 连接到其中一个 hosted-engine 节点:

    $ ssh root@host_address
  2. 将自托管引擎设置为全局维护模式:

    # hosted-engine --set-maintenance --mode=global
  3. 检查 Manager 虚拟机是否正在运行实例:

    # hosted-engine --vm-status

    如果 Manager 虚拟机实例正在运行,连接到其主机:

    # ssh root@host_address
  4. 关闭虚拟机:

    # hosted-engine --vm-shutdown
    注意

    如果虚拟机没有关闭,请执行以下命令:

    # hosted-engine --vm-poweroff
  5. 以暂停模式启动 Manager 虚拟机:

    hosted-engine --vm-start-paused
  6. 设置临时 VNC 密码:

    hosted-engine --add-console-password

    命令输出所需的信息,您需要使用 VNC 登录到 Manger 虚拟机。

  7. 使用 VNC 登录到 Manager 虚拟机。Manager 虚拟机仍暂停,因此它似乎为 frozen。
  8. 使用以下命令恢复 Manager 虚拟机:

    警告

    运行以下命令后会显示引导装载程序菜单。在引导装载程序进行正常引导过程前,您需要进入救援模式。继续此命令之前,阅读有关进入救援模式的下一步。

    # /usr/bin/virsh -c qemu:///system?authfile=/etc/ovirt-hosted-engine/virsh_auth.conf resume HostedEngine
  9. 在救援模式下引导 Manager 虚拟机。
  10. 禁用全局维护模式

    # hosted-engine --set-maintenance --mode=none

现在,您可以在 Manager 虚拟机上运行 rescue 任务。

3.1.7. 从自托管引擎环境中删除主机

要从环境中删除自托管引擎节点,请将节点置于维护模式,取消部署该节点,并选择性地将其删除。在 HA 服务停止后,可以将该节点作为常规主机进行管理,并且删除了自托管引擎配置文件。

流程

  1. 在管理门户中,单击 ComputeHosts 并选择自托管引擎节点。
  2. ManagementMaintenanceOK
  3. InstallationReinstall
  4. Hosted Engine 选项卡,从下拉菜单中选择 UNDEPLOY。此操作将停止 ovirt-ha-agentovirt-ha-broker 服务,并删除自托管引擎配置文件。
  5. 点击 OK
  6. (可选)点击 Remove。此时将打开 Remove Host (s) 确认窗口。
  7. 点击 OK

3.1.8. 更新自托管引擎

要将自托管引擎从当前版本更新到最新版本,您必须将环境置于全局维护模式,然后按照标准流程在次版本间更新。

启用全局维护模式

您必须将自托管引擎环境置于全局维护模式,然后才能在 Manager 虚拟机上执行任何设置或升级任务。

流程

  1. 登录到自托管引擎节点并启用全局维护模式:

    # hosted-engine --set-maintenance --mode=global
  2. 在继续前确认环境处于全局维护模式:

    # hosted-engine --vm-status

    您应该会看到指示集群处于全局维护模式的消息。

更新 Red Hat Virtualization Manager

流程

  1. 在 Manager 机器中检查更新的软件包是否可用:

    # engine-upgrade-check
  2. 更新设置软件包:

    # yum update ovirt\*setup\* rh\*vm-setup-plugins
  3. 使用 engine-setup 脚本更新 Red Hat Virtualization Manager。engine-setup 脚本会提示您显示一些配置问题,然后停止 ovirt-engine 服务,下载并安装更新的软件包,备份和更新数据库,执行安装后配置,以及启动 ovirt-engine 服务。

    # engine-setup

    当脚本成功完成时,会显示以下信息:

    Execution of setup completed successfully
    注意

    Red Hat Virtualization Manager 安装过程中也会使用 engine-setup 脚本,并存储提供的配置值。在更新过程中,在预览配置时会显示存储的值,如果安装后使用 engine-config 更新配置,则可能不会更新。例如,如果在安装后使用 engine-configSANWipeAfterDelete 更新为 trueengine-setup 会在配置预览中输出 "Default SAN wipe after delete: False"。但是 engine-setup 不会覆盖更新的值。

    重要

    更新过程可能需要一些时间。在进程完成之前,请勿停止该进程。

  4. 更新基本操作系统以及在 Manager 中安装的任何可选软件包:

    # yum update --nobest
    重要

    如果您在更新过程中遇到必要的 Ansible 软件包冲突,请参阅在 RHV 管理器上无法执行 yum update(ansible 冲突 )

    重要

    如果更新了任何内核软件包:

    1. 禁用全局维护模式
    2. 重启计算机以完成更新。
禁用全局维护模式

流程

  1. 登录 Manager 虚拟机,并将它关闭。
  2. 登录到自托管引擎节点之一并禁用全局维护模式:

    # hosted-engine --set-maintenance --mode=none

    当您退出全局维护模式时,ovirt-ha-agent 会启动 Manager 虚拟机,然后 Manager 会自动启动。管理器最多可能需要十分钟才能启动。

  3. 确认环境正在运行:

    # hosted-engine --vm-status

    列出的信息包括引擎状态引擎状态的值应该是:

    {"health": "good", "vm": "up", "detail": "Up"}
    注意

    当虚拟机仍在引导且管理器尚未启动时,引擎状态为:

    {"reason": "bad vm status", "health": "bad", "vm": "up", "detail": "Powering up"}

    如果发生这种情况,请等待几分钟后重试。

3.1.9. 在自托管引擎中更改 Manager 的 FQDN

您可以使用 ovirt-engine-rename 命令更新 Manager 的完全限定域名(FQDN)的记录。

详情请查看使用 Ovirt Engine Rename 工具重新创建管理器