3.9. 为 OSD 配置 CRUSH 层次结构
您可以在 OSD 部署期间配置自定义受控复制(CRUSH)层次结构,将 OSD location
属性添加到 Ceph Storage 集群主机
规格中。location
属性配置 OSD 放置到 CRUSH 层次结构中的位置。
注意
location
属性仅设置初始 CRUSH 位置。属性的后续更改将被忽略。
流程
-
以
stack
用户身份登录 undercloud 节点。 查找
stackrc
undercloud 凭证文件:$ source ~/stackrc
-
创建配置文件以定义自定义 CRUSH 层次结构,如
crush_hierarchy.yaml
。 在文件中添加以下配置:
<osd_host>: root: default rack: <rack_num> <osd_host>: root: default rack: <rack_num> <osd_host>: root: default rack: <rack_num>
-
将
<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
Ceph 集群是使用自定义 OSD 布局创建的。
上面的示例文件将导致以下 OSD 布局。
ID CLASS WEIGHT TYPE NAME STATUS REWEIGHT PRI-AFF -1 0.02939 root default -3 0.00980 rack r0 -2 0.00980 host ceph-node-00 0 hdd 0.00980 osd.0 up 1.00000 1.00000 -5 0.00980 rack r1 -4 0.00980 host ceph-node-01 1 hdd 0.00980 osd.1 up 1.00000 1.00000 -7 0.00980 rack r2 -6 0.00980 host ceph-node-02 2 hdd 0.00980 osd.2 up 1.00000 1.00000
注意
Ceph 自动检测设备类,但 CRUSH 规则与池相关联。在 overcloud 部署期间,仍然使用 CephCrushRules
参数定义和创建池。
其他资源
如需更多信息,请参阅 Red Hat Ceph Storage 安装指南中的 Red Hat Ceph Storage 工作负载注意事项。