搜索

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

download PDF

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

流程

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

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

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

    在生成的自定义角色数据文件中为 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
  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
    • <ram_size_mb> 替换为裸机节点的 RAM,以 MB 为单位。
    • <disk_size_gb> 替换为裸机节点中的磁盘大小(以 GB 为单位)。
    • <no_vcpus> 替换为裸机节点中的 CPU 数量。
    注意

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

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

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

    (undercloud)$ openstack baremetal node set \
     --resource-class baremetal.HCI <node>

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

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

    (undercloud)$ openstack flavor set \
    --property resources:CUSTOM_BAREMETAL_HCI=1 \
    computeHCI

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

    注意

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

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

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

    parameter_defaults:
      OvercloudComputeHCIFlavor: computeHCI
      ComputeHCICount: 3
      OvercloudControlFlavor: baremetal
      ControllerCount: 3

1.2.1. 为多磁盘集群定义根磁盘

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

使用此流程按序列号识别根设备。有关可以用来识别根磁盘的其他属性的更多信息,请参阅 第 1.2.1.1 节 “标识根磁盘的属性”

流程

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

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

    例如,一个节点的数据可能会显示 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"
      }
    ]
  2. 在 undercloud 上,为节点设置根磁盘。包括用于定义根磁盘的最合适的硬件属性值。

    (undercloud)$ openstack baremetal node set --property root_device='{"serial":"<serial_number>"}' <node-uuid>

    例如:要将根设备设定为磁盘 2,其序列号为 61866da04f380d001ea4e13c12e36ad6,输入以下命令:

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

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

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

1.2.1.1. 标识根磁盘的属性

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

  • model(字符串):设备识别码。
  • 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。
重要

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

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.