3.3. HCI 的 Ceph 配置覆盖
标准格式初始化文件是 Ceph 集群配置的一个选项。然后,此初始化文件用于使用 cephadm boottap --config <file_name&
gt; 或 openstack overcloud ceph deploy --config <file_name&
gt; 命令配置 Ceph 集群。
在超融合节点上并置 Ceph OSD 和计算服务会面临 Red Hat Ceph Storage 和 Compute 服务之间的资源争用风险。这是因为服务不知道 colocation。资源争用可能会导致服务降级,这可偏移超线程的优势。
可以使用初始化文件调优资源分配来管理资源争用。下面创建一个名为 initial-ceph.conf
的初始化文件,然后使用 openstack overcloud ceph deploy
命令配置 HCI 部署。
$ cat <<EOF > initial-ceph.conf [osd] osd_memory_target_autotune = true osd_numa_auto_affinity = true [mgr] mgr/cephadm/autotune_memory_target_ratio = 0.2 EOF $ openstack overcloud ceph deploy --config initial-ceph.conf
osd_memory_target_autotune
选项设为 true
,以便 OSD 守护进程根据 osd_memory_target
配置选项调整其内存消耗。autotune_memory_target_ratio
默认为 0.7
。这表示系统中 RAM 总量的 70% 是来自非自动tuned Ceph 守护进程所消耗的任何内存的起点。然后,剩余的内存被 OSD 划分,假设所有 OSD 都 osd_memory_target_autotune
设为 true
。对于 HCI 部署,将 mgr/cephadm/autotune_memory_target_ratio
设置为 0.2,以确保更多内存可用于 Compute 服务。0.2
值是一个繁琐的起点。部署后,如果需要,使用 ceph
命令更改此值。
两个 NUMA 节点系统可以在一个 NUMA 节点上托管延迟敏感的 Nova 工作负载,并在其他 NUMA 节点上托管 Ceph OSD 工作负载。要将 Ceph OSD 配置为使用不供计算工作负载使用的特定 NUMA 节点,请使用以下 Ceph OSD 配置之一:
-
osd_numa_node
将关联性设置为 numa 节点 -
osd_numa_auto_affinity
自动将关联性设置为存储和网络匹配的 NUMA 节点
如果 NUMA 节点和磁盘控制器上都有网络接口是 NUMA 节点 0,请将 NUMA 节点 0 上的网络接口用于存储网络,并在 NUMA 节点 0 上托管 Ceph OSD 工作负载。在 NUMA 节点 1 上托管 Nova 工作负载,并使其在 NUMA 节点 1 上使用网络接口。将 osd_numa_auto_affinity
设置为 true
来实现此配置。或者,osd_numa_node
可以直接设置为 0,
并且没有为 osd_numa_auto_affinity
设置值,使其默认为 false
。
当 OSD 离线导致超融合集群回填时,回填过程可能会减慢。在速度较慢的恢复过程中,回填活动对并置计算工作负载的影响较少。Red Hat Ceph Storage 有以下默认值来控制回填活动的速度:
-
osd_recovery_op_priority = 3
-
osd_max_backfills = 1
-
osd_recovery_max_active_hdd = 3
osd_recovery_max_active_ssd = 10
注意不需要在初始化文件中传递这些默认值,因为它们是默认值。如果 inital 配置需要默认值,请在部署前使用所需值将它们添加到初始化文件中。部署后,使用命令 'ceph config set osd'。