1.2. 为超融合节点准备 overcloud 角色
要将节点指定为超融合角色,您需要定义一个超融合角色。Red Hat OpenStack Platform (RHOSP)为超融合节点提供预定义角色 ComputeHCI。此角色并置计算和 Ceph 对象存储守护进程(OSD)服务,允许您将它们一起部署到同一超融合节点上。
流程
-
以
stack用户的身份登录 undercloud。 Source
stackrc文件:source ~/stackrc
[stack@director ~]$ source ~/stackrcCopy to Clipboard Copied! Toggle word wrap Toggle overflow 生成包含
ComputeHCI角色的新自定义角色数据文件,以及您要用于 overcloud 的其他角色。以下示例生成角色数据文件roles_data_hci.yaml,其中包括角色Controller、ComputeHCI、Compute和CephStorage:openstack overcloud roles \ generate -o /home/stack/templates/roles_data_hci.yaml \ Controller ComputeHCI Compute CephStorage
(undercloud)$ openstack overcloud roles \ generate -o /home/stack/templates/roles_data_hci.yaml \ Controller ComputeHCI Compute CephStorageCopy to Clipboard Copied! Toggle word wrap Toggle overflow 注意在生成的自定义角色数据文件中为
ComputeHCI角色列出的网络包括 Compute 和 Storage 服务所需的网络,例如:Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
创建
network_data.yaml文件的本地副本,将可组合网络添加到 overcloud 中。network_data.yaml文件与默认网络环境文件/usr/share/openstack-tripleo-heat-templates/environments/*交互,将您为ComputeHCI角色定义的网络与超融合节点关联。有关更多信息,请参阅高级 Overcloud 自定义指南中的 添加可组合网络。 -
要提高 Red Hat Ceph Storage 的性能,请将
Storage和StorageMgmt网络的 MTU 设置更新为9000(用于巨型帧),位于network_data.yaml的本地副本中。如需更多信息,请参阅 Director 中配置 MTU 设置,并配置巨型帧。 为超融合节点创建
计算HCIovercloud 类别:openstack flavor create --id auto \ --ram <ram_size_mb> --disk <disk_size_gb> \ --vcpus <no_vcpus> computeHCI
(undercloud)$ openstack flavor create --id auto \ --ram <ram_size_mb> --disk <disk_size_gb> \ --vcpus <no_vcpus> computeHCICopy to Clipboard Copied! Toggle word wrap Toggle overflow -
将
<ram_size_mb> 替换为裸机节点的 RAM,以 MB 为单位。 -
将
<disk_size_gb> 替换为裸机节点中的磁盘大小(以 GB 为单位)。 -
将
<no_vcpus> 替换为裸机节点中的 CPU 数量。
注意这些属性不可用于调度实例。但是,计算调度程序使用磁盘大小来确定根分区大小。
-
将
检索节点列表来识别它们的 UUID:
openstack baremetal node list
(undercloud)$ openstack baremetal node listCopy to Clipboard Copied! Toggle word wrap Toggle overflow 使用自定义 HCI 资源对象标记您要指定为超融合的每个裸机节点:
openstack baremetal node set \ --resource-class baremetal.HCI <node>
(undercloud)$ openstack baremetal node set \ --resource-class baremetal.HCI <node>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将
<node> 替换为裸机节点的 ID。将
computeHCI类别与自定义 HCI 资源类型关联:openstack flavor set \ --property resources:CUSTOM_BAREMETAL_HCI=1 \ computeHCI
(undercloud)$ openstack flavor set \ --property resources:CUSTOM_BAREMETAL_HCI=1 \ computeHCICopy to Clipboard Copied! Toggle word wrap Toggle overflow 要确定与 Bare Metal 服务节点的资源类对应的自定义资源类的名称,请将资源类转换为大写,用下划线替换所有 punctuation,并使用
CUSTOM_前缀。注意类别只能请求一个裸机资源类实例。
设置以下类别属性,以防止计算调度程序使用裸机类别属性来调度实例:
openstack flavor set \ --property resources:VCPU=0 \ --property resources:MEMORY_MB=0 \ --property resources:DISK_GB=0 computeHCI
(undercloud)$ openstack flavor set \ --property resources:VCPU=0 \ --property resources:MEMORY_MB=0 \ --property resources:DISK_GB=0 computeHCICopy to Clipboard Copied! Toggle word wrap Toggle overflow 在
node-info.yaml文件中添加以下参数,以指定超融合和 Controller 节点的数量,以及用于超融合和控制器指定的节点的类别:parameter_defaults: OvercloudComputeHCIFlavor: computeHCI ComputeHCICount: 3 OvercloudControlFlavor: baremetal ControllerCount: 3
parameter_defaults: OvercloudComputeHCIFlavor: computeHCI ComputeHCICount: 3 OvercloudControlFlavor: baremetal ControllerCount: 3Copy to Clipboard Copied! Toggle word wrap Toggle overflow
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 为任何其他设备设置根磁盘,因为此值在节点引导时可能会改变。
完成以下步骤以使用其序列号指定根设备。
步骤
从每个节点的硬件内省检查磁盘信息。运行以下命令以显示节点的磁盘信息:
(undercloud) $ openstack baremetal introspection data save 1a4e30da-b6dc-499d-ba87-0bd8a3819bc0 | jq ".inventory.disks"
(undercloud) $ openstack baremetal introspection data save 1a4e30da-b6dc-499d-ba87-0bd8a3819bc0 | jq ".inventory.disks"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例如,一个节点的数据可能会显示 3 个磁盘:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 更改到节点定义的
root_device参数。以下示例演示了如何将根设备设置为磁盘 2,它有61866da04f380d001ea4e13c12e36ad6作为序列号:(undercloud) $ openstack baremetal node set --property root_device='{"serial": "61866da04f380d001ea4e13c12e36ad6"}' 1a4e30da-b6dc-499d-ba87-0bd8a3819bc0(undercloud) $ openstack baremetal node set --property root_device='{"serial": "61866da04f380d001ea4e13c12e36ad6"}' 1a4e30da-b6dc-499d-ba87-0bd8a3819bc0Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意确保配置每个节点的 BIOS 以包括从您选择的根磁盘引导。将引导顺序配置为首先从网络引导,然后从根磁盘引导。
director 识别特定磁盘以用作根磁盘。运行 openstack overcloud deploy 命令时,director 置备 Overcloud 镜像并将其写入根磁盘。