13.3. 删除 Compute 节点


在某些情况下,您可能需要从 overcloud 中删除计算节点。例如,需要替换有问题的计算节点。

重要

在从 overcloud 中删除计算节点前,先将该节点上的工作负载迁移到其他计算节点。请参见 第 11 章 在 Compute 节点之间迁移虚拟机了解更多详细信息。

步骤

  1. 查找 overcloud 配置:

    $ source ~/stack/overcloudrc
    Copy to Clipboard Toggle word wrap
  2. 禁用 overcloud 中传出节点上的 Compute 服务,以防止节点调度新的实例:

    (overcloud) $ openstack compute service list
    (overcloud) $ openstack compute service set [hostname] nova-compute --disable
    Copy to Clipboard Toggle word wrap
    提示

    添加有关为何要使用 --disable-reason 选项禁用该服务的简短说明。如果您打算稍后重新部署 Compute 服务,则该说明很有用。

  3. 查找 undercloud 配置:

    (overcloud) $ source ~/stack/stackrc
    Copy to Clipboard Toggle word wrap
  4. 在删除 overcloud 节点时,您必须使用本地模板文件更新 overcloud 堆栈。首先,确定 overcloud 堆栈的 UUID:

    (undercloud) $ openstack stack list
    Copy to Clipboard Toggle word wrap
  5. 找到要被删除的节点的 UUID:

    (undercloud) $ openstack server list
    Copy to Clipboard Toggle word wrap
  6. 运行以下命令来从栈中删除节点,并相应地更新计划:

    (undercloud) $ openstack overcloud node delete --stack [STACK_UUID] --templates -e [ENVIRONMENT_FILE] [NODE1_UUID] [NODE2_UUID] [NODE3_UUID]
    Copy to Clipboard Toggle word wrap
    重要

    如果在创建 overcloud 时传递了额外的环境文件,请使用 -e--environment-file 选项再次传递它们来避免对 overcloud 进行不必要的手动更改。

  7. 在继续进行操作前,确保 openstack overcloud node delete 命令已运行完。使用 openstack stack list 命令检查 overcloud 栈的状态是否已变为 UPDATE_COMPLETE

    重要

    如果您打算使用相同的主机名重新部署 Compute 服务,则需要对重新部署的节点使用现有服务记录。如果是这样,则跳过此过程中的剩余步骤,继续按照 使用相同的主机名重新部署 Compute 服务中详述的说明操作。

  8. 从节点删除 Compute 服务:

    (undercloud) $ source ~/stack/overcloudrc
    (overcloud) $ openstack compute service list
    (overcloud) $ openstack compute service delete [service-id]
    Copy to Clipboard Toggle word wrap
  9. 从节点删除 Open vSwitch 代理:

    (overcloud) $ openstack network agent list
    (overcloud) $ openstack network agent delete [openvswitch-agent-id]
    Copy to Clipboard Toggle word wrap
  10. 将删除的 Compute 服务作为资源提供商从放置服务中移除:

    (overcloud) $ openstack resource provider list
    (overcloud) $ openstack resource provider delete [uuid]
    Copy to Clipboard Toggle word wrap
    注意

    要使用放置服务,请安装 python2-osc-placement 软件包。

现在,可以安全地把节点从 overcloud 中删除,并将它部署用于其他目的。

使用相同的主机名重新部署 Compute 服务

要重新部署禁用的 Compute 服务,请在具有相同主机名的节点重新启动之后再重新启用。例如:

(overcloud) $ openstack compute service set compute-1.localdomain nova-compute --disable --disable-reason "gets re-provisioned"
(overcloud) $ openstack compute service list --long
...
| 80 | nova-compute | compute-1.localdomain | nova  | disabled | up | 2018-07-13T14:35:04.000000 | gets re-provisioned |
...
(overcloud) $ openstack compute service set compute-1.localdomain nova-compute --enable
Copy to Clipboard Toggle word wrap
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat