第 3 章 Red Hat OpenStack 部署最佳实践
在计划和准备部署 OpenStack 时,回顾以下最佳实践。您可以在自己的环境中应用这些实践中的一个或多个。
3.1. Red Hat OpenStack 部署准备 复制链接链接已复制到粘贴板!
在部署 Red Hat OpenStack Platform (RHOSP)前,请查看以下部署准备任务列表。您可以在自己的环境中应用一个或多个部署准备任务:
- 设置用于内省的子网范围,以容纳您要一次执行内省的最大 overcloud 节点
- 当使用 director 部署和配置 RHOSP 时,使用 control plane 网络的 CIDR 标记来容纳您现在或将来添加的所有 overcloud 节点。
- 设置 overcloud 镜像上的 root 密码,以允许控制台访问 overcloud 镜像
在网络设置错误时,使用控制台对失败的部署进行故障排除。如需更多信息,请参阅 合作伙伴集成指南中的 将 virt-customize 安装到 director 和设置 Root 密码。在实施此建议时,遵循您的机构的信息安全策略进行密码管理。
另外,您可以使用
userdata_root_password.yaml模板来使用NodeUserData参数配置 root 密码。您可以在/usr/share/openstack-tripleo-heat-templates/firstboot/userdata_root_password.yaml中找到模板。以下示例使用模板来配置
NodeUserData参数:resource_registry: OS::TripleO::NodeUserData: /usr/share/openstack-tripleo-heat-templates/firstboot/userdata_root_password.yaml parameter_defaults: NodeRootPassword: '<password>'- 使用调度程序提示为角色分配硬件
-
使用调度程序提示将硬件分配给角色,如
控制器、计算、CephStorage等。调度程序提示提供更方便地识别影响特定硬件的部署问题。 -
nova-scheduler(即单个进程)可在调度大量节点时覆盖它。当调度程序提示实施标签匹配时,调度程序提示会减少nova-scheduler的负载。因此,nova-scheduler在部署期间遇到较少的调度错误,在使用调度程序提示时部署需要较少的时间。 - 使用调度程序提示时不要使用配置集标记。
- 在性能测试中,为特定角色使用相同的硬件,以减少测试和性能结果的可变性。
- 有关更多信息,请参阅高级 Overcloud 自定义指南中的分配特定节点 ID。
-
使用调度程序提示将硬件分配给角色,如
- 将每个节点的全球名称(WWN)设置为每个节点的根磁盘提示,以防止节点在部署和引导过程中使用错误的磁盘
- 当节点包含多个磁盘时,请使用内省数据将 WWN 设置为每个节点的根磁盘提示。这可防止节点在部署和引导过程中使用错误的磁盘。如需更多信息,请参阅 Director 安装和使用指南中的 为多磁盘集群定义根磁盘。
- 在有多个磁盘的节点上启用自动清理裸机服务(ironic)
使用 Bare Metal 服务自动清理来清除具有多个磁盘的节点上的元数据,并可能有多个引导装载程序。因为磁盘上存在多个引导装载程序,节点可能会与引导磁盘不一致,这会导致在尝试拉取使用错误 URL 的元数据时节点部署失败。
要启用裸机服务自动清理,在 undercloud 节点上编辑
undercloud.conf文件并添加以下行:clean_nodes = true- 限制裸机(ironic)内省的节点数量
如果您同时在所有节点上执行内省,则可能会因为网络限制而出现故障。一次在最多 50 个节点上执行内省。
确保
undercloud.conf文件中的dhcp_start和dhcp_end范围足够大,适用于您在环境中具有的节点数量。如果可用 IP 不足,请不要发布超过该范围的大小。这限制了同时内省操作的数量。要允许内省 DHCP 租期过期,在内省完成后,请不要在几分钟后发出更多 IP 地址。
- 为不同类型的配置准备 Ceph
以下列表是不同类型的配置的一组建议:
all-flash OSD 配置
每个 OSD 根据设备类型的 IOPS 容量需要额外的 CPU,因此 Ceph IOPS 在较低 OSD 数量下限于 CPU。对于 NVM SSD,这可能是比传统 HDD 更高的 IOPS 容量的两个顺序。对于 SATA/SAS SSD,预计一个比 HDD 更大的随机 IOPS/OSD 顺序,但仅有大约 2 倍到顺序 IOPS 增加的四倍。对于 OSD 设备,您可以提供比 Ceph 要求少的 CPU 资源。
Hyper Converged Infrastructure (HCI)
建议为 OpenStack Compute (nova)客户机保留至少一半的 CPU 容量、内存和网络。确保您有足够的 CPU 容量和内存来支持 OpenStack Compute (nova)客户机和 Ceph Storage。观察内存消耗,因为 Ceph Storage 内存消耗没有弹性。在多 CPU 套接字系统上,将带有 NUMA 支持的 Ceph 的 Ceph CPU 消耗限制为单个套接字。例如,使用
numactl -N 0 -p 0命令。不要硬编码 Ceph 内存消耗到 1 个插槽。NFV 等对延迟敏感的应用程序
将 Ceph 放置到与 Ceph 使用网卡相同的 CPU 套接字上,并在可能的情况下将网卡中断限制到该 CPU 套接字(在不同的 NUMA 套接字和网卡上运行)。
如果使用双引导装载程序,请将 disk-by-path 用于 OSD map。这为用户提供一致的部署,这与使用设备名称不同。以下片段是 disk-by-path 映射的
CephAnsibleDisksConfig示例。CephAnsibleDisksConfig: osd_scenario: non-collocated devices: - /dev/disk/by-path/pci-0000:03:00.0-scsi-0:2:0:0 - /dev/disk/by-path/pci-0000:03:00.0-scsi-0:2:1:0 dedicated_devices: - /dev/nvme0n1 - /dev/nvme0n1 journal_size: 512