搜索

11.11. 重新引导 overcloud

download PDF

执行小的 Red Hat OpenStack Platform (RHOSP)更新至最新的 17.1 版本后,重启您的 overcloud。重启会使用任何关联的内核、系统级和容器组件更新刷新节点。这些更新提供了性能和安全优势。计划停机时间来执行重启过程。

使用以下指导了解如何重新引导不同的节点类型:

11.11.1. 重新引导 Controller 和可组合节点

根据可组合角色重新引导 Controller 节点和独立节点,并排除 Compute 节点和 Ceph Storage 节点。

流程

  1. 登录您要重新引导的节点。
  2. 可选:如果节点使用 Pacemaker 资源,请停止集群:

    [tripleo-admin@overcloud-controller-0 ~]$ sudo pcs cluster stop
  3. 重新引导节点:

    [tripleo-admin@overcloud-controller-0 ~]$ sudo reboot
  4. 稍等片刻,直到节点启动。

验证

  1. 验证服务是否已启用。

    1. 如果该节点使用 Pacemaker 服务,请检查该节点是否已重新加入集群:

      [tripleo-admin@overcloud-controller-0 ~]$ sudo pcs status
    2. 如果该节点使用 Systemd 服务,请检查是否所有服务都已启用:

      [tripleo-admin@overcloud-controller-0 ~]$ sudo systemctl status
    3. 如果该节点使用容器化服务,则检查节点上的所有容器是否已激活:

      [tripleo-admin@overcloud-controller-0 ~]$ sudo podman ps

11.11.2. 重新引导 Ceph Storage (OSD) 集群

完成以下步骤以重新引导 Ceph Storage (OSD) 节点集群。

先决条件

  • 在运行 ceph-mon 服务的 Ceph monitor 或 Controller 节点上,检查 Red Hat Ceph Storage 集群状态是否健康,pg 状态为 active+clean

    $ sudo cephadm -- shell ceph status

    如果 Ceph 集群处于健康状态,它会返回 HEALTH_OK 状态。

    如果 Ceph 集群状态不健康,它将返回 HEALTH_WARNHEALTH_ERR 的状态。有关故障排除指南,请参阅 Red Hat Ceph Storage 5 故障排除指南Red Hat Ceph Storage 6 故障排除指南

流程

  1. 登录到运行 ceph-mon 服务的 Ceph Monitor 或 Controller 节点,并临时禁用 Ceph Storage 集群重新平衡:

    $ sudo cephadm shell -- ceph osd set noout
    $ sudo cephadm shell -- ceph osd set norebalance
    注意

    如果您有多堆栈或分布式计算节点(DCN)架构,您必须在设置 nooutnorebalance 标志时指定 Ceph 集群名称。例如: sudo cephadm shell -c /etc/ceph/<cluster>.conf -k /etc/ceph/<cluster>.client.keyring

  2. 选择第一个要重新引导的 Ceph Storage 节点并登录到该节点。
  3. 重新引导节点:

    $ sudo reboot
  4. 稍等片刻,直到节点启动。
  5. 登录节点并检查 Ceph 集群状态:

    $ sudo cephadm -- shell ceph status

    确认 pgmap 报告的所有 pgs 的状态是否都正常 (active+clean)。

  6. 注销节点,重新引导下一个节点,并检查其状态。重复此过程,直到您已重新引导所有 Ceph Storage 节点。
  7. 完成后,登录到运行 ceph-mon 服务的 Ceph Monitor 或 Controller 节点,并启用 Ceph 集群重新平衡:

    $ sudo cephadm shell -- ceph osd unset noout
    $ sudo cephadm shell -- ceph osd unset norebalance
    注意

    如果您有多堆栈或分布式计算节点(DCN)架构,您必须在取消设置 nooutnorebalance 标志时指定 Ceph 集群名称。例如: sudo cephadm shell -c /etc/ceph/<cluster>.conf -k /etc/ceph/<cluster>.client.keyring

  8. 执行最后的状态检查,确认集群报告 HEALTH_OK

    $ sudo cephadm shell ceph status

11.11.3. 重新引导 Compute 节点

为确保 Red Hat OpenStack Platform 环境中 实例的停机时间最少,迁移实例工作流 概述了从您要重新引导的 Compute 节点迁移实例的步骤。

迁移实例工作流

  1. 决定是否在重新引导节点前将实例迁移到另一个 Compute 节点。
  2. 选择并禁用您要重新引导的 Compute 节点,使其不置备新实例。
  3. 将实例迁移到另一个 Compute 节点中。
  4. 重新引导空的 Compute 节点。
  5. 启用空的 Compute 节点。

先决条件

  • 重启 Compute 节点之前,必须决定是否在节点重启过程中将实例迁移到另一个 Compute 节点。

    查看在 Compute 节点之间迁移虚拟机实例时可能会遇到的迁移限制列表。如需更多信息,请参阅为实例创建配置 Compute Service 中的迁移限制

    注意

    如果您有 Multi-RHEL 环境,并且希望将虚拟机从运行 RHEL 9.2 的 Compute 节点迁移到运行 RHEL 8.4 的 Compute 节点,则只支持冷迁移。有关冷迁移的更多信息,请参阅配置 计算服务 以进行实例创建中的冷迁移实例

  • 如果您无法迁移实例,则可设置以下核心模板参数以在 Compute 节点重启后控制实例的状态:

    NovaResumeGuestsStateOnHostBoot
    确定重新引导后是否将实例返回 Compute 节点上的相同状态。设为 False 时,实例保持关闭,必须手动启动。默认值为 False
    NovaResumeGuestsShutdownTimeout

    重启前等待实例被关闭的时间(以秒为单位)。建议不要将此值设置为 0。默认值为 300

    有关 overcloud 参数及其用法的更多信息,请参阅 Overcloud 参数

流程

  1. stack 用户身份登录 undercloud。
  2. 检索 Compute 节点列表,以识别您要重新引导的节点的主机名:

    (undercloud)$ source ~/overcloudrc
    (overcloud)$ openstack compute service list

    识别您要重新引导的 Compute 节点的主机名。

  3. 在您要重新引导的 Compute 节点上禁用 Compute 服务:

    (overcloud)$ openstack compute service list
    (overcloud)$ openstack compute service set <hostname> nova-compute --disable
    • <hostname > 替换为 Compute 节点的主机名。
  4. 列出 Compute 节点上的所有实例:

    (overcloud)$ openstack server list --host <hostname> --all-projects
  5. 可选: 要将实例迁移到另一个 Compute 节点,请完成以下步骤:

    1. 如果您决定将实例迁移至另一个 Compute 节点,则使用以下命令之一:

      • 要将实例迁移到其他主机,请运行以下命令:

        (overcloud) $ openstack server migrate <instance_id> --live <target_host> --wait
        • <instance_id& gt; 替换为您的实例 ID。
        • <target_host > 替换为您要将实例迁移到的主机。
      • nova-scheduler 自动选择目标主机:

        (overcloud) $ nova live-migration <instance_id>
      • 一次性实时迁移所有实例:

        $ nova host-evacuate-live <hostname>
        注意

        nova 命令可能会引发一些弃用警告,这些警告信息可以被安全忽略。

    2. 稍等片刻,直至迁移完成。
    3. 确认迁移成功完成:

      (overcloud) $ openstack server list --host <hostname> --all-projects
    4. 继续迁移实例,直到 Compute 节点上没有保留任何实例。
  6. 登录到 Compute 节点并重启节点:

    [tripleo-admin@overcloud-compute-0 ~]$ sudo reboot
  7. 稍等片刻,直到节点启动。
  8. 重新启用 Compute 节点:

    $ source ~/overcloudrc
    (overcloud) $ openstack compute service set <hostname>  nova-compute --enable
  9. 确认是否已启用 Compute 节点:

    (overcloud) $ openstack compute service list

11.11.4. 在 overcloud 更新后验证 RHOSP

更新 Red Hat OpenStack Platform (RHOSP)环境后,使用 tripleo-validations playbook 验证 overcloud。

有关验证的更多信息, 请参阅使用 director 安装和管理 Red Hat OpenStack Platform 中的使用验证框架

流程

  1. stack 用户身份登录 undercloud 主机。
  2. 查找 stackrc undercloud 凭证文件:

    $ source ~/stackrc
  3. 运行验证:

    $ validation run -i ~/overcloud-deploy/<stack>/tripleo-ansible-inventory.yaml --group post-update
    • 将 <stack> 替换为堆栈的名称。

验证

  1. 要查看验证报告的结果,请参阅使用 director 安装和管理 Red Hat OpenStack Platform 中的 查看验证历史记录
注意

忽略报告 No host 与唯一返回错误匹配的 FAILED 验证。此错误意味着您没有与验证主机组匹配的主机,这可能是预期的。FAILED 验证不会阻止您使用更新的 RHOSP 环境。但是,FAILED 验证可能会指示您的环境出现问题。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.