第 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>'
resource_registry: OS::TripleO::NodeUserData: /usr/share/openstack-tripleo-heat-templates/firstboot/userdata_root_password.yaml parameter_defaults: NodeRootPassword: '<password>'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 使用调度程序提示将硬件分配给角色
-
使用调度程序提示将硬件分配到角色,如
Controller
、Compute
、CephStorage
等。调度程序提示提供了更容易地识别影响特定硬件的部署问题。 - 使用调度程序提示时不要使用配置集标记。
- 在性能测试中,为特定角色使用相同的硬件,以减少测试和性能结果的差异。
- 有关更多信息,请参阅高级 Overcloud 自定义指南中的分配特定节点 ID。
-
使用调度程序提示将硬件分配到角色,如
- 将 World Wide Name (WWN)设置为每个节点的根磁盘提示,以防止节点在部署和引导过程中使用错误的磁盘
- 当节点包含多个磁盘时,使用内省数据将 WWN 设置为每个节点的根磁盘提示。这可防止节点在部署和引导过程中使用错误的磁盘。如需更多信息,请参阅 Director 安装和使用指南中的 为多磁盘集群定义根磁盘。
- 在有多个磁盘的节点上启用 Bare Metal 服务(ironic)自动清理
使用 Bare Metal 服务自动清理,在有多个磁盘的节点上清除元数据,并可能有多个引导装载程序。由于磁盘上存在多个引导装载程序,节点可能会与引导磁盘不一致,这会导致在尝试拉取使用错误 URL 的元数据时造成节点部署失败。
要在 undercloud 节点上启用 Bare Metal 服务自动清理,请编辑
undercloud.conf
文件并添加以下行:clean_nodes = true
clean_nodes = true
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 限制裸机(ironic)内省的节点数量
如果您同时在所有节点上执行内省,则可能会因为网络约束导致失败。一次在最多 50 个节点上执行内省。
确保
undercloud.conf
文件中的dhcp_start
和dhcp_end
范围足够大,供您期望在环境中具有的节点数量。如果可用 IP 不足,请不要超过范围的大小。这限制了同时内省操作的数量。要允许内省 DHCP 租期到期,请不要在内省完成后几分钟内发布更多 IP 地址。
- 为 Ceph 准备不同类型的配置
以下列表是不同类型的配置的一组建议:
all-flash OSD 配置
每个 OSD 根据设备类型的 IOPS 容量需要额外的 CPU,因此 Ceph IOPS 限制为较低数量的 OSD。对于 NVM SSD,这是 true,它比传统的 HDD 有两个顺序的 IOPS 容量。对于 SATA/SAS SSD,预期一个顺序的 magnitude 大于 HDD,但只有两个到连续 IOPS 增加的四倍。对于 OSD 设备,您可以提供比 Ceph 要求少的 CPU 资源。
Hyper Converged Infrastructure (HCI)
建议为 OpenStack Compute (nova)客户机至少保留一半的 CPU 容量、内存和网络。确保有足够的 CPU 容量和内存来支持 OpenStack Compute (nova)客户机和 Ceph 存储。观察内存消耗,因为 Ceph Storage 内存消耗没有弹性。在多 CPU 套接字系统上,将 NUMA 功能 Ceph 的 Ceph CPU 消耗限制为单个套接字。例如,使用
numactl -N 0 -p 0
命令。不要将 Ceph 内存消耗硬编码为 1 个插槽。对延迟敏感的应用程序,如 NFV
将 Ceph 放置到与 Ceph 使用和限制 CPU 套接字相同的 CPU 套接字上(如果可能),将网卡中断到该 CPU 套接字,并在不同的 NUMA 套接字和网卡上运行的网络应用。
如果使用双引导装载程序,请为 OSD map 使用 disk-by-path。这为用户提供一致的部署,这与使用设备名称不同。以下片段是用于 disk-by-path 映射的
CephAnsibleDisksConfig
示例。Copy to Clipboard Copied! Toggle word wrap Toggle overflow