第 12 章 重新引导节点


某些情况要求在 undercloud 和 overcloud 中重新引导节点。以下流程介绍了重新引导不同节点类型的方法。请注意以下几点:

  • 如果重新引导一个角色中的所有节点,建议单独重新引导各节点。这有助于在重新引导期间保持该角色的服务。
  • 如果在您的 OpenStack Platform 环境中重新引导所有节点,请按照以下列表给出的顺序进行重新引导:

建议的节点重新引导顺序

  1. 重新引导 director
  2. 重新引导 Controller 节点和其他可组合节点
  3. 重新引导 Ceph Storage 节点
  4. 重新引导 Compute 节点

12.1. 重新引导 undercloud 节点

以下操作过程旨在重新引导 undercloud 节点。

步骤

  1. stack 用户的身份登录 undercloud。
  2. 重新引导 undercloud:

    $ sudo reboot
    Copy to Clipboard Toggle word wrap
  3. 稍等片刻,直到节点启动。

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

以下操作过程旨在基于可组合角色重新引导 Controller 节点和独立节点,其中不包括 Compute 节点和 Ceph Storage 节点。

步骤

  1. 选择一个节点并登录。
  2. 重新引导节点:

    [heat-admin@overcloud-controller-0 ~]$ sudo reboot
    Copy to Clipboard Toggle word wrap
  3. 稍等片刻,直到节点启动。
  4. 登录该节点并检查各项服务。例如:

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

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

      [heat-admin@overcloud-controller-0 ~]$ sudo systemctl status
      Copy to Clipboard Toggle word wrap

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

以下操作过程旨在重新引导一个由 Ceph Storage (OSD) 节点构成的集群。

步骤

  1. 登录到 Ceph MON 或 Controller 节点,然后暂时禁用 Ceph 存储集群重新平衡:

    $ sudo ceph osd set noout
    $ sudo ceph osd set norebalance
    Copy to Clipboard Toggle word wrap
  2. 选择要重新引导的首个 Ceph Storage 节点,然后登录该节点。
  3. 重新引导节点:

    $ sudo reboot
    Copy to Clipboard Toggle word wrap
  4. 稍等片刻,直到节点启动。
  5. 登录到节点,并检查集群的状态:

    $ sudo ceph -s
    Copy to Clipboard Toggle word wrap

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

  6. 注销节点,重新引导下一个节点,并检查其状态。重复此流程,直到您已重新引导所有 Ceph 存储节点。
  7. 完成之后,登录 Ceph MON 或 Controller 节点,然后重新启用集群重新平衡:

    $ sudo ceph osd unset noout
    $ sudo ceph osd unset norebalance
    Copy to Clipboard Toggle word wrap
  8. 执行最后的状态检查,确认集群报告 HEALTH_OK

    $ sudo ceph status
    Copy to Clipboard Toggle word wrap

12.4. 重新引导 Compute 节点

以下操作过程旨在重新引导 Compute 节点。为确保最大限度地缩短 OpenStack Platform 环境中的实例停机时间,这个操作过程还提供了有关从选定 Compute 节点迁移实例的说明。其中会涉及以下工作流:

  • 选择要重新引导的 Compute 节点,然后将其禁用以确保其不会置备新实例
  • 将实例迁移到另一个 Compute 节点中
  • 重新引导空白 Compute 节点,然后将其禁用

步骤

  1. stack 用户的身份登录 undercloud。
  2. 列出所有的 Compute 节点及其 UUID:

    $ source ~/stackrc
    (undercloud) $ openstack server list --name compute
    Copy to Clipboard Toggle word wrap

    识别要重新引导的 Compute 节点的 UUID。

  3. 从 undercloud 中选择一个 Compute 节点,然后将其禁用:

    $ source ~/overcloudrc
    (overcloud) $ openstack compute service list
    (overcloud) $ openstack compute service set [hostname] nova-compute --disable
    Copy to Clipboard Toggle word wrap
  4. 列出 Compute 节点上的所有实例:

    (overcloud) $ openstack server list --host [hostname] --all-projects
    Copy to Clipboard Toggle word wrap
  5. 使用以下命令之一迁移实例:

    1. 将实例迁移至您选择的特定主机:

      (overcloud) $ openstack server migrate [instance-id] --live [target-host]--wait
      Copy to Clipboard Toggle word wrap
    2. nova-scheduler 自动选择目标主机:

      (overcloud) $ nova live-migration [instance-id]
      Copy to Clipboard Toggle word wrap
    3. 一次性实时迁移所有实例:

      $ nova host-evacuate-live [hostname]
      Copy to Clipboard Toggle word wrap
      注意

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

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

    (overcloud) $ openstack server list --host [hostname] --all-projects
    Copy to Clipboard Toggle word wrap
  8. 继续迁移实例,直到所选 Compute 节点中不剩任何实例。
  9. 登录到 Compute 节点并重新引导该节点:

    [heat-admin@overcloud-compute-0 ~]$ sudo reboot
    Copy to Clipboard Toggle word wrap
  10. 稍等片刻,直到节点启动。
  11. 重新启用 Compute 节点:

    $ source ~/overcloudrc
    (overcloud) $ openstack compute service set [hostname] nova-compute --enable
    Copy to Clipboard Toggle word wrap
  12. 确认是否已启用 Compute 节点:

    (overcloud) $ openstack compute service list
    Copy to Clipboard Toggle word wrap
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat