第 22 章 工具

22.1. oVirt Engine Rename 工具

22.1.1. oVirt Engine Rename 工具

engine-setup 命令在干净环境中运行时,命令会生成多个证书和密钥,该证书和密钥使用设置过程中提供的 Manager 的完全限定域名。如果稍后需要修改 Manager 的全限定域名(例如,由于将 Manager 托管管理器的计算机迁移到其他域),则必须更新完全限定域名的记录,以反映新的名称。ovirt-engine-rename 命令自动执行此任务。

ovirt-engine-rename 命令会在以下位置更新 Manager 的完全限定域名记录:

  • /etc/ovirt-engine/engine.conf.d/10-setup-protocols.conf
  • /etc/ovirt-engine/isouploader.conf.d/10-engine-setup.conf
  • /etc/ovirt-engine/logcollector.conf.d/10-engine-setup.conf
  • /etc/pki/ovirt-engine/cert.conf
  • /etc/pki/ovirt-engine/cert.template
  • /etc/pki/ovirt-engine/certs/apache.cer
  • /etc/pki/ovirt-engine/keys/apache.key.nopass
  • /etc/pki/ovirt-engine/keys/apache.p12
警告

虽然 ovirt-engine-rename 命令为管理器运行的 Web 服务器创建新证书,但它不会影响 Manager 或证书颁发机构的证书。因此,使用 ovirt-engine-rename 命令有一些风险,特别是在从 Red Hat Enterprise Virtualization 3.2 及更早版本升级的环境中。因此,建议尽可能运行 engine-cleanupengine-setup 更改管理器的完全限定域名。

警告

在升级过程中,必须解析旧主机名。如果 oVirt Engine Rename Tool 失败并显示消息 [ ERROR ] Host name is not valid: <OLD FQDN> 没有解析到 IP 地址,请将旧主机名添加到 /etc/hosts 文件中,使用 oVirt Engine Rename Tool,然后从 /etc/hosts 文件中删除旧主机名。

22.1.2. oVirt Engine Rename 命令的语法

ovirt-engine-rename 命令的基本语法为:

# /usr/share/ovirt-engine/setup/bin/ovirt-engine-rename

该命令还接受以下选项:

--newname=[new name]
允许您为 Manager 指定新的全限定域名,而无需用户交互。
--log=[file]
允许您指定要写入重命名操作日志的文件的路径和名称。
--config=[file]
允许您指定要加载到重命名操作的配置文件的路径和文件名。
--config-append=[file]
允许您指定配置文件的路径和文件名,以附加到重命名操作。此选项可用于指定现有回答文件的路径和文件名来自动重命名操作。
--generate-answer=[file]
允许您指定记录您的答案和 ovirt-engine-rename 命令更改的文件的路径和文件名。

22.1.3. 使用 oVirt Engine Rename 工具重命名 Manager

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

重要

ovirt-engine-rename 命令不会更新 SSL 证书,如 imageio-proxywebsocket-proxy。在运行 ovirt-engine-rename 后,必须手动更新这些。请参阅以下 更新 SSL 证书

工具可检查 Manager 是否提供本地 ISO 还是数据存储域。如果存在,工具会提示用户弹出、关闭或置于维护模式,然后再继续操作。这样可确保虚拟机不会与其虚拟磁盘的连接,并防止 ISO 存储域在重命名过程中丢失连接。

使用 oVirt Engine Rename 工具

  1. 为新的 FQDN 准备所有 DNS 和其他相关记录。
  2. 如果使用 DHCP,请更新 DHCP 服务器配置。
  3. 更新 Manager 上的主机名。
  4. 运行以下命令:

    # /usr/share/ovirt-engine/setup/bin/ovirt-engine-rename
  5. 提示时,按 Enter 停止引擎服务:

    During execution engine service will be stopped (OK, Cancel) [OK]:
  6. 出现提示时,输入 Manager 的新 FQDN:

    New fully qualified server name:new_engine_fqdn

ovirt-engine-rename 命令会更新 Manager 的 FQDN 记录。

对于自托管引擎,请完成以下步骤:

  1. 在每个现有的自托管引擎节点上运行以下命令:

    # hosted-engine --set-shared-config fqdn new_engine_fqdn --type=he_local

    此命令修改每个自托管引擎节点的 /etc/ovirt-hosted-engine-ha/hosted-engine.conf的本地副本中的 FQDN

  2. 在其中一个自托管引擎节点上运行以下命令:

    # hosted-engine --set-shared-config fqdn new_engine_fqdn --type=he_shared

    此命令修改共享存储域的 /etc/ovirt-hosted-engine-ha/hosted-engine.conf 主副本中的 FQDN。

现在,所有新的和现有的自托管引擎节点都使用新的 FQDN。

更新 SSL 证书

ovirt-engine-rename 命令后面运行以下命令以更新 SSL 证书:

1. # names="websocket-proxy imageio-proxy"
2. # subject="$(\
    openssl x509 \
    -in /etc/pki/ovirt-engine/certs/apache.cer \
    -noout \
    -subject | \
        sed \
            's;subject= \(.*\);\1;'
  )"
3. # . /usr/share/ovirt-engine/bin/engine-prolog.sh
4. # for name in $names; do
    /usr/share/ovirt-engine/bin/pki-enroll-pkcs12.sh \
        --name="${name}" \
        --password=mypass \
        --subject="${subject}" \
        --keep-key \
        --san=DNS:"${ENGINE_FQDN}"
  done