1.2. 为超融合节点准备 overcloud 角色


要将节点指定为超融合角色,您需要定义一个超融合角色。Red Hat OpenStack Platform (RHOSP)为超融合节点提供预定义角色 ComputeHCI。此角色并置计算和 Ceph 对象存储守护进程(OSD)服务,允许您将它们一起部署到同一超融合节点上。

流程

  1. stack 用户的身份登录 undercloud。
  2. Source stackrc 文件:

    [stack@director ~]$ source ~/stackrc
    Copy to Clipboard Toggle word wrap
  3. 生成包含 ComputeHCI 角色的新自定义角色数据文件,以及您要用于 overcloud 的其他角色。以下示例生成角色数据文件 roles_data_hci.yaml,其中包括角色 ControllerComputeHCIComputeCephStorage

    (undercloud)$ openstack overcloud roles \
     generate -o /home/stack/templates/roles_data_hci.yaml \
      Controller ComputeHCI Compute CephStorage
    Copy to Clipboard Toggle word wrap
    注意

    在生成的自定义角色数据文件中为 ComputeHCI 角色列出的网络包括 Compute 和 Storage 服务所需的网络,例如:

    - name: ComputeHCI
      description: |
        Compute node role hosting Ceph OSD
      tags:
        - compute
      networks:
        InternalApi:
          subnet: internal_api_subnet
        Tenant:
          subnet: tenant_subnet
        Storage:
          subnet: storage_subnet
        StorageMgmt:
          subnet: storage_mgmt_subnet
    Copy to Clipboard Toggle word wrap
  4. 创建 network_data.yaml 文件的本地副本,将可组合网络添加到 overcloud 中。network_data.yaml 文件与默认网络环境文件 /usr/share/openstack-tripleo-heat-templates/environments/* 交互,将您为 ComputeHCI 角色定义的网络与超融合节点关联。有关更多信息,请参阅高级 Overcloud 自定义指南中的 添加可组合网络
  5. 要提高 Red Hat Ceph Storage 的性能,请将 StorageStorageMgmt 网络的 MTU 设置更新为 9000 (用于巨型帧),位于 network_data.yaml 的本地副本中。如需更多信息,请参阅 Director 中配置 MTU 设置并配置巨型帧
  6. 为超融合节点创建 计算HCI overcloud 类别:

    (undercloud)$ openstack flavor create --id auto \
     --ram <ram_size_mb> --disk <disk_size_gb> \
     --vcpus <no_vcpus> computeHCI
    Copy to Clipboard Toggle word wrap
    • <ram_size_mb > 替换为裸机节点的 RAM,以 MB 为单位。
    • <disk_size_gb > 替换为裸机节点中的磁盘大小(以 GB 为单位)。
    • <no_vcpus > 替换为裸机节点中的 CPU 数量。
    注意

    这些属性不可用于调度实例。但是,计算调度程序使用磁盘大小来确定根分区大小。

  7. 检索节点列表来识别它们的 UUID:

    (undercloud)$ openstack baremetal node list
    Copy to Clipboard Toggle word wrap
  8. 使用自定义 HCI 资源对象标记您要指定为超融合的每个裸机节点:

    (undercloud)$ openstack baremetal node set \
     --resource-class baremetal.HCI <node>
    Copy to Clipboard Toggle word wrap

    <node > 替换为裸机节点的 ID。

  9. computeHCI 类别与自定义 HCI 资源类型关联:

    (undercloud)$ openstack flavor set \
    --property resources:CUSTOM_BAREMETAL_HCI=1 \
    computeHCI
    Copy to Clipboard Toggle word wrap

    要确定与 Bare Metal 服务节点的资源类对应的自定义资源类的名称,请将资源类转换为大写,用下划线替换所有 punctuation,并使用 CUSTOM_ 前缀。

    注意

    类别只能请求一个裸机资源类实例。

  10. 设置以下类别属性,以防止计算调度程序使用裸机类别属性来调度实例:

    (undercloud)$ openstack flavor set \
     --property resources:VCPU=0 \
     --property resources:MEMORY_MB=0 \
     --property resources:DISK_GB=0 computeHCI
    Copy to Clipboard Toggle word wrap
  11. node-info.yaml 文件中添加以下参数,以指定超融合和 Controller 节点的数量,以及用于超融合和控制器指定的节点的类别:

    parameter_defaults:
      OvercloudComputeHCIFlavor: computeHCI
      ComputeHCICount: 3
      OvercloudControlFlavor: baremetal
      ControllerCount: 3
    Copy to Clipboard Toggle word wrap

1.2.1. 定义根磁盘

如果节点使用多个磁盘,则 Director 在置备过程上必须识别根磁盘。例如,大多数 Ceph Storage 节点使用多个磁盘。默认情况下,director 在置备过程中将 overcloud 镜像写入根磁盘。

您可以定义多个属性以帮助 director 识别根磁盘:

  • model(字符串):设备 ID。
  • vendor(字符串):设备厂商。
  • serial(字符串):磁盘序列号。
  • hctl(字符串):SCSI 的 Host:Channel:Target:Lun。
  • size(整数):设备的大小(以 GB 为单位)。
  • wwn(字符串):唯一的存储 ID。
  • wwn_with_extension(字符串):唯一存储 ID 附加厂商扩展名。
  • wwn_vendor_extension(字符串):唯一厂商存储标识符。
  • rotational(布尔值):旋转磁盘设备为 true (HDD),否则为 false (SSD)。
  • name(字符串):设备名称,例如:/dev/sdb1。
  • by_path (字符串):该设备的唯一 PCI 路径。如果您不想使用设备的 UUID,请使用此属性。
重要

仅对具有持久名称的设备使用 name 属性。不要使用 name 为任何其他设备设置根磁盘,因为此值在节点引导时可能会改变。

完成以下步骤以使用其序列号指定根设备。

步骤

  1. 从每个节点的硬件内省检查磁盘信息。运行以下命令以显示节点的磁盘信息:

    (undercloud) $ openstack baremetal introspection data save 1a4e30da-b6dc-499d-ba87-0bd8a3819bc0 | jq ".inventory.disks"
    Copy to Clipboard Toggle word wrap

    例如,一个节点的数据可能会显示 3 个磁盘:

    [
      {
        "size": 299439751168,
        "rotational": true,
        "vendor": "DELL",
        "name": "/dev/sda",
        "wwn_vendor_extension": "0x1ea4dcc412a9632b",
        "wwn_with_extension": "0x61866da04f3807001ea4dcc412a9632b",
        "model": "PERC H330 Mini",
        "wwn": "0x61866da04f380700",
        "serial": "61866da04f3807001ea4dcc412a9632b"
      }
      {
        "size": 299439751168,
        "rotational": true,
        "vendor": "DELL",
        "name": "/dev/sdb",
        "wwn_vendor_extension": "0x1ea4e13c12e36ad6",
        "wwn_with_extension": "0x61866da04f380d001ea4e13c12e36ad6",
        "model": "PERC H330 Mini",
        "wwn": "0x61866da04f380d00",
        "serial": "61866da04f380d001ea4e13c12e36ad6"
      }
      {
        "size": 299439751168,
        "rotational": true,
        "vendor": "DELL",
        "name": "/dev/sdc",
        "wwn_vendor_extension": "0x1ea4e31e121cfb45",
        "wwn_with_extension": "0x61866da04f37fc001ea4e31e121cfb45",
        "model": "PERC H330 Mini",
        "wwn": "0x61866da04f37fc00",
        "serial": "61866da04f37fc001ea4e31e121cfb45"
      }
    ]
    Copy to Clipboard Toggle word wrap
  2. 更改到节点定义的 root_device 参数。以下示例演示了如何将根设备设置为磁盘 2,它有 61866da04f380d001ea4e13c12e36ad6 作为序列号:

    (undercloud) $ openstack baremetal node set --property root_device='{"serial": "61866da04f380d001ea4e13c12e36ad6"}' 1a4e30da-b6dc-499d-ba87-0bd8a3819bc0
    Copy to Clipboard Toggle word wrap
    注意

    确保配置每个节点的 BIOS 以包括从您选择的根磁盘引导。将引导顺序配置为首先从网络引导,然后从根磁盘引导。

director 识别特定磁盘以用作根磁盘。运行 openstack overcloud deploy 命令时,director 置备 Overcloud 镜像并将其写入根磁盘。

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat