3.7. 为 OSD 配置 CRUSH 层次结构
您可以在 OSD 部署期间配置自定义 Controlled Replication Under Scalable Hashing (CRUSH)层次结构,将 OSD 位置
属性添加到 Ceph 存储集群 主机
规格中。location
属性配置 OSD 放置到 CRUSH 层次结构中的位置。
注意
location
属性仅设置初始 CRUSH 位置。属性的后续更改将被忽略。
流程
-
以
stack
用户身份登录 undercloud 节点。 查找
stackrc
undercloud 凭证文件:$ source ~/stackrc
-
创建配置文件以定义自定义 CRUSH 层次结构,如
crush_hierarchy.yaml
。 在文件中添加以下配置:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
将
<osd_host
> 替换为部署 OSD 的节点的主机名,如ceph-0
。 -
将
<rack_num
> 替换为部署 OSD 的机架数量,如r0
。
-
将
使用自定义 OSD 布局部署 Ceph 集群:
openstack overcloud ceph deploy \ deployed_metal.yaml \ -o deployed_ceph.yaml \ --osd-spec osd_spec.yaml \ --crush-hierarchy crush_hierarchy.yaml
openstack overcloud ceph deploy \ deployed_metal.yaml \ -o deployed_ceph.yaml \ --osd-spec osd_spec.yaml \ --crush-hierarchy crush_hierarchy.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
Ceph 集群是使用自定义 OSD 布局创建的。
上面的示例文件将导致以下 OSD 布局:
注意
设备类由 Ceph 自动检测,但 CRUSH 规则与池关联。在 overcloud 部署期间,仍然使用 CephCrushRules
参数定义并创建池。
其他资源
如需更多信息,请参阅 Red Hat Ceph Storage 安装指南中的 Red Hat Ceph Storage 工作负载注意事项。