搜索

10.3. 缩减裸机节点

download PDF

若要缩减 overcloud 中的裸机节点数量,请标记您要从节点定义文件的堆栈中删除的节点,重新部署 overcloud,然后从 overcloud 中删除裸机节点。

先决条件

  • 成功安装 undercloud。有关更多信息,请参阅在 undercloud 上安装 director
  • 成功部署 overcloud。如需更多信息,请参阅 使用预置备节点配置基本 overcloud
  • 如果要替换 Object Storage 节点,请将您要删除的节点中的数据复制到新替换节点。等待新节点上复制传递完成。在 /var/log/swift/swift.log 文件中检查复制传递进度。传递完成后,Object Storage 服务(swift)会将条目添加到类似以下示例的日志中:

    Mar 29 08:49:05 localhost object-server: Object replication complete.
    Mar 29 08:49:11 localhost container-server: Replication run OVER
    Mar 29 08:49:13 localhost account-server: Replication run OVER

流程

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

    $ source ~/stackrc
  3. 对于您要缩减的角色,减少 overcloud-baremetal-deploy.yaml 文件中的 count 参数。
  4. 定义您要从堆栈中删除的每个节点的 主机名和 名称 (如果它们尚未在角色的 instances 属性中定义)。
  5. 将 attribute provisioned: false 添加到您要删除的节点。例如,要从堆栈中删除节点 overcloud-objectstorage-1,请在 overcloud-baremetal-deploy.yaml 文件中包含以下代码片段:

    - name: ObjectStorage
      count: 3
      instances:
      - hostname: overcloud-objectstorage-0
        name: node00
      - hostname: overcloud-objectstorage-1
        name: node01
        # Removed from cluster due to disk failure
        provisioned: false
      - hostname: overcloud-objectstorage-2
        name: node02
      - hostname: overcloud-objectstorage-3
        name: node03

    重新部署 overcloud 后,堆栈中不再存在使用 provisioned: false 属性定义的节点。但是,这些节点仍然以置备状态运行。

    注意

    要从堆栈中临时删除节点,请使用 provisioned: false 属性部署 overcloud,然后使用 provisioned: true 属性重新部署 overcloud,以将节点返回到堆栈。

  6. 从 overcloud 删除节点:

    $ openstack overcloud node delete \
      --stack <stack> \
      --baremetal-deployment \
       /home/stack/templates/overcloud-baremetal-deploy.yaml
    • & lt;stack> 替换为置备裸机节点的堆栈名称。如果未指定,则默认为 overcloud

      注意

      不要将您要从堆栈中删除的节点作为命令参数包括在 openstack overcloud node delete 命令中。

  7. 删除 ironic 节点:

    $ openstack baremetal node delete <IRONIC_NODE_UUID>

    IRONIC_NODE_UUID 替换为节点的 UUID。

  8. 置备 overcloud 节点以生成更新的 heat 环境文件,以包括在部署命令中:

    $ openstack overcloud node provision \
      --stack <stack> \
      --output <deployment_file> \
      /home/stack/templates/overcloud-baremetal-deploy.yaml
    • <deployment_file> 替换为用于部署命令生成的 heat 环境文件的名称,如 /home/stack/templates/overcloud-baremetal-deployed.yaml
  9. 将 provisioning 命令生成的 overcloud-baremetal-deployed.yaml 文件添加到与其他环境文件的堆栈中,并部署 overcloud:

    $ openstack overcloud deploy \
      ...
      -e /usr/share/openstack-tripleo-heat-templates/environments \
      -e /home/stack/templates/overcloud-baremetal-deployed.yaml \
      --deployed-server \
      --disable-validations \
      ...
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.